kindlich
8773d157ac
JavaNativeModule: Don't add methods whose signature was overriden to child class
Background: Javac creates an ACC_BRIDGE method to deal with the signature change (either a covariant parameter or contravariant return type change).
Hence there are two declared methods, one that is the old one, one that is new. For Signatures where only the return type changed this caused both to be registered and an ambiguity later where ZC could not determine which to choose
4 лет назад
kindlich
fb280d54ed
CheckCast after MapGet if not primitive
Required for Type assertion, else a 'Object is not assignable to X' will follow
4 лет назад
kindlich
e11d51a9a9
Allow empty ()
Required for lambdas
4 лет назад
kindlich
d04d5d57b6
JavaCompiler: Fix class names
4 лет назад
kindlich
cd038e6f9b
Made ScriptingExample read from subdirectories
.. Unless they have 'nope' in their name
4 лет назад
kindlich
66ec3e003b
Box Map keys when indexGetting
4 лет назад
kindlich
59f5cb9a0a
Made ScriptingExample log to Console
4 лет назад
kindlich
5cba6fc7b0
Checkcast may not work that well with primitives ^^'
4 лет назад
kindlich
c984531cc3
More work on generics
This time for nonexpansions.
The method signatures should be calculated correctly now, though they are still only filled with nulls
4 лет назад
kindlich
4ad3331928
Added Signature to JavaField constructor
Was an instance field all along, but always set to null
4 лет назад
kindlich
1a3075532c
WIP: More work on Generics in Expansions
4 лет назад
kindlich
8f1960209a
WIP: More work on generic parameters in expansions
4 лет назад
kindlich
45029d5e80
Fixed compilation with generic arguments
5 лет назад
kindlich
a96a0f41c0
Fixed JNM#getFunctionalInterfaceMethod
Now it doesn't select the first nondefault method but the first public nondefault method
5 лет назад
kindlich
5a9962b07a
[WIP] Skip member evaluation if class should not be loaded in the first place
Reason behind this is to prevent NoClassDefFoundErrors for working with Sided classes in MCF
5 лет назад
kindlich
5abd2b5b01
[WIP] Compile default values in functions
5 лет назад
kindlich
ab219cfc98
Merge remote-tracking branch 'jared/development' into genericParams
5 лет назад
Jared
eaa9db6cad
Merge remote-tracking branch 'kindlich/development' into development
5 лет назад
kindlich
fe4fd443d5
Merge remote-tracking branch 'jared/development' into genericParams
5 лет назад
Jared
1895fed5e5
update ASM to latest
5 лет назад
kindlich
48ccb11add
Output now creates missing folders
5 лет назад
kindlich
c4acf675e8
[WIP] Duplicate class names, pt. II
Fixed functions not working properly
5 лет назад
kindlich
422ee64c85
[WIP, I have no idea what I'm doing]Get types declared in StdLibs from the registry
5 лет назад
kindlich
6d51a81766
Fixed LocalVariableGet calls when inside a lambda
5 лет назад
kindlich
4915d51d3f
Added event stub to scripting example
5 лет назад
kindlich
2518c6b512
[WIP, I have no idea what I'm doing] Check generic type arguments when comparing if a type extends another
5 лет назад
kindlich
659dd13020
Fixed NPE if a return statement without expression was used
5 лет назад
kindlich
f9d96e18de
Fixed using signature instead of description when checking if a bridge methos is necessary
5 лет назад
kindlich
bf1ecfacd3
Fixed NPE in ScriptingExample due to nonpushing visitor not loaded
5 лет назад
kindlich
8dd4cef26d
Added type mapping when generic base type is a class
5 лет назад
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 лет назад
kindlich
49043637e1
[WIP, not sure] Added generic types checking if their bounds are met
Before it they would simply return false, even if a type would match the bounds
5 лет назад
kindlich
1d49da3a9c
Fixed incorrect method signature on lambda methods
They used the signature instead of the description, so there was an AIOOB when the compiler tried to cast a 'TT;' as that only exists in signatures, not in descriptions
5 лет назад
kindlich
f85ee75d6f
Fixed NPE caused by Statement#getReturnType returning Null
5 лет назад
kindlich
b9a8c490d2
Fixed Global Expressions not being captureable
Is there any reason why not to?
5 лет назад
kindlich
10fc19cc9f
WIP: Saving so that it is safe :smile:
5 лет назад
kindlich
f387449a4e
Interpolation in BEPs
5 лет назад
Jared
1c81df7e77
Merge remote-tracking branch 'kindlich/development' into development
5 лет назад
Jared
1d02904fea
Maybe fixed type arguments, added more logger info
5 лет назад
kindlich
9bd9528c43
Removed debug .class file dumps
5 лет назад
kindlich
20f966f47e
[WIP] Duplicated Class names
This commit at least fixes that some classes have the same name, e.g. the name of an expansion class and the name of the script block part within the file.
WIP since it still needs more doing and a way to properly store already generated names.
5 лет назад
Jared
c7466e5c37
Log more info about what package is trying to be registered into
5 лет назад
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
033581a709
Added StdLibs to the scripting example, updated gitignore to block out/
5 лет назад
Jared
84b407af0d
Fix Iterator not having methods / fixed stdlibs not being reloadable
5 лет назад
Jared
aaca0261f1
Removed some unneeded static fields
5 лет назад
kindlich
a3eea65869
Added all registered modules to the compile space
5 лет назад