Julien Levesy
c11d361953
Handle Receive and Send channels
2020-06-23 09:04:04 +02:00
Nicholas Wiersma
e00b853971
fix: make reftype func variadic
2020-06-22 13:38:04 +02:00
mpl
7cfa264dbc
interp: force root scope for binPkgT selector
2020-06-22 13:24:03 +02:00
Ludovic Fernandez
a6c24a0d13
chore: update linter. ( #706 )
...
* chore: update linter.
* chore: remove not needed travis env var.
2020-06-22 12:55:42 +02:00
mpl
7323d97023
interp: global scope redeclaration detection
2020-06-18 15:08:04 +02:00
Nicholas Wiersma
1fe91be882
feature: refactor numeric constants and detect overflow
2020-06-18 09:20:04 +02:00
Marc Vertes
c1f5005b2a
fix: finish support of type assertions which was incomplete ( #657 )
...
* fix: finish support of type assertions which was incomplete
TypeAssert was optimistically returning ok without verifying that
value could be converted to the required interface (in case of
type assert of an interface type), or not checking the type in
all conditions. There is now a working implements method for itype.
Fixes #640 .
* style: appease lint
* fix: remove useless code block
* doc: improve comments
* avoid test conflict
2020-06-10 11:21:16 +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
cdf4622421
fix: assign an element in a map from runtime
2020-05-05 22:46: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
e4acba031d
fix: improving handling of functions returning interfaces
2020-05-03 17:46:03 +02:00
Marc Vertes
7d56fb067e
fix: improve setting of interface objects
2020-04-30 17:44:04 +02:00
Marc Vertes
a6389aca5e
fix: improve handling of nil
2020-04-25 17:16:03 +02:00
Marc Vertes
de8cb7dc3b
fix: handle type conversion from pre-compiled types.
2020-04-23 19:20:04 +02:00
Marc Vertes
18b843646c
fix: parsing of recursive interface types
2020-04-22 19:26:05 +02:00
Marc Vertes
c580dfdbc8
fix: correct handling of interface types in composite literals
2020-04-16 19:54:03 +02:00
Marc Vertes
50a34fd2a7
fix: correct control flow graph for select blocks
2020-04-15 12:24:04 +02:00
Marc Vertes
465cb578e7
fix: lookup embededded field on struct pointer
2020-04-09 01:26:03 +02:00
Marc Vertes
12942b59a0
fix: remove ambiguities in recursive type processing
2020-04-09 01:14:03 +02:00
Marc Vertes
988f0c9672
fix: better handling of recursive types and forward declarations
2020-04-07 13:06:03 +02:00
Marc Vertes
b0053c874f
fix: incomplete type analysis
2020-04-03 04:14:04 +02:00
Marc Vertes
b52dd8cc08
fix: substitute recursive struct type by interface{} in function arguments
2020-03-19 12:42: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
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
d8bdc6670b
fix: detect field names in struct pointer
2020-02-22 15:24:06 +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
7037424edf
fix: correctly store boolean result for branching operations
2020-02-14 16:26:04 +01:00
Marc Vertes
902af477b8
fix: correct behavior for rune and byte types
2020-02-09 05:18:04 +01:00
Marc Vertes
4fd6a2dc56
fix: handle recursive type definition involving a map object
2020-02-04 16:36: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
4f93be7f19
fix: emulate struct by interface{} only for recursive struct types
2019-12-16 19:00:07 +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
1ff1a50753
fix: add method checks for interface types
2019-12-09 18:24:04 +01:00
Marc Vertes
eef59153d8
fix: detect non boolean condition for IF and FOR statements
2019-11-26 00:08:05 +01:00
Marc Vertes
3969ab16c4
fix: improve handling of untyped complex numbers
2019-10-29 18:14:05 +01:00
Marc Vertes
7d19108f01
fix: compute type of slice expression globally
2019-10-05 19:14:04 +02:00
Dan Kortschak
47923866ff
interp: fix array size assignment type inference
2019-09-30 22:58:04 +02:00
Marc Vertes
35e645c690
fix: correct handling of types alias of interfaces
2019-09-25 15:24:04 +02:00
Marc Vertes
03596dac45
fix: correct automatic type conversion for untyped constants
2019-09-25 15:02:04 +02:00
Marc Vertes
9abaeeb729
fix: binary method lookup works for struct field pointer receiver
2019-09-19 14:02:06 +02:00
Marc Vertes
5e49f83519
fix: shift operator inherits its type from first arg only
2019-09-18 23:44:03 +02:00
Marc Vertes
400b625153
fix: support defining recursive interface types
2019-09-17 01:18:03 +02:00
Marc Vertes
f7810d9761
fix: init global var from builtin
2019-09-16 16:50:06 +02:00
Marc Vertes
b08a51cb16
fix: conversion of type to reflect.Type avoids recursive loop
2019-09-16 15:04:03 +02:00
Marc Vertes
9e664ee8dd
fix: global variable init from selector expression
2019-09-16 14:30:05 +02:00