Commit Graph

114 Commits

Author SHA1 Message Date
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