Marc Vertes
8f9eb29866
Fix multi file handling in src packages
2018-07-17 12:14:25 +02:00
Marc Vertes
119b5bc40c
Fix invocation of closure from runtime
2018-07-10 16:46:03 +02:00
Marc Vertes
c753054159
Fix type conversion for runtime wrapped functions
2018-07-09 17:20:25 +02:00
Marc Vertes
515f8d6736
Fix handling of var containing function definitions
2018-07-09 13:30:54 +02:00
Marc Vertes
0a6954caac
Improve type conversion and bin methods resolution
2018-07-09 11:33:09 +02:00
Marc Vertes
8ab3c06e5a
Fix handling of closures
2018-07-05 18:57:53 +02:00
Marc Vertes
587f395090
fix type lookup when generating composite litterate object
2018-07-03 16:02:30 +02:00
Marc Vertes
4bb9d61c3f
Fix type access from source packages
2018-07-03 14:45:53 +02:00
Marc Vertes
824d65abc4
Add support for type conversion (in progress)
2018-06-29 17:51:48 +02:00
Marc Vertes
eb8c5d20ca
Fix resolution of imported types
2018-06-28 21:54:33 +02:00
Marc Vertes
4a3b4ce2fa
Fix resolution of methods and struct fields on pointers to reflect values
2018-06-28 15:55:48 +02:00
Marc Vertes
539f6f1c6f
Handle composite types with sub-types imported from runtime
2018-06-28 14:22:20 +02:00
Marc Vertes
77c015fcb8
Handle type assertions (first attempt)
2018-06-27 14:59:23 +02:00
Marc Vertes
a062e34ba8
Fix map check expression
2018-06-26 18:27:14 +02:00
Marc Vertes
542ccdedf6
Fix type propagation in calls returning multiple values
2018-06-26 13:30:28 +02:00
Marc Vertes
6480e831a1
Fix handling pointers on reflect object as method receiver
2018-06-26 00:08:36 +02:00
Marc Vertes
19fb8d578d
cfg: fix range exit
2018-06-23 14:12:55 +02:00
Marc Vertes
b608e2f3c2
Add support for iota
2018-06-22 02:52:45 +02:00
Marc Vertes
deb1c0136c
Add support to variadic functions
2018-06-21 12:39:50 +02:00
Marc Vertes
75146ed4fc
Fix method receivers handling
2018-06-20 17:30:14 +02:00
Marc Vertes
cf0ee1e75c
Fix assign outside of local scope. Support append (1 item only)
2018-06-20 10:03:20 +02:00
Marc Vertes
71c4ec10b2
Improve type handling, simplify arrays
2018-06-19 16:40:24 +02:00
Marc Vertes
b4c6624f3c
Do not export private AST node fields
2018-06-13 15:42:01 +02:00
Marc Vertes
24fe12afc3
handle method declaration with no receiver variable name
2018-06-13 11:18:48 +02:00
Marc Vertes
912a37be7b
Add support to import source packages
2018-06-07 12:03:18 +02:00
Marc Vertes
e7b21fb31f
preliminary work to support interfaces and type assertion
2018-06-06 10:32:16 +02:00
Marc Vertes
cceaf1b832
Fix invocation of runtime interface methods (preliminary attempt)
2018-06-05 15:18:33 +02:00
Marc Vertes
6ad67bdea2
Add BuiltinT type for go builtin operations: new, make, println, ...
2018-05-31 15:36:11 +02:00
Marc Vertes
9fd9ec44ff
Allow direct call of runtime functions passed as argument to script
2018-05-30 13:33:32 +02:00
Marc Vertes
755f53ceae
Fix handling methods on runtime struct fields
2018-05-29 22:28:18 +02:00
Marc Vertes
19856117f6
Fix regression on exported functions
2018-05-28 17:42:24 +02:00
Marc Vertes
9064f91264
Improve types, pointers and methods. Add several tests.
2018-05-25 19:32:06 +02:00
Marc Vertes
910b86e3d9
Fix handling of reflect values. Add math test
2018-05-19 10:21:37 +02:00
Marc Vertes
62da45a792
Appease vet and lint gods
2018-05-18 16:43:44 +02:00
Marc Vertes
13a46857a5
Fix types zero values and exports as generic interfaces
2018-05-17 16:15:30 +02:00
Marc Vertes
00ad9cc2ce
improve interpreter init. Allow re-entrant Eval()
2018-05-17 13:33:17 +02:00
Marc Vertes
82c93bb780
Add support to init function. Better handling of entry point.
2018-05-16 15:35:13 +02:00
Marc Vertes
a17ffff644
wrapNode: handle return values
2018-05-12 15:38:16 +02:00
Marc Vertes
583acadf8b
Allow runtime to call intrepreted functions
...
A function in the interpreter can now be wrapped into a reflect
generated func, to be callable by runtime (pre-compiled code).
As an example, see test/server.go, a complete http server with
scripts callbacks.
2018-05-11 19:47:21 +02:00
Marc Vertes
4f726d1d97
Support incremeting dereferenced pointers
2018-05-01 12:28:55 +02:00
Marc Vertes
cf2a86678d
Fix indirect assign for pointers
2018-04-30 18:15:18 +02:00
Marc Vertes
c1c5b6ae43
interpreter: use exported symbols
2018-04-29 11:23:14 +02:00
Marc Vertes
e74481cbab
Fix calls of embedded methods with more than 1 level of indirection
2018-04-24 18:12:33 +02:00
Marc Vertes
db75ec3033
Simplify external symbol definitions
2018-04-24 11:57:13 +02:00
Marc Vertes
4646a60665
improve type assignation
2018-04-23 22:19:49 +02:00
Marc Vertes
35c367f31a
Fix calling of anonymous closures
2018-04-17 13:57:23 +02:00
Marc Vertes
b909d2a9b6
add != (notEqual) binary operator
2018-04-17 10:59:19 +02:00
Marc Vertes
9cf1bc3df8
add missing for variant
2018-04-17 10:52:24 +02:00
Marc Vertes
4101f1104e
fix handling of methods for imports
2018-04-13 17:12:22 +02:00
Marc Vertes
cbf4cf507f
improve handling of bin imports (in progress)
2018-04-12 23:38:34 +02:00