Since 3.2
- Optimized updaters/withers: avoid unnecessary allocation
- New @WrapsGeneratedValueClass annotation to support automatic wrapping, see Expression class in README.md file
- Configurable floatEpsilon and doubleEpsilon for generated floating-point comparisons
Since 3.1
- Always generate code, even in presence of compilation errors
- Implement support for explicit recursion without
selfReferenceVariableName
hack - Split README file into more manageable/readable parts
Since 3.0
- No more classes from chicory* packages in public API
- adt4-shaded artifact should truly have no dependencies
- javax.annotation.Nullable, javax.annotation.Nonnull and javax.annotation.ParametersAreNonnullByDefault are used only if these classes are present in classpath during compilation
Since 2.0
- Better generated code: no FireBugs warnings
- Add adt4-shaded artifact without any dependencies.
- Switch to Java 7 as minimal java version.
Since 1.3
- Add
hashCodeCaching
parameter to@GenerateValueClassForVisitor
annotation to support hash code caching, seeRecordVisitor
,GroupNameVisitor
,UserKeyVisitor
andExpression
examples.
Since 1.2
- Add support for multiple predicate generation for single method with new
@GeneratePredicates
annotation.
Since 1.1
-
As little information from source code as possible is used during code generation. It's now possible to define fully customized single file data-type definitions, see
Either
example. -
metachicory is not required at runtime, since
@Visitor
-annotation retention is set toSOURCE
now. ADT4J has no run-time dependencies now.
Since 1.0
- Add default names for generated getters, updaters and predicates. Allow to omit name parameter.
- API-breaking change: rename value argument to name argument of @Getter, @Updater and @GeneratePredicate annotations
- API-breaking change: use com.github.sviperll.meta.Visitor annotation from metachicory package.
- Add dependency to metachicory package which provides some generic metaprogramming support.
Since 0.14
- Fully customizable access levels for generated API
Since 0.13
- Lots of performance improvements
Since 0.12
- Fix recursive types support (see
TreeVisitor
example) - Fix varargs support
- Code cleanup
- Rename
adt4j-core
artifact toadt4j
Since 0.11
- Nullable and Nonnull annotations on generated methods
- No warnings from generated code
Since 0.10
- Use maven as build system
Since 0.9
- Predicates can be generated to test for specific case
- Comparable instances can be generated