mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-05-03 11:41:48 +00:00
compiler: rename named unused global vars to "_"
So that (*codegen).Visit is able to omit code generation for these unused global vars. The most tricky part is to detect unused global variables, it is done in several steps: 1. Collect the set of named used/unused global vars. 2. Collect the set of globally declared expressions that contain function calls. 3. Pick up global vars from the set made at step 2. 4. Traverse used functions and puck up those global vars that are used from these functions. 5. Rename all globals that are presented in the set made at step 1 but are not presented in the set made on step 3 or step 4.
This commit is contained in:
parent
1e6b70d570
commit
800321db06
10 changed files with 903 additions and 22 deletions
2
pkg/compiler/testdata/foo/foo.go
vendored
2
pkg/compiler/testdata/foo/foo.go
vendored
|
@ -5,7 +5,7 @@ func NewBar() int {
|
|||
return 10
|
||||
}
|
||||
|
||||
// Dummy is dummy constant.
|
||||
// Dummy is dummy variable.
|
||||
var Dummy = 1
|
||||
|
||||
// Foo is a type.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue