aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/manual/knownIssue-1976_2114-valPlusDelegateVsEclipseErrors/about.txt35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/manual/knownIssue-1976_2114-valPlusDelegateVsEclipseErrors/about.txt b/test/manual/knownIssue-1976_2114-valPlusDelegateVsEclipseErrors/about.txt
new file mode 100644
index 00000000..58b3df3b
--- /dev/null
+++ b/test/manual/knownIssue-1976_2114-valPlusDelegateVsEclipseErrors/about.txt
@@ -0,0 +1,35 @@
+PullRequest https://github.com/rzwitserloot/lombok/pull/2114 tries to fix issue https://github.com/rzwitserloot/lombok/issues/1976 but causes problems.
+
+The problem is that the fail-fast resolver applied by PR 2114 causes the following issue:
+
+Given:
+
+A.java:
+
+ public class A {
+ interface Inner {
+ default void example() {
+ lombok.val v = doesNotExist();
+ }
+ }
+ B b = new B();
+ }
+
+B.java:
+
+ import com.foo.pkg.A.Inner;
+
+ public class B implements Inner {
+ void foo() {
+ lombok.val v = doesNotExist();
+ }
+ }
+
+will cause A.java to be parsed such that nothing in it exists, in turn causing B to consider A.Inner to not exist at all,
+even though the error on the 'implements Inner' line offers 'import Inner' as a quickfix. This quickfix won't, obviously, fix it.
+
+In addition, enough 'A refers to B refers to A' loops with errors like this and eclipse 2019-06 will eventually run out of heap and crash.
+
+The key commit that attempts to fix 1976 but causes the above issue is commit 089f2ec5f45567c8c12e9d13bf9be8fa5c107c18.
+
+The commit that undoes this, re-introducing 1976 but avoiding the problem above, is commit 877a169727a4c8078c43a4465929247c3390c897.