On Saturday, 13 August 2016 21:58:37 UTC+1, Paul Jolly wrote:
>
> Am I missing something obvious here?
>

Please excuse the reply to self, but I have discovered what I was missing.

For the sake of completeness, here is how the equivalent mapping is 
achieved in golang.org/x/tools/go/loader world:

import (
"go/ast"
"go/parser"
"golang.org/x/tools/go/loader"
)


conf := loader.Config{
ParserMode: parser.AllErrors | parser.ParseComments,
Cwd:        path,
}

...

conf.CreateFromFilenames(path, toParse...)

prog, err := conf.Load()
if err != nil {
panic(err)
}

At this point conf.CreatePkgs (type []loader.PkgSpec) and prog.Created 
(type []*loader.PackageInfo) correspond to each other.

For each (loader.PkgSpec, *loader.PackageInfo) pairing, say pkgSpec and 
pkgInfo, then pkgSpec.Filenames (type []string) and pkgInfo (type 
[]*ast.File) again correspond, which gives us the required mapping.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to