neoneo-go/pkg/compiler
Anna Shaleva 800321db06 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.
2022-09-01 13:39:19 +03:00
..
testdata compiler: rename named unused global vars to "_" 2022-09-01 13:39:19 +03:00
analysis.go compiler: rename named unused global vars to "_" 2022-09-01 13:39:19 +03:00
assign_test.go compiler: group small tests in a single file 2022-03-04 17:55:33 +03:00
binary_expr_test.go compiler: group small tests in a single file 2022-03-04 17:55:33 +03:00
byte_conversion_test.go compiler: allow to convert string constants to []byte 2020-01-27 15:29:52 +03:00
codegen.go compiler: rename named unused global vars to "_" 2022-09-01 13:39:19 +03:00
codegen_test.go compiler: allow to use += on strings 2020-08-24 09:44:44 +03:00
compiler.go compiler: always ensure manifest passes base check 2022-08-02 17:37:43 +03:00
compiler_test.go compiler: restrict return values count for manifest methods 2022-08-17 15:42:56 +03:00
constant_test.go compiler/interop: replace int64 with int 2021-03-04 13:20:43 +03:00
convert_test.go compiler: make interface{}() conversions possible 2022-07-07 15:10:29 +03:00
debug.go [#2442] English Check 2022-05-04 19:48:27 +03:00
debug_test.go compiler: emit bindings configuration 2022-02-28 15:36:14 +03:00
defer_test.go compiler: properly process defer in conditional statements 2022-02-04 11:04:03 +03:00
doc.go *: add more package-specific documentation 2021-03-19 16:18:45 +03:00
for_test.go compiler: group small tests in a single file 2022-03-04 17:55:33 +03:00
func_scope.go compiler: allow to call methods on return values 2022-07-11 19:28:15 +03:00
function_call_test.go compiler: fix nil method receiver handling 2022-08-17 17:44:57 +03:00
global_test.go compiler: rename named unused global vars to "_" 2022-09-01 13:39:19 +03:00
if_test.go compiler: do not DROP unary expression value inside IF stmt 2020-10-13 19:14:44 +03:00
import_test.go vm/emit: emit Boolean values correctly 2021-03-09 13:34:22 +03:00
init_test.go compiler: do not emit code for unnamed unused variables 2022-09-01 09:18:56 +03:00
inline.go *: apply go 1.19 formatter heuristics 2022-08-09 15:37:52 +03:00
inline_test.go compiler: rename named unused global vars to "_" 2022-09-01 13:39:19 +03:00
interop_test.go interop: wrap contract.LoadToken in context.LoadToken 2022-06-06 21:53:03 +03:00
jumps_test.go compiler: reduce instructions in 2 stages 2022-07-12 13:16:33 +03:00
lambda_test.go compiler: support calling function literals 2020-08-27 10:28:50 +03:00
limit_test.go compiler: emit integers correctly 2020-01-28 16:39:19 +03:00
map_test.go compiler: support delete() builtin 2020-09-06 15:49:41 +03:00
native_test.go Revert "native/interop: revert management.hasMethod()" 2022-07-28 17:00:34 +03:00
nilcheck_test.go compiler: support nil checks 2020-06-24 10:43:58 +03:00
numeric_test.go compiler: move tests from vm/tests 2019-12-23 17:05:34 +03:00
panic_test.go compiler: do not log panic message 2020-08-27 10:28:50 +03:00
pointer_test.go compiler: copy structs when passing as arguments 2020-08-05 13:14:38 +03:00
return_test.go compiler: restrict return values count for manifest methods 2022-08-17 15:42:56 +03:00
slice_test.go compiler: group small tests in a single file 2022-03-04 17:55:33 +03:00
struct_test.go compiler: group small tests in a single file 2022-03-04 17:55:33 +03:00
switch_test.go compiler: group small tests in a single file 2022-03-04 17:55:33 +03:00
syscall_test.go compiler: do not emit code for unnamed unused variables 2022-09-01 09:18:56 +03:00
type_test.go compiler: support non-struct methods 2020-05-19 16:40:26 +03:00
types.go compiler: update x/tools package 2022-01-20 13:21:26 +03:00
vardecl_test.go compiler: do not emit code for unnamed unused variables 2022-09-01 09:18:56 +03:00
vars.go compiler: allow to use multiple underscores in func arguments 2021-10-09 13:23:11 +03:00
verify_test.go compiler: do not emit code for unnamed unused variables 2022-09-01 09:18:56 +03:00
vm_test.go compiler: do not emit code for unnamed unused variables 2022-09-01 09:18:56 +03:00