mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-24 19:30:34 +00:00
Merge pull request #3220 from nspcc-dev/stable-func-debug-data
compiler: walk over functions in reproducible order, fix #3219
This commit is contained in:
commit
7362fd94e6
1 changed files with 7 additions and 6 deletions
|
@ -203,18 +203,19 @@ func (c *codegen) emitDebugInfo(contract []byte) *DebugInfo {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
start := len(d.Methods)
|
var fnames = make([]string, 0, len(c.funcs))
|
||||||
d.NamedTypes = make(map[string]binding.ExtendedType)
|
|
||||||
for name, scope := range c.funcs {
|
for name, scope := range c.funcs {
|
||||||
if scope.rng.Start == scope.rng.End {
|
if scope.rng.Start == scope.rng.End {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
m := c.methodInfoFromScope(name, scope, d.NamedTypes)
|
fnames = append(fnames, name)
|
||||||
|
}
|
||||||
|
sort.Strings(fnames)
|
||||||
|
d.NamedTypes = make(map[string]binding.ExtendedType)
|
||||||
|
for _, name := range fnames {
|
||||||
|
m := c.methodInfoFromScope(name, c.funcs[name], d.NamedTypes)
|
||||||
d.Methods = append(d.Methods, *m)
|
d.Methods = append(d.Methods, *m)
|
||||||
}
|
}
|
||||||
sort.Slice(d.Methods[start:], func(i, j int) bool {
|
|
||||||
return d.Methods[start+i].Name.Name < d.Methods[start+j].Name.Name
|
|
||||||
})
|
|
||||||
d.EmittedEvents = c.emittedEvents
|
d.EmittedEvents = c.emittedEvents
|
||||||
d.InvokedContracts = c.invokedContracts
|
d.InvokedContracts = c.invokedContracts
|
||||||
return d
|
return d
|
||||||
|
|
Loading…
Reference in a new issue