Age | Commit message (Collapse) | Author |
|
SuperBuilder: consider lombok.builder.className for builder extends clause
|
|
feature.
All tests passing.
|
|
# 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
|
|
[fixes #2704] SuperBuilder: avoid NPE on existing constructors
|
|
We used to use the mango SPI processor, but this had two major issues:
* ecj wouldn't run annotation processors, requiring a separate proc:only compile run with javac
* mangoSPI couldn't do incremental compilation, so this required a full rebuild just to generate SPI files, every time.
Addressed by updating to IPP40 which does support explicit annotation processors even for ecj, and
adding our own SPI generating annotation processor to the build which can deal with incrementals.
There are some limits; removing a `@Provides` annotation on an existing type will need a full clean to pick that up, for example.
These limits seem quite exotic, though.
|
|
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();
|
|
|
|
|
|
|
|
|
|
|
|
SuperBuilder now skips initializers while gathering types
|
|
Add missing checker annotations in SuperBuilder
|
|
|
|
|
|
|
|
|
|
|
|
Fix NullPointerException during Javadoc copy
|
|
|
|
|
|
|
|
|
|
# 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.
|
|
- Fix bug where 0 would be returned once
- Fix Eclipse position error
- Don't initialize field with default value 0
|
|
|
|
Allow caching hash code for non-final classes (but will warn)
Use Integer.MIN_VALUE to differentiate uncached and 0 cached
|
|
|
|
|
|
Co-authored-by: Rawi01 <Rawi01@users.noreply.github.com>
|
|
Co-authored-by: Rawi01 <Rawi01@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
refactored to use a single object with a bunch of fields so we can pass this object around instead.
|
|
into Rawi01-delegate-methods-outline
# Conflicts:
# src/core/lombok/eclipse/EclipseAugments.java
|
|
Rawi01-eclipse-javadoc
# Conflicts:
# src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java
|
|
This also replaces the javac/eclipse specific code for searching the
parent fields of an annotation by a search based on the lombok AST.
|
|
|
|
Conflicts:
src/core/lombok/javac/handlers/JavacHandlerUtil.java
test/core/src/lombok/RunTestsViaEcj.java
|
|
|
|
|
|
|
|
|
|
|
|
|