kindlich
d4a722cd92
Fixed this call in primitive expansions
Who would've thought that a 'this' can be a non-object :thinking-face:
5 роки тому
kindlich
6ada4ffce1
Replaced hardcoded IntRange class name
Reason: Some iterators use the generated USizeRange which would throw a ClassCastException
5 роки тому
kindlich
d2fdb13730
Fix expansion method signature and call
Signature: Include the type in the signature if it is an expansion method
Call: Call invokeStatic if its an expansion method
5 роки тому
kindlich
341f8c23f5
Jdk classes no longer 'created', stopped 2nd registration of empty classes
- Apparently, ZC tried to create (empty) java.lang and java.util classes
- Script blocks and Module Highleveldefinitions create the same class and they aren't merged but the scripts blocks (which run later) try to replace the definitions. Workaround by preventing 2nd registrations and printing to System.err
5 роки тому
Jared
aaca0261f1
Removed some unneeded static fields
5 роки тому
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 роки тому
kindlich
4a5b508fbe
Pop method return type if ZC thinks a nonvoid method returns a void value
5 роки тому
Jared
82257b2a71
Made the bytecode run unit throw errors instead of eating them
5 роки тому
kindlich
94128e728d
Fixed Optional primitive casts -> String
Now instead uses Objects.toString(...) for them
5 роки тому
kindlich
8f71b442fc
Added unboxingTypeVisitor and fixed primitives in Iterators
5 роки тому
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 роки тому
kindlich
3fd8e37ec9
WIP: Rudimentary work on VarAargs
5 роки тому
kindlich
3bf515d8e8
Implemented SuperTypeCast for ExpressionVisitor
5 роки тому
Jared
e7bcbcffaf
Fix maps not working
5 роки тому
kindlich
e614149c8c
Moved Array default value to default value expression
5 роки тому
kindlich
96b6386d79
JavaCompiler: Use LinkedHashMap to preserve execution order
5 роки тому
kindlich
f6516d5246
Set file and line meta info
6 роки тому
kindlich
8dc22bcfeb
Java Bytecode Array Constructor: Implemented projection with indices
6 роки тому
kindlich
6f95dd3ff9
Java Bytecode Array Constructor: Finished Projection function invocation
6 роки тому
kindlich
d062ad0149
Fixed Bridge methods invoking in the incorrect class
6 роки тому
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.
6 роки тому
kindlich
b8be41d1a2
Formatted Functional Interface Wrapper creations
6 роки тому
Stan Hebben
e909486bf3
Added utility method to retrieve the functional interface method from a type.
6 роки тому
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
6 роки тому
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
6 роки тому
Stan Hebben
aab7cc69f1
- Continued implementation of interfaces in the bytecode compiler.
- Added support to have a native method both as operator and named method
6 роки тому
kindlich
d0e5b835c0
Now correctly check against Interface methods
6 роки тому
kindlich
f66a072428
Fix classloader call to super instead of parent
6 роки тому
kindlich
dfbc769f02
Added missing break statements to ASSOC_EQUALS
6 роки тому
kindlich
222c198437
Revert 4d5fc47bcb
6 роки тому
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 роки тому
kindlich
bfb0a33b27
Added classLoader parameter to JavaBytecodeRunUnit#run
6 роки тому
kindlich
d630af4178
ASSOC_[NOT]EQUALS
6 роки тому
Stan Hebben
b0895350cb
- Starting work on improving type parameter usage in generic methods
6 роки тому
Stan Hebben
ad57dc2d83
Added type parameters to method descriptors.
6 роки тому
kindlich
9708c58f69
Map.put with class, maybe
6 роки тому
kindlich
1c6c2bcf77
WIP: Possibly TryRethrow and panic Expressions
6 роки тому
kindlich
28c635f584
Expansion Getters/Setters, expansion static fields and Array contains
6 роки тому
Stan Hebben
7102642419
Fix float parsing.
6 роки тому
Stan Hebben
d9f32182f1
Fixed null comparison.
6 роки тому
Stan Hebben
6f2b5931dd
Added missing class.
6 роки тому
Stan Hebben
0d31f0cd9a
Added script parameter system. Also refactored SourceFile info, it's no longer a tag but available as field in ScriptBlock.
6 роки тому
kindlich
07fa6e2ccb
Optional is and isNot null
6 роки тому
kindlich
10bc657ff2
Constructor super calls
6 роки тому
Stan Hebben
131ede5818
Fixed compiled dependencies not being registered properly. Also fixed accidental recursion in visitGetField.
6 роки тому
kindlich
c01d584edb
WIP Array initializers, pt. III
6 роки тому
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 роки тому
Stan Hebben
e038d2e192
Implement increment & decrement compilation in the bytecode compiler.
6 роки тому
Stan Hebben
c2737ac7b1
A couple minor changes..
6 роки тому
kindlich
05460bdf50
WIP Array initializers pt. II
6 роки тому