Age | Commit message (Collapse) | Author |
|
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.
|
|
- 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
|
|
|
|
|
|
|
|
Detect static method access properly
|
|
Fix suppressBaseMethods in ecj/eclipse
|
|
Rawi01-eclipse-javadoc
# Conflicts:
# src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java
|
|
hard to test
Specifically, using as custom logger topic a concatenated string, like literally `"A" + "B"`. It works,
but depending on javac and phase of the moon that ends up as `"A" + "B"` or `"AB"`, and I don't
think it's worthwhile for lombok to try to be consistent in this and test for that.
|
|
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:
build.xml
|
|
Conflicts:
src/core/lombok/javac/handlers/JavacHandlerUtil.java
test/core/src/lombok/RunTestsViaEcj.java
|
|
We now test generating a level2-DOM from our level1-AST (eclipse has 3 levels of ASTs, more or less), only if
that is possible, i.e. only if the full eclipse is available. This requires using a test target named `eclipse-X`, and not
one of the `ecjX` ones. This is the change that requires the massive update to the build system. About 6 tests,
including a newly added one about @Delegate, now fail. These failures would usually not cause instant failure in
eclipse, but can cause errors during save actions and will likely mess with other things in weird ways, such as
messing up syntax highlighting.
Yes, this commit now makes a bunch of cases fail the unit tests, but that is representative of actual errors in lombok,
so I'm checking it in as is (without this commit, the problem is still there, the tests are just incapable of detecting it).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copy more Jackson annotation to the builder, also to @Singular methods
|
|
Add null check in copyTypeAnns
|
|
[SuperBuilder] fix IndexOutOfBounds (fixes #2407)
|
|
|
|
|
|
|
|
added some tests to confirm that lombok makes things static if needed.
|
|
Now generating checkerframework `@Pure` instead of `@SideEffectFree` where appropriate.
|
|
... unfortunately eclipse's val resolver is now very slightly worse in very exotic circumstances - spent about 4 hours trying to fix it, can't figure it out, let's move on.
|
|
they fail due to builder annotation not being removed.
|