Thanks, I'll go ahead and prepare a small sample project that shows exactly what I'm trying to do and then I'll post back.
Regards, Diego On Monday, April 17, 2017 at 5:59:25 PM UTC-4, mhh...@gmail.com wrote: > > Hi, > > no problem. > > I think you are looking to load multiple package at once, something that d > load import declaration as well, > > https://godoc.org/golang.org/x/tools/go/loader#Config.FromArgs > > https://godoc.org/golang.org/x/tools/go/loader#Config.Import > > https://play.golang.org/p/TzbncKLd7b > > I think we can help better if you can uncover, > > - "expected package a but found b for file xyz.go" > - "For now, the information I'm looking for is the Decl value, " > > Must be a simple difficulty to fix. > > On Monday, April 17, 2017 at 8:29:22 PM UTC+2, Diego Medina wrote: >> >> Sorry, I didn't include enough information, you are right, this is more >> about the type checker, >> >> I have a call to >> >> conf.Check(pkg.path, fset, astFiles, &info) >> >> that does the typecheck gets the astFiles from the given package (a in >> this example) , but I didn't find a way to pass multiple packages to >> conf.Check >> >> If I mix files from diff packages in astFiles, I get an error from the >> type checker saying something like, expected package a but found b for file >> xyz.go >> >> >> conf is: >> >> conf := &types.Config{ >> Error: func(e error) { >> fmt.Println("failed to typecheck: ", e) >> os.Exit(1) >> }, >> Importer: importer.Default(), >> } >> >> >> Thanks >> >> >> On Monday, April 17, 2017 at 12:55:52 PM UTC-4, mhh...@gmail.com wrote: >>> >>> Can you clarify your expectation about ast ? >>> >>> in my very humble understanding, Obj is for type checker more than ast. >>> I re call when i worked with it, i had to hide it when i wanted to >>> visualize the tree >>> I even created a gist, >>> https://gist.github.com/mh-cbon/3ed5d9c39e9635cfed0f896000098133 >>> to use in place of https://golang.org/pkg/go/ast/#example_Print >>> >>> On Monday, April 17, 2017 at 3:45:23 PM UTC+2, Diego Medina wrote: >>>> >>>> Hi, >>>> >>>> I'm using go/ast (and token/types. etc) to parse a Go project, it all >>>> works well when my program only has one package, but there are times where >>>> I have code like this: >>>> >>>> file-a.go >>>> ========= >>>> package a >>>> >>>> ... >>>> >>>> selector := b.Selector(CompanyID) >>>> >>>> ... >>>> ======== >>>> >>>> and then >>>> >>>> file-b.go >>>> ======== >>>> package b >>>> >>>> .... >>>> >>>> func Selector(n string) string{ >>>> ... >>>> } >>>> ======== >>>> >>>> Simple, in package a I call a function from package b, the issue is >>>> that when I'm walking the ast for pacakge a, I reach selector as an >>>> *ast.Ident and then I check >>>> >>>> the .Obj value and it is nil. >>>> >>>> Is there a way to "fill in" this information? >>>> For now, the information I'm looking for is the Decl value, >>>> >>>> >>>> I tried using golang.org/x/tools/go/loader to solve this but it has >>>> the same issue, it doesn't "fill in" the missing information, it does give >>>> me a different way to access the declaration, but it also does a lot more >>>> work that I don't need and makes my too run slower. >>>> >>>> Hope I was clear. >>>> >>>> Thanks >>>> >>>> Diego >>>> >>>> >>>> -- 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.