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.
|
|
|
|
|
|
(chainable setters, static constructors, builder stuff)
|
|
nullchecks.
|
|
|
|
|
|
A bit of a shadow feature because the checker framework folks need to do some work on their side.
this update makes lombok generate a few checker framework annotations (if configured to do so)
which let the checker framework add warnings and errors for example if you misuse builders, or ignore
the return values of withers, etc.
|
|
now called `$value` in order to convey that you shouldnt manually mess with it.
|
|
jackson’s `@JsonProperty`.
|
|
|
|
‘copyable’ annotations get copied’, with ‘copyable’ defined as a specific FQN-style list of well-known nullity-indicating annotations, plus whatever you configured in lombok.config.
Also some work on the notion of TYPE_USE annotations.
|
|
|
|
|
|
|
|
documentation review, bugfix for setter auto-presuming chaining even when you didn’t configure it to chain.
|
|
where you can include/exclude fields by annotating the fields.
|
|
|
|
|
|
appropriate.
|
|
|
|
args.
|
|
now ‘nicer’ and no longer requires having to deal with the fact that it can return both ‘null’ AND empty arrays.
Thanks to Maaartin Gracjar for setting this change in motion in commit 842a4759165c5cd05aae63da3921ee11a3641a4b.
|
|
While Maaartinus' thoughts are obviously correct (far better to use an empty array to convey 'this list-like construct has 0 items in it right now', vs. a null pointer),
eclipse actually uses null-as-empty almost everywhere, and a lot of eclipse code will simply break if you don't do it right.
This reverts commit 842a4759165c5cd05aae63da3921ee11a3641a4b.
|
|
|
|
IllegalArgumentException vs. NullPointerException that we really don’t want to get into.
|
|
* Conflict due to adding topic() feature to logger in master, and 'field name' feature in config branch.
* master has since updated to shiny new eclipse dep versions and the 'ant eclipseForDebugging' feature, but this branch added deps. Addressed that.
* Renamed 'loggerCategory' to 'loggerTopic'. I know, that wasn't exactly right to do in a merge, but, there you have it.
* Test infrastructure changed in configuration branch, and tests had been added in master branch.
Conflicts:
build.xml
buildScripts/ivy.xml
src/core/lombok/eclipse/handlers/HandleLog.java
src/core/lombok/extern/apachecommons/CommonsLog.java
src/core/lombok/extern/java/Log.java
src/core/lombok/extern/log4j/Log4j.java
src/core/lombok/extern/log4j/Log4j2.java
src/core/lombok/javac/handlers/HandleLog.java
test/transform/resource/after-ecj/ValInTryWithResources.java
|
|
[refactor] Merged TransformationsUtil and HandlerUtil
|
|
'ConfigurationKeys'; that bug where fields in annotation defs causes issues is too endemic to try and work around these.
|
|
|
|
made lots of private/package private methods 'public' in packages that aren't actually public API. Tumi asked for this, and I can imagine this is useful for others who are hacking add-ons to lombok. The package-info files clarify that we aren't committing to long-term stability of anything except the stuff directly in the lombok package, lombok.experimental, and lombok.extern.
|
|
@Value's final-by-default and private-by-default with it; now
appropriate warnings are emitted)
* Builder now errors out on presence of most lombok annotations on an
explicit builder class.
* Builder now takes @FieldDefaults/@Value into account.
* Builder on type now generates the constructor as package private
instead of private to avoid synthetic accessor constructors.
* added a bunch of test cases.
* added a test case feature: If the expected file is omitted entirely
but there are expected messages, the differences in the output itself
are ignored.
* streamlined checking for boolean-ness (removed some duplicate code)
* added 'fluent' and 'chain' to @Builder.
|
|
|
|
* 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.
|
|
annotations including @NonFinal and @PackagePrivate, and some refactors. No tests yet.
|
|
refactors to HandleSetter
|
|
|
|
Conflicts:
src/core/lombok/eclipse/handlers/HandleGetter.java
src/core/lombok/eclipse/handlers/HandleSetter.java
src/core/lombok/javac/handlers/HandleGetter.java
src/core/lombok/javac/handlers/HandleSetter.java
|
|
|
|
|
|
getter/setter
|
|
method bodies are converted instead of skipped
Set Assignment.statementEnd to prevent invalid sourceRange in Statement convert
|
|
|
|
is) separately compilable, i.e. has no deps on any of the others.
This is preparation work for being able to access some of these from lombok.ast without creating a cyclic dependency nightmare.
|
|
incapabilities. Issue #251
|
|
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.
|