This update primarily adds class-specific types to classysk. This was a *big* maybe for the project so I'm excited to have this working.
Old:
Code:
function example(instance: class instance):
New:
Code:
# only instances of the class Example are accepted
function example(instance: Example instance):
Changes included in this update:
- Concrete, class-specific types
- New typed/untyped instance expression
- Types that are set to serialize as a different type are now properly converted when stored in a field.
- Fields are now properly converted on deserialization, before it would only check *if* they could convert before creating the field.
- Safe calls (like ``{_var}<>::field`` which erase parse-time type information) should now function as intended, no longer throwing a null pointer exception.
- Class names can no longer be case sensitive depending on config options, fields and methods are unaffected.
Note:
- While testing for 1.21.11 on java 25+ i ran into a warning from paper's remapper. This is a minor compatibility issue from paper trying to remap internal helper classes generated by bytebuddy. It shouldn't cause issues with the plugin's functionality. To get rid of the warning, switch to java 21 or update your server.