Nicholas Wiersma
151a856bf2
fix: composite literal child types for call expressions
2020-06-03 09:44:03 +02:00
Nicholas Wiersma
01e4cdea70
fix: recursive struct function call
2020-06-03 00:18:04 +02:00
Nicholas Wiersma
3c88542180
fix: handle empty interface conversion
2020-05-29 13:58:04 +02:00
Marc Vertes
4a068ea452
fix: hande empty clause in switch if statement ( #635 )
...
The CFG was wrong in presence of an empty last clause.
Fixes #634 .
2020-05-20 21:57:24 +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
4f39eaf893
fix: correct iterator in map range on binary values ( #644 )
...
* fix: correct iterator in map range on binary values
The map range iterator was not initialized correctly for values
originating from runtime.
Fixes #641 .
* test: deterministic output for map28.go
2020-05-20 21:37:48 +02:00
Marc Vertes
4f8e1de267
fix: check the number of argument passed and returned to functions
2020-05-19 14:56:04 +02:00
Marc Vertes
6f4643ff19
fix: compute numeral constant on typed objects
2020-05-19 14:38:03 +02:00
Marc Vertes
cdf4622421
fix: assign an element in a map from runtime
2020-05-05 22:46:04 +02:00
Marc Vertes
b9720d15e1
fix: improve setting results in multiple output functions
2020-05-05 22:34:03 +02:00
Marc Vertes
7070367d21
fix: handle constant declarations inside function scopes
2020-05-03 18:56:04 +02:00
Marc Vertes
ff36ec58b1
fix: improve switch and type switch statement processing
2020-05-03 18:20:04 +02:00
Marc Vertes
f6c8b8b14f
fix: check that a function returns the correct number of values
2020-05-03 18:08:03 +02:00
Marc Vertes
7d56fb067e
fix: improve setting of interface objects
2020-04-30 17:44:04 +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
3ed4ec3f6f
fix: correct type assertion for bin func types ( #588 )
2020-04-20 23:01:01 +02:00
Marc Vertes
94d44e7265
fix: do not convert literal float to int at parse
2020-04-17 17:54:03 +02:00
Marc Vertes
56925e6fea
fix: correct branch control flow graph for parenthesis expressions ( #583 )
2020-04-17 14:40:56 +02:00
Marc Vertes
50a34fd2a7
fix: correct control flow graph for select blocks
2020-04-15 12:24:04 +02:00
Marc Vertes
e78650d359
fix: correct branch action in parenthesis expression
2020-03-26 12:10:04 +01:00
Marc Vertes
ebde09b47d
fix: correct control flow graph for switch statement
2020-03-25 12:40:04 +01:00
Marc Vertes
4995654e04
fix: correct control flow graph for constant conditional statements
2020-03-25 12:18:05 +01:00
Marc Vertes
ca68c6cd95
fix: resolve embedded method on pointer types
2020-03-17 18:14:04 +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
6e33f89146
fix: correct control flow graph for some switch statements
2020-03-09 18:20: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
27520f6dae
fix: re-apply GTA until all global types/constants are defined
2020-02-20 12:44:04 +01:00
Marc Vertes
681f2f9c40
fix: correctly handle constant init for further type declarations
2020-02-12 12:32:03 +01:00
Marc Vertes
05960316f8
fix: correct type inference in composite literal init
2020-02-11 10:10: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
23dfef0ac8
fix: define a correct zero value for an not initialized interface{}
2020-02-04 18:04:05 +01:00
Marc Vertes
e434892b9a
fix: import different source packages with same base name
2020-02-03 17:22:04 +01:00
Marc Vertes
137b16580c
fix: handle binary methods where receiver is implicit
2020-02-03 16:54:04 +01:00
Marc Vertes
5381ee65d1
fix: continue statement was not applied correctly
2020-01-10 17:50:05 +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
3cd37645eb
fix: correct isValueUntyped() to handle typed constants
2019-12-19 15:38:05 +01:00
Marc Vertes
e1ac83f7d8
fix: correct type extraction for returned value
2019-12-17 10:18:06 +01:00
Marc Vertes
7a0c09f5eb
fix: detect untyped values when importing from binary packages
2019-12-13 11:18:04 +01:00
Marc Vertes
275391c1e8
fix: struct type detection, collision between field and type name
2019-12-12 14:40:05 +01:00
Marc Vertes
273df8af9f
fix: improve interface type checks using method sets
2019-12-11 14:46:06 +01:00
Marc Vertes
0d2c39d155
fix: implicit import package name was not correctly generated
2019-12-11 11:54:05 +01:00
Marc Vertes
1ff1a50753
fix: add method checks for interface types
2019-12-09 18:24:04 +01:00