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 years ago
kindlich
177b59341d
Merge remote-tracking branch 'Stan/development' into development
5 years ago
Stan Hebben
00e09fc358
Fix modifiers on functional interfaces
5 years ago
kindlich
b8be41d1a2
Formatted Functional Interface Wrapper creations
5 years ago
kindlich
82eb1d61eb
Merge remote-tracking branch 'Stan/development' into WIP/functionalInterfaces
5 years ago
Stan Hebben
5f9aac70c8
Added missing update to JavaNativeModule
5 years ago
kindlich
c69b92718a
Merge remote-tracking branch 'Stan/development' into WIP/functionalInterfaces
5 years ago
Stan Hebben
e909486bf3
Added utility method to retrieve the functional interface method from a type.
5 years ago
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 years ago
kindlich
33f3e6406a
Use IdentityHashMap for parameter Info
5 years ago
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 years ago
Stan Hebben
70bd868af4
Added support for functional interfaces.
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
3f29d8bf0c
- Refactored usage of live objects in the IDE
- Save collapse state of the project browser tree
5 years ago
Stan Hebben
da051f56ce
Update generated code
5 years ago
Stan Hebben
54f53f79c1
- Improved interface validation: allow definition members to be used as implementation
- Added support for INTERFACE calls in java source code generation
- Minor source code generation quality improvements
5 years ago
Stan Hebben
6d84156dfd
Merge remote-tracking branch 'kindlich/development' into development
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
kindlich
75785f413f
Minor code reformat
5 years ago
kindlich
8f019d721d
Now actually apply the typeParameters
5 years ago
kindlich
d0e5b835c0
Now correctly check against Interface methods
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
045d7f4cea
Fix array support for native java integration
5 years ago
kindlich
f66a072428
Fix classloader call to super instead of parent
5 years ago
kindlich
dfbc769f02
Added missing break statements to ASSOC_EQUALS
5 years ago
kindlich
222c198437
Revert 4d5fc47bcb
5 years ago
kindlich
26fae95605
Merge remote-tracking branch 'Stan/development' into development
5 years ago
Stan Hebben
533bd04700
Fix field names for globals
5 years ago
Stan Hebben
b434566f11
- Fix auto getters & setters for static fields not being static
- Fix getters for globals not having their corresponding fields registered correctly in the native implementation
- Added java sources for JavaScripting
5 years ago
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 years ago
kindlich
94a48a0942
Added ScriptLoader parameter to ScriptingEngine#run
6 years ago
kindlich
bfb0a33b27
Added classLoader parameter to JavaBytecodeRunUnit#run
6 years ago
kindlich
d630af4178
ASSOC_[NOT]EQUALS
6 years ago
Stan Hebben
b0895350cb
- Starting work on improving type parameter usage in generic methods
6 years ago
Stan Hebben
ad57dc2d83
Added type parameters to method descriptors.
6 years ago
kindlich
9708c58f69
Map.put with class, maybe
6 years ago
kindlich
1c6c2bcf77
WIP: Possibly TryRethrow and panic Expressions
6 years ago
kindlich
28c635f584
Expansion Getters/Setters, expansion static fields and Array contains
6 years ago
Stan Hebben
7102642419
Fix float parsing.
6 years ago
Stan Hebben
d9f32182f1
Fixed null comparison.
6 years ago
Stan Hebben
6f2b5931dd
Added missing class.
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
kindlich
07fa6e2ccb
Optional is and isNot null
6 years ago
kindlich
10bc657ff2
Constructor super calls
6 years ago
Stan Hebben
131ede5818
Fixed compiled dependencies not being registered properly. Also fixed accidental recursion in visitGetField.
6 years ago
kindlich
c01d584edb
WIP Array initializers, pt. III
6 years ago
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 years ago
Stan Hebben
e038d2e192
Implement increment & decrement compilation in the bytecode compiler.
6 years ago