50 Commits

Author SHA1 Message Date
Daniel Wirtz
d843772314
Implement non-null assertions (#443) 2019-01-30 09:56:13 +01:00
Daniel Wirtz
ebae7cbd73
Implement optional type parameters (#360)
* Add a NATIVE<T> macro type to simplify use of a native WebAssembly type
* Add default type parameters for internal helpers for explicit loads and stores
* Unify loadUnsafe/loadUnsafeWithOffset etc. into one
* Renamed loadUnsafe etc. into just LOAD, like a macro
* Implement parsing of index signatures, but ignore them, for properly linting code
* Refactor TypedArray<T> to use macros
2018-12-07 14:33:32 +01:00
dcodeIO
a79db87af9 Fix parsing of properties and field names using semi-reserved keywords 2018-11-13 08:48:10 +01:00
Andy Hanson
0bb5cb829e Support definite assignment assertion x!: i32 (#260) 2018-10-27 18:29:59 +02:00
Daniel Wirtz
f7c734789e
Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +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
Max Graey
2874fb9d8a Add trimStart/End aliases (#287) 2018-09-30 22:21:34 +02:00
dcodeIO
10a9f407bf Support object literal shorthands 2018-07-14 15:18:45 +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
585d246165 Fix infinite loop when skipping statements, see #167 2018-07-10 17:38:03 +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
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
Max Graey
2e5a42d233 Fix unexpected TS1005 in tryParseSignature (#149) 2018-06-24 01:06:31 +02:00
dcodeIO
cea69a6de1 Unify operator overloading and reuse arguments where possible; Update Binaryen; Update dist files 2018-06-05 23:09:08 +02:00
dcodeIO
0054eae491 Handle numeric separators in integer literals while tokenizing 2018-06-02 13:39:24 +02:00
dcodeIO
f69bccfe09 Add @operator.binary, @operator.prefix, @operator.postfix decorators for #124 2018-06-01 14:17:27 +02:00
dcodeIO
9d25f78fc1 Implement 'this' context parsing and serialization; Other minor improvements 2018-05-30 16:22:56 +02:00
Alan Pierce
edf4aaa966 Allow trailing commas in import and export statements (#114) 2018-05-22 12:08:01 +02:00
dcodeIO
940392f463 Fix handling of readonly/type as identifiers, see #115 2018-05-21 11:14:14 +02:00
Alan Pierce
00fee73022 Implement optional trailing commas (#97) 2018-05-07 02:16:26 +02:00
dcodeIO
6268b92eba Resolve string instances to the program's string class 2018-04-06 00:19:45 +02:00
dcodeIO
38a025950e Support parameter properties; Minor formatting 2018-03-25 00:21:58 +01:00
dcodeIO
2c0ddf4f80 Support 'this' in static functions, fixes #45; Fix propagation of 'ambient' flag 2018-03-20 12:02:05 +01:00
dcodeIO
faac3c31eb AST cleanup; Definition generators scaffolding 2018-03-17 01:37:05 +01:00
dcodeIO
8e7bad7459 Reduce unnecessary diagnostic noise 2018-03-14 15:31:50 +01:00
dcodeIO
c93f0bb1fe Fixed a function expression parsing issue
Also uncovered a yet-to-be-fixed issue when immediately calling a returned function
2018-03-12 19:39:05 +01:00
Daniel Wirtz
423533c6b0
Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00
dcodeIO
bda6cb9792 Initial function expression parsing 2018-02-27 02:28:36 +01:00
dcodeIO
8dc517e352 Cleanup; Initial tslint integration 2018-02-25 00:13:39 +01:00
dcodeIO
ad92d91f01 Move built-in declarations to actual sources; Remove declaration is null checks; Resolve calls 2018-02-09 02:31:48 +01:00
dcodeIO
1995bf9eb4 Parser fixes; Lib updates 2018-01-29 22:36:07 +01:00
dcodeIO
b1e7b75ad7 Static operator overloads 2018-01-28 06:18:27 +01:00
dcodeIO
d1fed692f6 Moved AST serialization to extra (not ultimately needed by asc) 2018-01-15 19:00:18 +01:00
dcodeIO
0de05b543b Harden regexp parsing a bit 2018-01-07 18:15:21 +01:00
dcodeIO
7c8670ac35 Regexp literal support; Properly resolve statically inherited members 2018-01-07 15:07:46 +01:00
dcodeIO
9846f6c033 Add showcase compiler test incl. respective features and fixes 2018-01-05 18:19:32 +01:00
dcodeIO
c67f87a988 Update binaryen.js and enable tee optimizations 2017-12-29 04:42:20 +01:00
dcodeIO
ca9c79185b Basic type inference 2017-12-23 13:48:04 +01:00
dcodeIO
ad298c7bea Asterisk imports parsing; Pussyfooting around stdlib 2017-12-23 00:48:54 +01:00
dcodeIO
666ba54e42 Heap fill/compare; Std string experiments 2017-12-21 10:14:53 +01:00
dcodeIO
9632777842 Type declaration parsing; Future feature references 2017-12-19 17:49:15 +01:00
dcodeIO
c6c36613e6 Accessor parsing; Cleanup 2017-12-14 11:55:35 +01:00
dcodeIO
99b0fdf7a8 Namespaces 2017-12-13 23:24:13 +01:00
dcodeIO
ef859937a8 Better testing infrastructure; Initial exports/imports/re-exports 2017-12-02 01:14:15 +01:00
dcodeIO
28600bbeb7 Add test scripts to package 2017-11-29 00:24:14 +01:00
dcodeIO
bad5175a55 Fixed for-loop parsing 2017-11-29 00:18:14 +01:00
dcodeIO
df637164a6 Cleanup 2017-11-26 04:03:28 +01:00
dcodeIO
f55fc70220 Progress; Restructuring 2017-10-02 12:52:15 +02:00
dcodeIO
1d53303b47 Initial commit 2017-09-28 13:08:25 +02:00