Dynamic Function Call-sites
Pre-release
Pre-release
This draft makes some major changes to the internal workings of functions, but should have no changes for users.
In an attempt to reconcile Skript's lack of typing with the JVM's harsh typing, function calls can now access methods with non-object parameters.
This version includes the bridge compiler, a new on-the-fly compiler that builds a connecting interface to smartly convert JVM types into Skript objects, and to deal with functions that take atomics.
The bridge compiler is available at runtime.
Functions now use invokedynamic in all cases, which will make them slightly slower on first call when the bridge compiler is dealt with, but after the first run they will be back to normal speed.