Age | Commit message (Collapse) | Author |
|
# 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
|
|
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.
|
|
|
|
|
|
|
|
using a cached one instead. Fixes issue #1579
|
|
|
|
IllegalArgumentException vs. NullPointerException that we really don’t want to get into.
|
|
'ConfigurationKeys'; that bug where fields in annotation defs causes issues is too endemic to try and work around these.
|
|
|
|
|
|
* re-introduction of onMethod/onConstructor/onParam
* tests checking error/warnings rewritten to be more heuristic, in order to accomodate difference in messaging between java6 and java 7
* Ability to eliminate java's own output of erroneous error messages (heh); i.e. those messages that are invalidated by lombok's actions. This mechanism is used for onMethod/onConstructor/onParam
* First steps to unifying a billion setGeneratedBy calls into a single visitor traversal for eclipse' HandleGetter/Setter/Constructor/Wither
* To simplify 'zooming in' the tests on just a few files, added an 'accept' mechanism.
* Updated copyright headers of website to 2013.
|
|
|
|
interfaces; there were too many 'option' methods (methods where you return either true or false), so we really needed the ability to pick a default.
|
|
Synchronized and SneakyThrows
|
|
via the LombokAST object. Instead its tracked more directly in an attempt
to avoid having to write all handlers as idempotent, and just in case
issue #164 is a race condition (the handled-or-not is a synchronized CAS check).
This does break API for other plugins, but the fix is trivial: Just make your
'handle' method return void. That 'we won't call you again' business in the decks
never quite worked right anyway.
Also, you might want to call Javac.(recursive)setHandledBy when you generate nodes, now.
|
|
it exists OR it will be generated by some other lombok annotation, addressing issue #110.
code deduplication by removing HandleData's scanning for fields, which is now no longer done; the sub-parts of Data (Getter, Setter, RequiredArgsConstructor, etc) take care of it now.
fix for class-level @Getter/@Setter, which used to go for every field. Now they skip the usual fields (static, for setters final, and $ prefixed fields).
Bugfix for @Data not recognizing that it should let field-level @Getter/@Setter take care of generating the getter/setter for multi field declarations (@Getter int x, y);
|
|
Also added fix: @Constructor with access level none are now no longer generated.
Implements issue #122
|
|
@AllArgsConstructor for eclipse.
Implements issue #79.
|
|
|
|
'setUrl' field if you have a field named 'url'.
|
|
- Constructor(s)
- Getters/Setters per field
- equals
- hashCode
- toString
Added first test for @Data
|
|
|
|
|