compiler: set type information during traversal, fix #2231

Set all necessary context before file traversal, not only import
maps. Also, we can skip restoring import maps because all our code is
processed via `For*` iterators which set necessary context.
We can also refactor this a bit to have all context in one place,
this will be done in #2086.

Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgeniy Stratonikov 2021-10-25 10:52:15 +03:00
parent eea728b986
commit 8a0429036b
3 changed files with 32 additions and 2 deletions

View file

@ -28,3 +28,16 @@ func y() int {
tmp := 10
return tmp
}
// Token is stateless token.
type Token struct{}
// Method is a method.
func (t Token) Method() int {
return t.Inner()
}
// Inner is a function to be called in Method.
func (t Token) Inner() int {
return 2231
}