- Removed some redundant types
- Moved scopes to CodeModel and removed Linker
- Added const members and expression support for them
- Added statement transformation (can be used by annotations)
- Refactored some formatting things to be reusable for source code translation targets
- Removed generic compare
- Rewrote the way builtins are handled and implemented nearly all operations for all supported basic / builtin types
- Added java source code compilation
- Added throw expression, allowing a throw to be formulated as expression (handy inside matches)
- the TokenStream now no longer has any memory at all; its input is a CharStream which has peek() and next() methods, the TokenStream doesn't store a single character, making it stateless
- Added flyweight token support, decreasing memory usage
- Split token stream and parser (will be important for the IDE)
- Can now parse directly from a token stream (doesn't have to be a file)
- Changed the way libraries are stored in projects
- Tokens no longer contain their position (will be important for the IDE)
- Fixed validator acting up on type argument validation
- Moved enum constants to enum type, they are no longer type members
- Added override modifier
- Performed some minor fixes during compilation
- Fixed type member registration on optionals
- Expanded arrays with functional methods
-
- Added (key, value) iterator for associative arrays
- Added type bounds checking code
- Fixed definitions not being added to the respective packages
- Fixed various bugs with generics
- Added some things to stdlib and created collections library
- Function and method bodies are now single statements (which can, of course, be a BlockStatement), this simplifies code
- Function parameters are taggable, and Java parameter indices are now tagged on these parameters
- Improved constructor forwarding code
- Added handling for potential situations where multiple code blocks exist for the same script file (this can happen in generated code)
- Continue WIP on code formatting for definitions