diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2021-03-04 22:15:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-04 22:15:03 +0100 |
commit | e959e8882c11349fb87cea3a134de263249d7b21 (patch) | |
tree | 1d7789d3197d5afcfae6a4c4152384668232917f /test | |
parent | bb36d95226f9432120bb12db8e22363107969c56 (diff) | |
parent | 0106746e60263d8cc3fbd189cca7b2e09c3d5c06 (diff) | |
download | lombok-e959e8882c11349fb87cea3a134de263249d7b21.tar.gz lombok-e959e8882c11349fb87cea3a134de263249d7b21.tar.bz2 lombok-e959e8882c11349fb87cea3a134de263249d7b21.zip |
Merge pull request #2754 from Rawi01/npe-nonStaticAccess
Save problem handler state for postponed error handling
Diffstat (limited to 'test')
4 files changed, 44 insertions, 0 deletions
diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java index 1d840a21..454a8aef 100644 --- a/test/core/src/lombok/RunTestsViaEcj.java +++ b/test/core/src/lombok/RunTestsViaEcj.java @@ -83,6 +83,8 @@ public class RunTestsViaEcj extends AbstractRunTests { warnings.put(CompilerOptions.OPTION_ReportUnusedLabel, "ignore"); warnings.put(CompilerOptions.OPTION_ReportUnusedImport, "ignore"); warnings.put(CompilerOptions.OPTION_ReportUnusedPrivateMember, "ignore"); + warnings.put(CompilerOptions.OPTION_ReportIndirectStaticAccess, "warning"); + warnings.put(CompilerOptions.OPTION_ReportNonStaticAccessToStatic, "warning"); int ecjVersion = Eclipse.getEcjCompilerVersion(); warnings.put(CompilerOptions.OPTION_Source, (ecjVersion < 9 ? "1." : "") + ecjVersion); options.set(warnings); diff --git a/test/transform/resource/after-ecj/ExtensionMethodNonStaticAccess.java b/test/transform/resource/after-ecj/ExtensionMethodNonStaticAccess.java new file mode 100644 index 00000000..c930a329 --- /dev/null +++ b/test/transform/resource/after-ecj/ExtensionMethodNonStaticAccess.java @@ -0,0 +1,22 @@ +class ExtensionMethodNonStaticAccess { + ExtensionMethodNonStaticAccess() { + super(); + } + public void method() { + Derived derived = new Derived(); + derived.staticMethod(); + } +} +class Base { + Base() { + super(); + } + static String staticMethod() { + return ""; + } +} +class Derived extends Base { + Derived() { + super(); + } +} diff --git a/test/transform/resource/before/ExtensionMethodNonStaticAccess.java b/test/transform/resource/before/ExtensionMethodNonStaticAccess.java new file mode 100644 index 00000000..0d317c35 --- /dev/null +++ b/test/transform/resource/before/ExtensionMethodNonStaticAccess.java @@ -0,0 +1,18 @@ +//issue #2752: this test triggers an indirect static access and a non static access warning for the same method call +//platform ecj,eclipse +class ExtensionMethodNonStaticAccess { + public void method(){ + Derived derived = new Derived(); + derived.staticMethod(); + } +} + +class Base { + static String staticMethod() { + return ""; + } +} + +class Derived extends Base { + +}
\ No newline at end of file diff --git a/test/transform/resource/messages-ecj/ExtensionMethodNonStaticAccess.java.messages b/test/transform/resource/messages-ecj/ExtensionMethodNonStaticAccess.java.messages new file mode 100644 index 00000000..3f5f3988 --- /dev/null +++ b/test/transform/resource/messages-ecj/ExtensionMethodNonStaticAccess.java.messages @@ -0,0 +1,2 @@ +6 The static method staticMethod() from the type Base should be accessed directly +6 The static method staticMethod() from the type Base should be accessed in a static way
\ No newline at end of file |