5ab81a00a1
Allow keywords in named import/export syntax ( #107 )
2018-05-13 13:26:12 +02:00
00fee73022
Implement optional trailing commas ( #97 )
2018-05-07 02:16:26 +02:00
2ff1bb745a
Fix some diagnostic issues when skipping invalid statements, see #80 ; Make game-of-life example somewhat interactive; Update dist files
2018-04-22 23:13:02 +02:00
5a2f834c0d
Fix game-of-life example inconsistencies; Fix ternary expression issues in void contexts and variable statements; Simplify HEAP_BASE handling
2018-04-18 15:12:33 +02:00
623597c23a
Make the transition to ArrayBuffer backed Arrays ( #70 )
...
* Traverse base classes when resolving overloads
* Implement preliminary TypedArray accessors
* Extract decorator flags from common flags to make space
* Add '**' overload
* Implement basic explicit inlining
* Support inlining of instance methods
* Reduce number of required locals when inlining
* Implement inlining of operator overloads
* Fix issues when inlining generic functions
2018-04-11 23:35:19 +02:00
06198a3723
Rename lib prefix to '~lib' (parens aren't valid); Add built-in alignof<T>; Prepare for ArrayBufferView
2018-04-02 19:05:26 +02:00
38a025950e
Support parameter properties; Minor formatting
2018-03-25 00:21:58 +01:00
721d77012b
Math scaffolding
2018-03-24 17:18:15 +01:00
4adb69f73a
Binary expression operator overloads for +/==; Check allocation flow in ternary expressions; Cache empty array buffers; Sealed decorator for non-derivable internals
2018-03-23 12:45:29 +01:00
49f4d3dff1
Eliminate @builtin
decorator for compatibility with TS
2018-03-21 16:29:08 +01:00
2c0ddf4f80
Support 'this' in static functions, fixes #45 ; Fix propagation of 'ambient' flag
2018-03-20 12:02:05 +01:00
fea8e65a41
Fix 'static readonly' not being recognized as constant anymore, see #44
2018-03-19 19:36:39 +01:00
0fef69e445
Set up documentation generation
2018-03-19 01:12:18 +01:00
5eb10d404f
Document the purpose of most files
2018-03-17 23:41:48 +01:00
83e96892f2
Statically eliminate unnecessary branches in generic contexts
...
In order to use the new compile time type checks in generics, untaken branches must be skipped because these might be invalid.
2018-03-17 14:40:58 +01:00
faac3c31eb
AST cleanup; Definition generators scaffolding
2018-03-17 01:37:05 +01:00
8e7bad7459
Reduce unnecessary diagnostic noise
2018-03-14 15:31:50 +01:00
23a7db4dc3
Ensure consistent variable modifiers
...
'var' is a distinct local or mutable global, 'let' a shared local
2018-03-13 02:32:10 +01:00
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
7870e3ac18
Generic function type aliases
2018-03-12 17:44:09 +01:00
423533c6b0
Implement function types / indirect calls / trampolines ( #39 )
2018-03-12 14:06:39 +01:00
d81ce5f907
Retain wrap state in parenthesized expressions; Void statements fwiw
2018-03-04 18:52:12 +01:00
d4c00eaba3
Revised implicit type conversions; Initial function expression compilation
2018-02-28 01:48:01 +01:00
bda6cb9792
Initial function expression parsing
2018-02-27 02:28:36 +01:00
8dc517e352
Cleanup; Initial tslint integration
2018-02-25 00:13:39 +01:00
e50a23bf75
Rename wast to wat
2018-02-17 11:09:22 +01:00
3d7e8b2b7a
More cleanup and a possible fix for #29
2018-02-16 11:55:13 +01:00
b1c6ccab2a
Use long.js in JS and native i64 in WASM; Compile literals more thoroughly
2018-02-14 09:18:43 +01:00
ad92d91f01
Move built-in declarations to actual sources; Remove declaration is null checks; Resolve calls
2018-02-09 02:31:48 +01:00
819d79889d
Second pass on the programmatic asc API; Make compiler tests use asc directly
2018-02-04 07:51:40 +01:00
4736227879
Update binaryen to latest nightly; Source map support
2018-02-02 03:07:54 +01:00
1995bf9eb4
Parser fixes; Lib updates
2018-01-29 22:36:07 +01:00
de066fc128
Preliminary strings
...
While not well-wrought, it's at least possible now to log some stuff when debugging
2018-01-27 05:35:14 +01:00
7be4f9fabb
Control flow evaluator; Support for block-level let/const variables
2018-01-18 23:34:12 +01:00
49d29fc9f2
More std array
2018-01-14 21:17:43 +01:00
2c009c67d3
Initial element access compilation; Carefully approaching std array
2018-01-13 23:38:07 +01:00
2df318a7ec
Implicitly alias stdlib exports as program globals, see #8
2018-01-12 15:36:17 +01:00
0de05b543b
Harden regexp parsing a bit
2018-01-07 18:15:21 +01:00
7c8670ac35
Regexp literal support; Properly resolve statically inherited members
2018-01-07 15:07:46 +01:00
9846f6c033
Add showcase compiler test incl. respective features and fixes
2018-01-05 18:19:32 +01:00
2d0f5f3087
Comma expressions fwiw
2018-01-05 01:55:59 +01:00
1221ff129d
More built-in constants; Get/set parsing fixes; I64.toF64 fixes
2018-01-02 21:41:25 +01:00
2b182b505e
Make sure changetype works
2018-01-02 05:02:05 +01:00
3add4624c5
Initial instance methods and field layout; More cleanup
2018-01-01 20:27:21 +01:00
2ed3c22031
Cleanup: Make use of type inference and use 'var' in functions to match actual WebAssembly semantics
2017-12-28 04:09:40 +01:00
7795d48d98
Namespaced imports
2017-12-27 22:38:32 +01:00
ba61a5e414
Getters & setters (static); Instantiate compiler tests; Cleanup
2017-12-27 02:37:53 +01:00
4baff99125
Refactoring; Add tslint fwiw
2017-12-24 03:19:47 +01:00
ad298c7bea
Asterisk imports parsing; Pussyfooting around stdlib
2017-12-23 00:48:54 +01:00
9632777842
Type declaration parsing; Future feature references
2017-12-19 17:49:15 +01:00