Jared
b10277cda2
Made the JavaClass#Iterator a supplier, fixes multiple engine runs
5 anni fa
Jared
aaca0261f1
Removed some unneeded static fields
5 anni fa
kindlich
fb3382704d
Skip non-linear interface implementations for Native classes
Fixes an issue where Std::List would implement Iterable and therefore break the scripts.
5 anni fa
kindlich
4a5b508fbe
Pop method return type if ZC thinks a nonvoid method returns a void value
5 anni fa
Jared
82257b2a71
Made the bytecode run unit throw errors instead of eating them
5 anni fa
kindlich
94128e728d
Fixed Optional primitive casts -> String
Now instead uses Objects.toString(...) for them
5 anni fa
kindlich
8f71b442fc
Added unboxingTypeVisitor and fixed primitives in Iterators
5 anni fa
kindlich
07d6866fb2
Fixed Bridge methods IncompatibleClassChangeError
Reason was that it tried to invokeInterface whereas a bridge redirects to a local (virtual) method.
The local method was flagged incorrectly as the same type as the bridger which would be interface, hence the error
5 anni fa
kindlich
3fd8e37ec9
WIP: Rudimentary work on VarAargs
5 anni fa
kindlich
3bf515d8e8
Implemented SuperTypeCast for ExpressionVisitor
5 anni fa
Jared
e7bcbcffaf
Fix maps not working
5 anni fa
kindlich
e614149c8c
Moved Array default value to default value expression
5 anni fa
kindlich
96b6386d79
JavaCompiler: Use LinkedHashMap to preserve execution order
5 anni fa
kindlich
f6516d5246
Set file and line meta info
5 anni fa
kindlich
8dc22bcfeb
Java Bytecode Array Constructor: Implemented projection with indices
5 anni fa
kindlich
6f95dd3ff9
Java Bytecode Array Constructor: Finished Projection function invocation
5 anni fa
kindlich
d062ad0149
Fixed Bridge methods invoking in the incorrect class
5 anni fa
kindlich
9494ef212e
Functional Wrappers, Bridge Methods, Type descriptor fix
Functional interface wrappers should work now
Implementing a method with a signature differing from the actual one (e.g. when dealing with generics) now creates a proper bridge method
The Java Bytecde compiler used an incorrect method in checkCast
We now no longer use hardcoded 'accept's as method names but whatever the context tells us to.
5 anni fa
kindlich
b8be41d1a2
Formatted Functional Interface Wrapper creations
5 anni fa
Stan Hebben
e909486bf3
Added utility method to retrieve the functional interface method from a type.
5 anni fa
kindlich
da4c6eb005
WIP Functional Wrapper
Currently only supports 'accepts' methods, until we can get a way to get the actual method signature/name from the class
5 anni fa
kindlich
476e1b350a
Functional Interfaces Bytecode Step I
Directly using the lambda where the functional interface is requested works.
The lambda class will then directly implement the functionalInterface and not use a wrapper class
5 anni fa
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 anni fa
kindlich
d0e5b835c0
Now correctly check against Interface methods
5 anni fa
kindlich
f66a072428
Fix classloader call to super instead of parent
5 anni fa
kindlich
dfbc769f02
Added missing break statements to ASSOC_EQUALS
5 anni fa
kindlich
222c198437
Revert 4d5fc47bcb
5 anni fa
kindlich
4d5fc47bcb
Diry hack to use findLoadedClass on the parent loader
Lokking at you ForgeModLoader that needs to reinitialize about every class it comes across
6 anni fa
kindlich
bfb0a33b27
Added classLoader parameter to JavaBytecodeRunUnit#run
6 anni fa
kindlich
d630af4178
ASSOC_[NOT]EQUALS
6 anni fa
Stan Hebben
b0895350cb
- Starting work on improving type parameter usage in generic methods
6 anni fa
Stan Hebben
ad57dc2d83
Added type parameters to method descriptors.
6 anni fa
kindlich
9708c58f69
Map.put with class, maybe
6 anni fa
kindlich
1c6c2bcf77
WIP: Possibly TryRethrow and panic Expressions
6 anni fa
kindlich
28c635f584
Expansion Getters/Setters, expansion static fields and Array contains
6 anni fa
Stan Hebben
7102642419
Fix float parsing.
6 anni fa
Stan Hebben
d9f32182f1
Fixed null comparison.
6 anni fa
Stan Hebben
6f2b5931dd
Added missing class.
6 anni fa
Stan Hebben
0d31f0cd9a
Added script parameter system. Also refactored SourceFile info, it's no longer a tag but available as field in ScriptBlock.
6 anni fa
kindlich
07fa6e2ccb
Optional is and isNot null
6 anni fa
kindlich
10bc657ff2
Constructor super calls
6 anni fa
Stan Hebben
131ede5818
Fixed compiled dependencies not being registered properly. Also fixed accidental recursion in visitGetField.
6 anni fa
kindlich
c01d584edb
WIP Array initializers, pt. III
6 anni fa
Stan Hebben
3633ce97d7
Properly implement expressions without return value. Also fixed some bugs in expressions that do return a values. Also added a position to the JavaWriter for easier debugging.
6 anni fa
Stan Hebben
e038d2e192
Implement increment & decrement compilation in the bytecode compiler.
6 anni fa
Stan Hebben
c2737ac7b1
A couple minor changes..
6 anni fa
kindlich
05460bdf50
WIP Array initializers pt. II
6 anni fa
kindlich
280df6c5c0
WIP Array initializers; moved size variable naming to multiArray function
6 anni fa
kindlich
82a22a3d4f
WIP array initializers
6 anni fa
kindlich
4eaf29c967
Array initializers with and without default value
6 anni fa