kindlich
d02abd30c3
Fix generic call arguments being overridden by the generic mapper's selfmapping
4 years ago
kindlich
e11d51a9a9
Allow empty ()
Required for lambdas
4 years ago
kindlich
5abd2b5b01
[WIP] Compile default values in functions
4 years ago
kindlich
ff6514edae
[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?
5 years ago
kindlich
10fc19cc9f
WIP: Saving so that it is safe :smile:
5 years ago
kindlich
f387449a4e
Interpolation in BEPs
5 years ago
kindlich
7b39160a6c
Revert change on ParsedConstructor
I don't think this is the correct call here.
Just that a constructor has no argument does not mean it is a propagated default constructor.
5 years ago
Jared
4cbbe1f387
work on getting this working
5 years ago
Jared
1f4b126e18
Added FolderPackage, made stdlibs read from a folder instead of zip
5 years ago
Jared
d756a1e7cb
no more trove dep
5 years ago
kindlich
826b8a4a81
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
5 years ago
kindlich
f587fb88d0
Allow for explicit static storage tag
5 years ago
kindlich
696aca1cfd
Added Typemember check without storage tags.
Only WIP, tries to check the same type without storage tags and see if it can cast then.
5 years ago
kindlich
3fd8e37ec9
WIP: Rudimentary work on VarAargs
5 years ago
kindlich
2e7929e302
Function matches now ignore if the function itself is optional
5 years ago
Jared
cddc3f96b3
Made invalid imports log errors
5 years ago
kindlich
6be789d2c9
Removed unused type evaluation (see desc)
Threw an exception when an import member could not be found.
Also, the value was not used anywhere
5 years ago
Stan Hebben
c3b948d8fe
Fixed support for optional parameters. Also implemented java integration for them.
5 years ago
Stan Hebben
9c650d0f5b
- Added correct type variable resolution
- 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)
5 years ago
Stan Hebben
aab7cc69f1
- Continued implementation of interfaces in the bytecode compiler.
- Added support to have a native method both as operator and named method
5 years ago
Stan Hebben
c19e68376b
- Fix arithmetic rules for floats
- Fix float suffixes on integers
5 years ago
Stan Hebben
ae81e5966e
Added loadMethod utility method for loading in a Method and retrieving its reference.
5 years ago
Stan Hebben
6fa2a38b30
Fix recursion when methods return or accept a value of their defining class. Fixed bracket expressions with a postfix expression.
5 years ago
Stan Hebben
7102642419
Fix float parsing.
6 years ago
Stan Hebben
0d31f0cd9a
Added script parameter system. Also refactored SourceFile info, it's no longer a tag but available as field in ScriptBlock.
6 years ago
Stan Hebben
74bcf27227
Fix an error in call argument processing.
6 years ago
Stan Hebben
6eca301d7c
- Minor code cleanup.
- WIP on map files (used to link zencode to already compiled classes, and to define native methods)
6 years ago
Stan Hebben
3094e93529
Simplified dependencies and the build tree with some minor refactoring.
6 years ago
Stan Hebben
67ee99945e
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.
6 years ago
Stan Hebben
e0118ed3c2
- Added support for zipped packages
- Simplified compilation process somewhat; removed CompilationUnit class and work more module-oriented instead
6 years ago
Stan Hebben
4f0727d2f7
- Fixed $ not working in setters
- Fixed erratic StringBuilder class
- Updated shared with new live classes
6 years ago
Stan Hebben
3d9e3bdf03
- Added support for local fields ($field)
- Fixed a couple minor issues & inefficiencies
- Added horizontal scrollbar to IDE (incomplete!)
6 years ago
Stan Hebben
cf2a752723
- Fix various bugs in the new system
- Slightly improved the way modules are compiled
6 years ago
Stan Hebben
b6aa875e42
Fix access modifiers
6 years ago
Stan Hebben
4ada6df10e
- Added access & static checks to validator
- Removed export access and added internal access support
6 years ago
Stan Hebben
f11b965626
Fixed remaining critical bugs in the current implementation.
6 years ago
Stan Hebben
92234bca0e
Removed TypeArgument and simplified type system a little
6 years ago
Stan Hebben
f97c8450d9
Continue work on storage tags. WIP on compile plugins.
6 years ago
Stan Hebben
5eef4cd9ef
Refine storage tag implementation
6 years ago
Stan Hebben
b64fee8856
- Fixed recursive errors in destructability test
- Fixed some more storage tag issues
- Added methods with storage tag requirements
6 years ago
Stan Hebben
cabd7bab44
Fixed more bugs in the new type system; fixed bugs in function calls; fixed normalization bugs.
6 years ago
Stan Hebben
bd90cfe0be
- Made important modifications to error reporting so it provides meaningful info
- Fix various normalization bugs
- Fixed bugs with the new stored type system
6 years ago
Stan Hebben
e1b48ad7c8
WIP on storage tags and improved error handling
6 years ago
Stan Hebben
e0e6b5be3f
WIP on storage tags
6 years ago
Stan Hebben
d9a78c015b
WIP on memory tags
6 years ago
Stan Hebben
ec46d47c02
- Improve work on the serializer and fixed some code issues that came up with them.
- Start work on the deserializer
6 years ago
Stan Hebben
2ba94edb6d
- Added visitors with context
- WIP on the module serializer
6 years ago
Stan Hebben
9c3aa8efc3
- All definitions are now also module-aware (will be use for binary module serialization & access checks)
- Fixing function expressions not being properly linked to their functional interface
6 years ago
Stan Hebben
3e013cb052
- 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
6 years ago
Stan Hebben
0298420bb2
- Added usize as basic type
- 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
6 years ago