Age | Commit message (Collapse) | Author |
|
|
|
constructor is visible to downstream APs
We used to remove the canonical constructor on a record that javac generates, and replace it with our own, as we put null checks in it.
However, the type mirrors and such Annotation Processors use already have the implicit canonical constructor available. Instead of
trying to remove those, let's just take the existing implicit constructor and add to that (and mark it explicit, of course).
|
|
* rewritten how it works a bit: Now compatible with parent exceptions that don't have the Throwable variants.
* rewritten how it works a bit: You can now provide the full constructor only; the rest will forward to it.
* fixing up style.
* rewrite the docs.
|
|
ttzn-standard-exception
|
|
|
|
* move feature under experimental
* replace ProviderFor with Provides
* add doc material (to be completed)
* add author
|
|
* annotation with javac and Eclipse handlers
* single test file
|
|
SuperBuilder: consider lombok.builder.className for builder extends clause
|
|
feature.
All tests passing.
|
|
the compact constructors, generating one if need be.
|
|
the support for records
|
|
# Conflicts:
# src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java
# src/core/lombok/eclipse/handlers/HandleBuilder.java
# src/core/lombok/eclipse/handlers/HandleData.java
# src/core/lombok/eclipse/handlers/HandleNonNull.java
# src/core/lombok/eclipse/handlers/HandleSuperBuilder.java
# src/core/lombok/javac/handlers/HandleBuilder.java
# src/core/lombok/javac/handlers/HandleNonNull.java
# src/core/lombok/javac/handlers/HandleSuperBuilder.java
# test/core/src/lombok/RunTestsViaEcj.java
|
|
in a test file.
|
|
[fixes #2724] Increase priority of Builder annotation removal
|
|
|
|
[fixes #2701] fix NPE on customized SuperBuilder with Singular
|
|
[fixes #2704] SuperBuilder: avoid NPE on existing constructors
|
|
Otherwise they may run after `HandleDelegate`. This is problematic as
`HandleDelegate` parses the compulation unit and `@Builder` may contain imports
(eg `AccessLevel`) that were already removed by other processors, eg `@Getter`.
|
|
|
|
|
|
|
|
superbuilder generated the node `x.pluralName(plural == null ? Collections.emptyList() : plural)`.
java6 is not smart enough to infer the appropriate generics for the emptyList() call.
Fixed by always specifying the needed type explicitly: Collections.<String>emptyList();
|
|
|
|
The jackson dep we need for testing is too new a class file to run on j6, stubbing it out too much effort.
Odds we find a bug specifically because this stuff fails on java6/7 are low, and I'm okay with supporting
6/7 a little less well.
|
|
The `test.javac6` job causes a ton of errors because many tests use java8+ features. Marking them off as java8+ targeted only.
|
|
|
|
|
|
|
|
Save problem handler state for postponed error handling
|
|
|
|
|
|
SuperBuilder now skips initializers while gathering types
|
|
Add missing checker annotations in SuperBuilder
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix NullPointerException during Javadoc copy
|
|
|
|
|
|
|
|
Reset inference context for extension methods
|
|
|
|
In Java >= 8 ecj uses the inference context to resolve the generic
information. This one is already set before lombok tries rewrite the
method call. Simply copying the information does not cover all the
different cases but reseting the inference contexts and running type
inference again does.
|
|
|
|
# Conflicts:
# src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
|
|
an object
These handlers had methods with humongous argument lists, and they needed to grow even more in order
to accommodate some new needs to properly implement checkerframework (where annos can be type-use
based, which means they were being put in the wrong place.
void foo(com.foo.@X Bar paramName) // correct
void foo(@X com.foo.Bar paramName) // wrong
For example, the CalledMethod annotation is a type-use annotation.
This commit covers both that refactor and fixing checkerframework generation.
|
|
Specifically, Rawi01's patches to make javadoc behaviour in eclipse better,
which cannot be applied to ecj as you get load errors (javadoc not a thing there).
As part of this commit, tests can be limited to ecj or eclipse, and I made cut-down
versions of a few tests (to run on ecj, as the main one cannot be, due to javadoc issues).
The tests now marked as eclipse only don't fail on ecj, but they don't generate the same
result. Alternatively, we could go with a separated out after-ecj and after-eclipse dir
instead, but that's perhaps going overboard.
|