Commit Graph
99 Commits
Author SHA1 Message Date
Anton MedvedevandGitHub 205e24128e Add better error message for OpFetchField on missing field (#276) 2022-11-05 22:00:11 +01:00
Anton Medvedev bfeb63ba2b Remove redundant check 2022-11-05 19:43:00 +01:00
Anton MedvedevandGitHub 75f3a61dad Refactor helpers (#275) 2022-11-05 16:33:13 +01:00
Furkan TürkalandGitHub b03f09d04c Fix DivideOp: change resulting type to float64 (#272) 2022-11-05 13:47:13 +01:00
Anton MedvedevandGitHub 1c69d7a8ef Add OpCallTyped (#269) 2022-11-05 13:44:15 +01:00
Anton Medvedev c4dc3a9948 Fix code style 2022-11-03 22:14:28 +01:00
Anton MedvedevandGitHub e0b6b22aeb Save AST in compiled program (#268) 2022-11-03 07:53:17 +01:00
Anton Medvedev d528b18448 Add debug module 2022-10-29 11:05:43 +02:00
Anton MedvedevandGitHub 4cee95857e Remove CanInterface() checks (#264) 2022-10-28 21:37:05 +02:00
Anton Medvedev b8346f98f1 Optimize method calls and builtins opcodes 2022-10-27 21:23:04 +02:00
Anton Medvedev fa60189e66 Cleanup 2022-10-26 18:48:27 +02:00
Anton Medvedev 0362840f27 Fix compile tests 2022-10-25 23:47:11 +02:00
Anton Medvedev aa5c5f09e1 Split arguments 2022-10-25 23:13:20 +02:00
Anton Medvedev fb3a5e74a0 Cleanup compiler 2022-10-25 01:43:47 +02:00
Anton Medvedev cfc9843ccb Simplify vm and opcodes 2022-10-24 23:26:22 +02:00
Anton Medvedev 0b523f347e Sort imports 2022-10-22 13:39:04 +02:00
Anton Medvedev b77102221c Add tests 2022-10-21 21:48:18 +02:00
Anton Medvedev dd65a0fc2d Add compiler member fetch optimizations 2022-10-20 22:54:36 +02:00
Anton Medvedev 63cd7e5aa9 Better debugger 2022-10-20 21:37:07 +02:00
Anton Medvedev b00bc22be3 Remove litter dep 2022-10-20 21:24:01 +02:00
Anton Medvedev 4104ff8967 Add runtime.Field 2022-10-19 23:37:56 +02:00
Anton Medvedev 26975ea2f3 Cast to int and float64 by default 2022-10-19 22:50:34 +02:00
Anton Medvedev 33e3de371b Remove vm.Fetcher and exprgen pkg 2022-10-19 21:23:34 +02:00
Anton Medvedev 2a34731b5a Add FieldByIndex optimization 2022-10-19 00:55:01 +02:00
Anton Medvedev a28d1d704e Refactor getting field name 2022-10-18 22:53:52 +02:00
Anton Medvedev 2bf336bdb3 Remove FieldByNameFunc call 2022-10-18 21:48:22 +02:00
Anton Medvedev 7bcddc66f8 Remove unnecessary ptr checks 2022-10-18 00:26:17 +02:00
Anton Medvedev 7f1d698d91 Rename reflect.Pointer to reflect.Ptr 2022-10-18 00:10:34 +02:00
Anton Medvedev b0705d7de2 Add OpDeref opcode 2022-10-18 00:08:53 +02:00
Anton Medvedev 7c2a8a87ff Refactor generate 2022-10-17 22:36:34 +02:00
Anton Medvedev 370551eb7e Remove obsolete opcode 2022-10-16 22:20:55 +02:00
Anton Medvedev 2375f38ccc Improve OpCallFast performance 2022-10-16 20:21:34 +02:00
Anton Medvedev 22784d8183 More tests 2022-10-15 22:52:40 +02:00
Anton Medvedev ab621bec0e Optional chaining 2022-10-15 15:59:39 +02:00
Anton Medvedev 514a6dcfa7 Fix OpCall 2022-10-13 10:39:56 +02:00
Anton Medvedev 2a88e4a52a Refactor type checker 2022-10-13 10:01:35 +02:00
Anton Medvedev da68511d23 Add vm/runtime package 2022-10-12 15:22:14 +02:00
Anton Medvedev 6a7630dba1 Remove ast nodes 2022-10-10 20:26:59 +02:00
Anton Medvedev b24419bf76 Remove wrong nil safe implementation 2022-10-09 12:53:30 +02:00
Anton Medvedev 56127510a5 Refactor tests and start refactoring nil safe operator 2022-10-09 12:28:51 +02:00
Anton Medvedev fc99cf3735 Improve vm coverage 2022-10-07 00:16:19 +02:00
Anton Medvedev f6701d6962 Fix helpers.go generator 2022-10-06 23:24:37 +02:00
Erik GeiserandGitHub 76ccb0a468 Allow renaming struct fields using struct tags (#251) 2022-10-06 11:12:49 +02:00
Tommy MessbauerandGitHub d48f1e4ac9 Adds support for common operators for time.Time (#256)
* adds support for common operators for time.Time

* adds eval tests for time operators. updates checker to allow time.Time and time.Duration to be passed to the operator fns.

* allows duration to be the first arg in time addition. updates the checker return types as they were incorrect.

* add ability to compare time to any interface

* adds checker test for time + interface combinations
2022-10-03 20:40:53 +02:00
uunniiandGitHub 9500f6f9ba fix: reset vm.memory to reuse vm (#253) 2022-08-10 17:22:01 +02:00
Andrey VydrinandGitHub a0503b7835 feat: codegen for expr envs (#193) 2021-08-04 09:43:29 +02:00
EugeneandGitHub 9b0044f612 Add ability to return errors from custom functions. (#159)
Also provide initial documentation on using and providing functions.
2021-08-01 17:31:47 +02:00
Zach BadgettandGitHub 3eb822d35a Add nil safe operator (#173) 2021-06-07 22:53:12 +03:00
subham sarkarandGitHub 3d93d59b1c Fix double dot range for invalid input (#164)
* Fix double dot range for invalid input.

* Fix a corner case and add test case.
2021-03-01 13:19:14 +03:00
Anton Medvedev 6ed6d6b850 Add support for maps in len builtin 2020-05-15 19:10:01 +03:00