dcodeIO
4929fca363
Move some numeric builtins to stdlib; Minor refactoring
2018-04-17 02:50:38 +02:00
Daniel Wirtz
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
dcodeIO
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
dcodeIO
38a025950e
Support parameter properties; Minor formatting
2018-03-25 00:21:58 +01:00
dcodeIO
00e6d613a9
Fix an issue with asc not finding bundled library files in the browser; Minor cleanup
2018-03-21 23:27:53 +01:00
dcodeIO
49f4d3dff1
Eliminate @builtin
decorator for compatibility with TS
2018-03-21 16:29:08 +01:00
dcodeIO
fea8e65a41
Fix 'static readonly' not being recognized as constant anymore, see #44
2018-03-19 19:36:39 +01:00
dcodeIO
0fef69e445
Set up documentation generation
2018-03-19 01:12:18 +01:00
dcodeIO
5eb10d404f
Document the purpose of most files
2018-03-17 23:41:48 +01:00
dcodeIO
d45eb93df6
Allow intercepting comments when tokenizing
...
It appears that this isn't necessary for the compiler at this point, but might be good to have for future tooling.
2018-03-17 19:41:48 +01:00
dcodeIO
faac3c31eb
AST cleanup; Definition generators scaffolding
2018-03-17 01:37:05 +01:00
dcodeIO
081ac768ae
Give some love to the linter
2018-03-13 14:03:57 +01:00
dcodeIO
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
dcodeIO
7870e3ac18
Generic function type aliases
2018-03-12 17:44:09 +01:00
Daniel Wirtz
423533c6b0
Implement function types / indirect calls / trampolines ( #39 )
2018-03-12 14:06:39 +01:00
dcodeIO
d81ce5f907
Retain wrap state in parenthesized expressions; Void statements fwiw
2018-03-04 18:52:12 +01:00
dcodeIO
d4c00eaba3
Revised implicit type conversions; Initial function expression compilation
2018-02-28 01:48:01 +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
48cbbbbd68
More cleanup
2018-02-16 18:57:51 +01:00
dcodeIO
3d7e8b2b7a
More cleanup and a possible fix for #29
2018-02-16 11:55:13 +01:00
dcodeIO
d31e484b15
Cleanup; Fix an issue with 'let' declarations reusing a local
2018-02-14 19:21:31 +01:00
dcodeIO
b1c6ccab2a
Use long.js in JS and native i64 in WASM; Compile literals more thoroughly
2018-02-14 09:18:43 +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
4736227879
Update binaryen to latest nightly; Source map support
2018-02-02 03:07:54 +01:00
dcodeIO
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
dcodeIO
64c939fdc4
Initial implementation of 'new'
...
This doesn't yet call the constructor or use provided parameters and just allocates raw memory
2018-01-19 16:13:14 +01:00
dcodeIO
7be4f9fabb
Control flow evaluator; Support for block-level let/const variables
2018-01-18 23:34:12 +01:00
dcodeIO
9cdfa35938
Initial implementation if ugc, see #16 ; Fix tests
2018-01-18 01:48:03 +01:00
dcodeIO
d1fed692f6
Moved AST serialization to extra (not ultimately needed by asc)
2018-01-15 19:00:18 +01:00
dcodeIO
2c009c67d3
Initial element access compilation; Carefully approaching std array
2018-01-13 23:38:07 +01:00
dcodeIO
2df318a7ec
Implicitly alias stdlib exports as program globals, see #8
2018-01-12 15:36:17 +01:00
dcodeIO
3980e53bb7
Let the optimizer decide what it takes to become a select
2018-01-12 05:03:25 +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
d8fa04f910
Operator overload preparations
2018-01-06 10:20:38 +01:00
dcodeIO
9846f6c033
Add showcase compiler test incl. respective features and fixes
2018-01-05 18:19:32 +01:00
dcodeIO
2d0f5f3087
Comma expressions fwiw
2018-01-05 01:55:59 +01:00
dcodeIO
2b182b505e
Make sure changetype works
2018-01-02 05:02:05 +01:00
dcodeIO
3add4624c5
Initial instance methods and field layout; More cleanup
2018-01-01 20:27:21 +01:00
dcodeIO
2888ba14ad
PSON decoder example using namespaced imports
2017-12-30 05:11:58 +01:00
dcodeIO
c67f87a988
Update binaryen.js and enable tee optimizations
2017-12-29 04:42:20 +01:00
dcodeIO
4207f6460d
Warn on constant locals not being actual constants; Simplify changetype
2017-12-28 17:16:37 +01:00
dcodeIO
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
dcodeIO
4baff99125
Refactoring; Add tslint fwiw
2017-12-24 03:19:47 +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
9632777842
Type declaration parsing; Future feature references
2017-12-19 17:49:15 +01:00
dcodeIO
aa563a9a5a
Cleanup; Documentation
2017-12-18 03:46:36 +01:00
dcodeIO
2720515982
More stdlib setup
2017-12-16 17:54:53 +01:00