[WIP, I have no idea what I'm doing] Trying to get generic parameters working
Let's see if putting them all into one TypeVariableContext works..?
Also, a lambda that returns void cannot conclude the generic header. How should we deal with this?
Added compile override for ParsedExpressionArray and ParsedExpressionMap
Essentially they are functions that accept the parsedExpression and the compilescope.
They return either null or a PartialExpression.
If they dont return null then the used partialexpression will be used instead of whatever the parsedexpression wouldve compiled to
- Fixed a number of bugs
- Upgrading build system to a more uniform system
- Improving error output (for IDE)
- Changed parser to generate line offsets differently (easier for IDE to process)
Revamped the compilation system; it now works fully modular. Also, a new ScriptingEngine class has been created to make it very easy to create a scripting environment.
- Fix missing shift operators in some integer types
- Fix some problems when comparing a long with an int or ulong with uint
- Add signed-unsigned implicit array conversion (sbyte[] <-> byte[], short[] <-> ushort[], int[] <-> uint[], long[] <-> ulong[])
- Fix bug when copying multiple lines from the source editor
- Added string <-> byte[] conversion operations
- Fix unsigned arrays, use compact representations
- Added suffixes & custom suffixes
- Added 0x 0b 0o for hex, binary and octal notation
- Ranges now only have a single base type; from and to must be the same type
- Adjusted builtins and stdlib to use usize where applicable
- Moved building a SemanticModule from ParsedFile to the parser; reduces dependencies
Fixed results from generic methods not being cast to the right type. Also fixed some bugs related to variants and added the variant value creation syntax VariantName.Option(arguments).