186 Commits

Author SHA1 Message Date
dcodeIO
3ed83ef3ae Use macro style for more internal helpers; Update dist files 2018-12-08 23:38:49 +01:00
dcodeIO
ced01216f8 Use baseDir as another parameter to readDir etc. to simplify compatibility between asc running under node and in the browser, see #354 2018-12-03 19:29:49 +01:00
dcodeIO
6ed45bee98 Expose the full API for now, see #356
Some things might be more useful than others, but we can decide on that later.
2018-12-02 23:46:32 +01:00
dcodeIO
b723ff3e88 Update Binaryen to latest 2018-11-22 17:15:22 +01:00
dcodeIO
21675ec162 Update dist files 2018-11-19 12:29:07 +01:00
dcodeIO
c93f02df69 Update dist files 2018-11-12 09:15:16 +01:00
dcodeIO
4f95dce6e2 Do not emit debug info by default
This basically flips the --noDebug flag to become a --debug flag, so some optimizations, like inlining, aren't skipped by default, which might be unexpected.
2018-11-09 12:28:10 +01:00
dcodeIO
38df5841e1 Update dist files 2018-11-08 08:26:31 +01:00
dcodeIO
2062caef2c Update dist files 2018-10-30 15:30:49 +01:00
dcodeIO
420592eacb Update dist files 2018-10-11 08:57:19 +02:00
dcodeIO
63d4579118 Fix some array function parsing and serialization issues
Quite similar to #256 and also uses its test, but also fixes the serializer and doesn't try to parse an untyped 'x => x'.
2018-10-04 09:53:47 +02:00
dcodeIO
eeb8a8fd6c Make sure temp locals don't collide when allocating literal arrays, fixes #281
Originally part of #288
2018-10-03 01:32:28 +02:00
dcodeIO
db0e82fbc3 Add a .data pointer on ArrayBuffers for convenience, see #291 2018-10-03 01:06:48 +02:00
dcodeIO
b7e7be20cf Add String.fromUTF8 helper (see #291); Update dist files 2018-10-03 00:49:56 +02:00
dcodeIO
9c770d801e Add initial newArray and getArray helpers to loader
Essentially creates an unmanaged typed array in memory that one can work with and free again respectively obtain from the AS side. No support for GC or generic arrays yet, and is likely to change substentially once WASM GC becomes a thing.
2018-09-18 15:17:44 +02:00
dcodeIO
d90cd085e5 Update Binaryen 2018-09-13 23:10:49 +02:00
dcodeIO
6949cf9f9e Switch signed/unsigned instructions when upcasting 32- to 64-bit integers, fixes #247
Matches C semantics now. Turns around some instructions in tests, especially libm, but doesn't break anything.
2018-09-10 14:25:33 +02:00
dcodeIO
9603c13fb7 Update dist files 2018-09-10 03:56:50 +02:00
dcodeIO
658ab23ea6 Still include builtins when compiling with --noLib, fixes #190 2018-09-09 04:05:00 +02:00
dcodeIO
4498b28442 Use outer-most identifier when resolving queued exports, fixes #248 2018-09-09 03:51:29 +02:00
dcodeIO
7965776133 Make sure output directories exist before writing a file 2018-08-04 01:02:56 +02:00
dcodeIO
631478c7c9 Rework static memory segment creation; Fix stdlib gc hooks not marking own fields; Align everything to 8 bytes that might be touched by GC 2018-08-04 00:36:59 +02:00
dcodeIO
61de7cf962 Update dist files 2018-08-02 18:26:44 +02:00
dcodeIO
1ecf85bf7c Update dist files 2018-07-22 14:19:23 +02:00
dcodeIO
a1e2071da6 Fix n-body visualization 2018-07-22 02:55:46 +02:00
dcodeIO
00fb45fcad Check for EOF on parse error in blocks, fixes #180 2018-07-21 03:11:33 +02:00
dcodeIO
ccc019d853 Update dist files 2018-07-20 22:56:23 +02:00
dcodeIO
1928f46cb9 Also handle indirect recursive inlining 2018-07-14 18:21:11 +02:00
dcodeIO
4b8500355a Skip inlining and emit a warning when trying to inline a function into itself 2018-07-14 18:01:19 +02:00
dcodeIO
3b0fd9aac2 Implement isDefined and isConstant builtins 2018-07-14 16:42:00 +02:00
dcodeIO
10a9f407bf Support object literal shorthands 2018-07-14 15:18:45 +02:00
dcodeIO
c636eddcd2 Legalize casting object literals to classes when linting 2018-07-14 15:00:07 +02:00
dcodeIO
9e508de69a Implement object literal parsing; Instantiate classes from object literals
Essentially, if the contextual type is a class with a constructor that takes zero arguments or doesn't have a constructor at all, an object literal can be used to initialize a new instance of that class with preset values.
2018-07-14 04:00:04 +02:00
dcodeIO
72cb1e9008 Update dependencies; Regenerate dist files 2018-07-14 00:13:52 +02:00
dcodeIO
cd14b296ce Refactor resolve infrastructure to its own file
This has become a little clumsy over time. Doesn't hurt to have it in its own place to get a grasp of it more easily.
2018-07-13 00:22:22 +02:00
dcodeIO
585d246165 Fix infinite loop when skipping statements, see #167 2018-07-10 17:38:03 +02:00
dcodeIO
cc72d02542 Update dist files 2018-07-10 05:40:11 +02:00
dcodeIO
c4199673ef Support parsing of class expressions, see #161 2018-07-10 03:03:59 +02:00
dcodeIO
27dbbd1d75 Support a bit more interface syntax when parsing, see #160 2018-07-10 00:34:40 +02:00
dcodeIO
c4ebc8c291 Fix missing dependency in asc, see #157; Downgrade ts-node to v6 2018-07-04 21:47:58 +02:00
dcodeIO
5ca5df3dc7 Restructure types; Add a use-case specific options parser; Allow (re)creation of specific parser fixtures 2018-07-03 03:06:01 +02:00
dcodeIO
82da2d1f6d Add compiler hints 2018-06-29 00:14:42 +02:00
dcodeIO
55a8e677c6 Update dependencies 2018-06-28 18:31:19 +02:00
dcodeIO
9c16363796 Initial external decorator for annotating explicit import names; Use file name as default module name in imports; Emit empty memory if there are no static segments; Update TLSF and examples accordingly 2018-06-28 01:44:32 +02:00
dcodeIO
27e61f8f67 Remove noMemory option; Omit 'start' if 'main' is present; Unwrap more unnecessary blocks 2018-06-27 19:03:39 +02:00
dcodeIO
0d64c9661a Flow improvements
Makes the internal API for working with flows more explicit in an attempt to avoid further issues. Also tackles remaining issues with 'continue' statements in 'for' loops.
2018-06-27 02:53:45 +02:00
dcodeIO
188b4e48ce Try parsing signatures only if node is callable, see #149; Minor refactoring 2018-06-24 01:04:24 +02:00
dcodeIO
7a8995b18b Properly inline getters; Simplify blocks when last statement returns 2018-06-22 15:26:59 +02:00
dcodeIO
525795b354 Infer u32 from 32-bit integer literals if MSB is set 2018-06-21 22:47:37 +02:00
dcodeIO
c74eed2bd8 Add initial std Symbol; Fix some type inference issues 2018-06-21 19:42:18 +02:00