Releases: cojen/Maker
Releases · cojen/Maker
Version 2.8.0
Immutable
release. Only release title and notes can be modified.
- Fixed handling of bootstrap methods with varargs.
- Fixed an infinite loop when looking for superclasses of java.lang.Object.
- Added support for special primitive type comparsion operations.
- Disallow duplicate methods, which would result in a ClassFormatError when the class is finished. An IllegalStateException is thrown instead.
- Improve the exception message when the class isn't found when looking for a field, method, or constructor.
- Support logical shifts by longs, although only the lower 5 or 6 bits are effective.
- Improve peephole optimization against the relational operations which return a boolean.
- Partially undo a change from version 2.6.3 and eliminate unnecessary primitive variables, even if they have a name.
- Removed internal pseudo ops for supporting line numbers, local variable names, and local variable signatures. They interfered with peephole optimizations, preventing them from being applied.
Version 2.7.2
Immutable
release. Only release title and notes can be modified.
- Added support for defining explicitly named inner classes.
- When a method is overloaded to accept a short or int parameter and the argument is a byte, bind to the short variant instead of failing with "No best matching method found".
Version 2.6.5
- Fields and methods should be referenced by the class they're accessed from, and not the class they're defined in. This change affects linkage rules for classes which aren't immediately loaded, and it's now consistent with the Java compiler.
Version 2.5.11
- Added a variable decrement method.
- Avoid generating a conversion instruction when comparing against a constant primitive value.
- Reduce constant pool pollution when the StackMapTable attribute isn't needed.