Nicholas Wiersma
eb25c84797
fix: handle call ellipsis
2020-06-03 16:42:04 +02:00
Nicholas Wiersma
d5217f7db4
fix: handle nil interface conversion
2020-06-03 00:32:04 +02:00
Nicholas Wiersma
01e4cdea70
fix: recursive struct function call
2020-06-03 00:18:04 +02:00
Nicholas Wiersma
56d88ef89d
fix: nil recover case
2020-05-29 13:28:03 +02:00
Nicholas Wiersma
5d78c8ae27
fix: compose recursion
2020-05-28 08:52:03 +02:00
Marc Vertes
8605c238ef
fix: use interface wrappers to expose interface values to runtime ( #643 )
...
* fix: use interface wrappers to expose interface values to runtime
If a value is assigned to, or returned as, a binary interface,
then use the interface wrapper generator to convert the value
accordingly.
Fixes #630 .
* test: rename NewFoo in Foo
* test: rename NewFoo in Foo
* fix: improve branch flow to reduce indentation
2020-05-20 21:46:14 +02:00
Marc Vertes
b9720d15e1
fix: improve setting results in multiple output functions
2020-05-05 22:34:03 +02:00
Marc Vertes
7fab75fbe4
fix: correct assign from function returning an interface value ( #625 )
2020-05-05 13:54:36 +02:00
Marc Vertes
22dfc8b10a
fix: handle set of variadic arg list for a ... value
2020-05-03 18:44:04 +02:00
Marc Vertes
7fba3fe580
fix: improve generation of interface wrapper
2020-05-03 18:32:04 +02:00
Marc Vertes
ff36ec58b1
fix: improve switch and type switch statement processing
2020-05-03 18:20:04 +02:00
Marc Vertes
e12c8b72c4
fix: store the result of a bin function call in frame
2020-05-03 17:56:04 +02:00
Marc Vertes
e4acba031d
fix: improving handling of functions returning interfaces
2020-05-03 17:46:03 +02:00
Marc Vertes
1feece61ce
fix: improve handling of function return values
2020-04-30 10:32:04 +02:00
Marc Vertes
01e2e4600e
fix: handle default comm clause in select
2020-04-25 17:40:08 +02:00
Marc Vertes
92eebbade2
fix: handle function output value assigned to interface var
2020-04-25 17:28:04 +02:00
Marc Vertes
7b2d91bcb5
fix: handling values in map of interfaces
2020-04-22 10:34:05 +02:00
Marc Vertes
5e142fdedd
fix: do not attempt to copy data in empty frame at func call
2020-04-18 18:36:04 +02:00
Marc Vertes
c580dfdbc8
fix: correct handling of interface types in composite literals
2020-04-16 19:54:03 +02:00
Marc Vertes
29e1777d82
fix: assign composite literal by reference
2020-04-16 12:24:04 +02:00
Marc Vertes
50a34fd2a7
fix: correct control flow graph for select blocks
2020-04-15 12:24:04 +02:00
Marc Vertes
12942b59a0
fix: remove ambiguities in recursive type processing
2020-04-09 01:14:03 +02:00
Marc Vertes
3e76267f8e
fix: method search on struct pointer in interface wrapper
2020-04-07 17:22:04 +02:00
Marc Vertes
b20ad3a01d
fix: checks that value implements a binary type in type assert
2020-04-03 04:02:04 +02:00
Marc Vertes
7327ff2811
fix: correct comparison of interface type to nil
2020-03-25 13:56:05 +01:00
Marc Vertes
0a99eb48c3
fix: do not pass twice the receiver in deferred method calls
2020-03-23 13:40:03 +01:00
Marc Vertes
daaeac6e2c
fix: convert literal nil to interface types
2020-03-18 10:34:05 +01:00
Marc Vertes
953b122e67
fix: avoid infinite recursion in genFunctionWrapper()
2020-03-17 18:02:05 +01:00
Marc Vertes
9b07e73b5e
fix: resolve receiver for binary methods on non interface types
2020-03-12 14:42:04 +01:00
Marc Vertes
78bbcda1f8
fix: do not overwrite input for assign operators
2020-03-12 12:24:04 +01:00
Marc Vertes
c7c1bea7ef
fix: do not attempt to store data in _ var
2020-03-09 13:22:04 +01:00
Marc Vertes
1ae2649655
fix: correct control flow graph for defer statements
2020-03-09 10:52:05 +01:00
Traefiker Bot
0ace9244c4
fix: correctly init variables from index expressions
2020-03-05 14:28:06 +01:00
Traefiker Bot
2edd18a0c0
fix: handle use of functions in struct fields
2020-03-05 13:40:05 +01:00
Marc Vertes
cfb73445a2
fix: handle interface values in map and arrays
2020-03-03 18:32:04 +01:00
Marc Vertes
7037424edf
fix: correctly store boolean result for branching operations
2020-02-14 16:26:04 +01:00
Marc Vertes
1b971b539c
fix: correctly handle arbitrary type of literal array index
2020-02-12 15:06:04 +01:00
Marc Vertes
812e55b95e
fix: handle conversion of nil to an interface type
2020-02-09 05:04:04 +01:00
Marc Vertes
712891dd77
fix: allow reuse of _ symbol in the same scope
2020-02-03 17:08:05 +01:00
Marc Vertes
137b16580c
fix: handle binary methods where receiver is implicit
2020-02-03 16:54:04 +01:00
Marc Vertes
f1cde2be0f
fix: apply automatic type conversion to constant expressions ( #484 )
2020-01-09 18:01:44 +01:00
Marc Vertes
9a8a88dcb9
fix: use branch operation in || and && operators, fix storage for ! ( #476 )
2020-01-07 17:27:22 +01:00
Marc Vertes
878fcc835c
fix: add support for ^ and + as unary operators
2020-01-07 15:34:05 +01:00
Marc Vertes
a1f2d3bf1d
fix: isNil was not forwarding result when used in a branch expression
2019-12-19 18:32:04 +01:00
Marc Vertes
4f93be7f19
fix: emulate struct by interface{} only for recursive struct types
2019-12-16 19:00:07 +01:00
Marc Vertes
1ff1a50753
fix: add method checks for interface types
2019-12-09 18:24:04 +01:00
Marc Vertes
786ea366ab
fix: handle nil function closure
2019-11-25 23:36:03 +01:00
Marc Vertes
e506969172
fix: correct handling of dynamic type for interface values
2019-11-25 23:20:04 +01:00
Marc Vertes
9f1f31210a
fix: automatic type conversion when returning untyped value
2019-11-19 15:22:05 +01:00
Marc Vertes
08a37fc4bf
fix: handle type assertion from literal interface type
2019-11-19 14:50:06 +01:00