neo-go/pkg/compiler
Evgeniy Stratonikov 0bc81aecf4 compiler: do not emit code for unused imported functions
Our current algorithm marks function as used if it is called
at least ones, even if the callee function is itself unused.
This commit implements more clever traversal to collect usage
information more precisely.

Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
2021-10-13 15:56:07 +03:00
..
testdata compiler: do not emit code for unused imported functions 2021-10-13 15:56:07 +03:00
analysis.go compiler: do not emit code for unused imported functions 2021-10-13 15:56:07 +03:00
assign_test.go stackitem: completely drop MaxArraySize 2021-07-19 15:42:42 +03:00
binary_expr_test.go *: remove redundant return statements 2021-05-12 18:24:16 +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: use parameter directly in writeJumps 2021-08-13 11:59:04 +03:00
codegen_test.go compiler: allow to use += on strings 2020-08-24 09:44:44 +03:00
compiler.go compiler: check that safe methods exist 2021-10-06 15:18:58 +03:00
compiler_test.go compiler: do not emit code for unused imported functions 2021-10-13 15:56:07 +03:00
constant_test.go compiler/interop: replace int64 with int 2021-03-04 13:20:43 +03:00
convert_test.go compiler/interop: improve conversion to bytes interops 2021-03-10 13:38:44 +03:00
debug.go compiler: check for contract permissions 2021-06-28 11:49:29 +03:00
debug_test.go cli,compiler: allow to specify manifest permissions 2021-06-04 11:16:22 +03:00
defer_test.go compiler: count local variables on the go 2021-05-19 11:50:07 +03:00
doc.go *: add more package-specific documentation 2021-03-19 16:18:45 +03:00
for_test.go vm/emit: emit Boolean values correctly 2021-03-09 13:34:22 +03:00
func_scope.go compiler: count local variables on the go 2021-05-19 11:50:07 +03:00
function_call_test.go compiler: do not emit code for unused imported functions 2021-10-13 15:56:07 +03:00
global_test.go compiler: fix global constant traversal 2020-12-10 13:45:10 +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: allow to use local variables in init() 2020-10-06 19:08:32 +03:00
inline.go compiler: extend permission check to runtime hashes 2021-06-28 11:49:30 +03:00
inline_test.go compiler: inline expressions with type conversions, fix #1879 2021-06-04 11:08:00 +03:00
interop_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
jumps_test.go compiler: process last instructin in writeJumps 2020-08-21 09:43:05 +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 native: drop Refuel method from GAS 2021-08-05 10:27:13 +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: do not DROP return value with type assertion 2020-10-13 19:14:44 +03:00
slice_test.go compiler: support ellipsis for append of non-byte slices 2021-02-17 17:14:32 +03:00
struct_test.go compiler: process literals in analyzeVoidCalls 2020-09-25 15:34:49 +03:00
switch_test.go compiler: fix a bug with type conversion in switch 2020-09-02 14:48:19 +03:00
syscall_test.go interop: implement System.Runtime.GetRandom 2021-07-15 16:00:01 +03:00
type_test.go compiler: support non-struct methods 2020-05-19 16:40:26 +03:00
types.go compiler: support basic inlining 2021-02-15 18:48:33 +03:00
vars.go compiler: allow to use multiple underscores in func arguments 2021-10-09 13:23:11 +03:00
verify_test.go core: rename Neo.Crypto.CheckSig interop 2021-05-11 18:37:55 +03:00
vm_test.go compiler/test: check Main locals in inline tests 2021-06-04 11:06:09 +03:00