neoneo-go/pkg/compiler
Anna Shaleva 80f71a4e6e compiler: do not enforce variadic event args check on ellipsis usage
In case of ellipsis usage compiler defines argument type as ArrayT
(which is correct, because it's a natural representation of the last
argument, it represents the array of interface{}).
Here goes the problem:
```
=== RUN   TestEventWarnings/variadic_event_args_via_ellipsis
    compiler_test.go:251:
        	Error Trace:	compiler_test.go:251
        	Error:      	Received unexpected error:
        	            	event 'Event' should have 'Integer' as type of 1 parameter, got: Array
        	Test:       	TestEventWarnings/variadic_event_args_via_ellipsis
```

Parsing the last argument in this case is a separate complicated problem
due to the fact that we need to grab types of elements of []interface{} inside the
fully qualified ast node which may looks like:
```
runtime.Notify("Event", (append([]interface{}{1, 2}, (([]interface{}{someVar, 4}))...))...)
```

Temporary solution is to exclude such notifications from analysis until we're
able to properly resolve element types of []interface{}.
2022-09-30 08:42:48 +03:00
..
testdata compiler: add test for foreign function inlining 2022-09-27 15:36:06 +03:00
analysis.go interop: add Hash160 encoder\decoder helper 2022-09-20 09:37:04 +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: consider inlined types info on "append" handling 2022-09-27 15:32:51 +03:00
codegen_test.go compiler: allow to use += on strings 2020-08-24 09:44:44 +03:00
compiler.go compiler: do not check Any event parameter for compliance 2022-09-30 08:40:55 +03:00
compiler_test.go compiler: do not enforce variadic event args check on ellipsis usage 2022-09-30 08:42:48 +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: add test for #2661 2022-09-01 13:39:22 +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 compiler: do not enforce variadic event args check on ellipsis usage 2022-09-30 08:42:48 +03:00
inline_test.go compiler: add test for foreign function inlining 2022-09-27 15:36:06 +03:00
interop_test.go interop: add CallWithVersion helper 2022-09-21 17:38:42 +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 interop: add Hash160 encoder\decoder helper 2022-09-20 09:37:04 +03:00