Skip to content

Releases: cojen/Maker

Version 2.8.0

23 May 15:01
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

  • 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

23 Feb 21:25
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

  • 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

23 Mar 21:34

Choose a tag to compare

  • 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

07 Sep 18:00

Choose a tag to compare

  • 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.