compiler: use fully-qualified names for tracking functions

Function name now consists of 3 parts:
1) full package path
2) method receiver type (if any)
3) function name itself .

Fix #1150.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgenii Stratonikov 2020-07-29 17:20:00 +03:00
parent 528c184f00
commit a781d299e0
8 changed files with 87 additions and 15 deletions

View file

@ -4,3 +4,16 @@ package foo
func NewBar() int {
return 10
}
// Foo is a type.
type Foo struct{}
// Bar is a function.
func Bar() int {
return 1
}
// Bar is a method.
func (f Foo) Bar() int {
return 8
}