kindlich
710d29a45a
JavaNativeModule: Fixed Method selection for Functional interfaces
Background: We only checked public nondefault, that matched for public statics as well.
Now checks for public nodefault abstract
Also TODO: Functional Type may not be part of functional Method's signature
4 years ago
kindlich
ee949a7bd1
JavaNative: Moved loading of method return type to a latter time
Background: If the return type was a generic parameter, that early it wouldn't have been populated yet, and why load the return type as first thing in a method anyways?
4 years ago
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 years ago
kindlich
a96a0f41c0
Fixed JNM#getFunctionalInterfaceMethod
Now it doesn't select the first nondefault method but the first public nondefault method
4 years ago
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
4 years ago
kindlich
422ee64c85
[WIP, I have no idea what I'm doing]Get types declared in StdLibs from the registry
4 years ago
kindlich
8dd4cef26d
Added type mapping when generic base type is a class
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
Jared
1d02904fea
Maybe fixed type arguments, added more logger info
5 years ago
Jared
c7466e5c37
Log more info about what package is trying to be registered into
5 years ago
Jared
4cbbe1f387
work on getting this working
5 years ago
Jared
0f5abe283a
fix optionals not inheriting nullable and expecting a default type
5 years ago
Jared
6335559b29
Remove stdlib as a resource, as it is causing duplicate jar entries
5 years ago
Jared
cc51395056
made stdlibs a jar file
5 years ago
Jared
459781d075
Revert back to the zip file
5 years ago
Jared
6de9e2f3fc
don't include StdLibs in the build anymore
5 years ago
Jared
1f4b126e18
Added FolderPackage, made stdlibs read from a folder instead of zip
5 years ago
Jared
cb2950a278
Revert "test with naming StdLibs as zsp (zs package)"
This reverts commit 95d9aa2b32 .
5 years ago
Jared
95d9aa2b32
test with naming StdLibs as zsp (zs package)
5 years ago
kindlich
2e09623f39
Fixed Module using class name instead of annotation name
5 years ago
Jared
71844ec536
Added a logger to ScriptingEngine to catch a few extra errors
5 years ago
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 years ago
kindlich
4a078a08ae
Added Storage tag annotation
5 years ago
kindlich
eca522b4f9
Some GetForName Changes
5 years ago
kindlich
215e92e5bf
Added TypeParsing to JNM#getTypeFromName
5 years ago
Jared
1ac2cb0bb6
fixed crash when value.name is null
5 years ago
Jared
6f6b96ddb5
More work on expansions, casters are done
5 years ago
kindlich
c7c34cbc2a
Expansions: Check if the 1st parameter is the expanded type
5 years ago
kindlich
b1a2691cbf
First step towards ZenExpansions
They worked in my simple, void test example
5 years ago
kindlich
58a34905c6
Fix optional not counting as nullable
The Optional annotation is parameter, not type bound
5 years ago
kindlich
1dd20f24a2
JavaNativeModule: Moved definition register up to help with circular hierarchies
E.g. IIngredient has a method that accepts an IItemStack, which is a sub-interface
5 years ago
kindlich
5d6ed900ad
Allow the use of default expressions in Optional annotation
5 years ago
Jared
93d75695ec
fix optionals not inheriting nullable and expecting a default type
5 years ago
Jared
ba2b04790b
small code cleanup
5 years ago
kindlich
cebae626fe
ShouldLoadClass now checks for Name annotation
5 years ago
Jared
d9e8ef65ea
Made the Name error say which class caused the issue
5 years ago
kindlich
5e9d773084
Allow Already converted classes from dependencies to be used, even if in another package
5 years ago
Jared
cbf1ac90e6
Added kindlich's name fix
5 years ago
Jared
191edd6cae
Added better logging in JavaNativeModule
5 years ago
kindlich
fa8a3588cb
Fixed Exception for invalid package even if the class name was overriden using @Name
5 years ago
Stan Hebben
c3b948d8fe
Fixed support for optional parameters. Also implemented java integration for them.
5 years ago
kindlich
b34bdf376a
Enums now are registered to their class package, fields use the correct modifiers
TODO: Verify that the access check is correct
5 years ago
kindlich
5374b6f716
WIP: Loggers, added parsing logger
5 years ago
kindlich
2255428bd9
Created ScriptingEngine#createScriptedModule overload that accepts loggers
5 years ago
kindlich
a4d4176e7f
JavaNativeLoader: removed unneccessary Field
5 years ago
kindlich
608baebce8
Added modules getter to the ScriptingEngine and allow empty base base package names in JavaNativeModule
5 years ago
Stan Hebben
a86086cdec
Added native loader to resolve dependencies between native modules.
5 years ago
Stan Hebben
d151b5ef99
Fix nullable types.
5 years ago
Stan Hebben
5ea804b3d3
Fix method signatures containing only the short name instead of full class name.
5 years ago