From 4d2ae4ba3261ab2963c13649b3ba8f4b3881e9c3 Mon Sep 17 00:00:00 2001 From: Rawi01 Date: Thu, 20 Aug 2020 09:27:11 +0200 Subject: [bugfix] Fix suppressBaseMethods in ecj/eclipse --- .../after-delombok/ExtensionMethodSuppress.java | 33 +++++++++++++++++ .../after-ecj/ExtensionMethodSuppress.java | 41 +++++++++++++++++++++ .../resource/before/ExtensionMethodSuppress.java | 43 ++++++++++++++++++++++ .../ExtensionMethodSuppress.java.messages | 1 + 4 files changed, 118 insertions(+) create mode 100644 test/transform/resource/after-delombok/ExtensionMethodSuppress.java create mode 100644 test/transform/resource/after-ecj/ExtensionMethodSuppress.java create mode 100644 test/transform/resource/before/ExtensionMethodSuppress.java create mode 100644 test/transform/resource/messages-ecj/ExtensionMethodSuppress.java.messages (limited to 'test/transform') diff --git a/test/transform/resource/after-delombok/ExtensionMethodSuppress.java b/test/transform/resource/after-delombok/ExtensionMethodSuppress.java new file mode 100644 index 00000000..d9e7cb28 --- /dev/null +++ b/test/transform/resource/after-delombok/ExtensionMethodSuppress.java @@ -0,0 +1,33 @@ +class ExtensionMethodSuppress { + public void test() { + Test.staticMethod(); + Test test = new Test(); + Extensions.instanceMethod(test); + Extensions.staticMethod(test); + } +} + +class ExtensionMethodKeep { + public void test() { + Test.staticMethod(); + Test test = new Test(); + test.instanceMethod(); + test.staticMethod(); + } +} + +class Test { + public static void staticMethod() { + } + + public void instanceMethod() { + } +} + +class Extensions { + public static void staticMethod(Test test) { + } + + public static void instanceMethod(Test test) { + } +} \ No newline at end of file diff --git a/test/transform/resource/after-ecj/ExtensionMethodSuppress.java b/test/transform/resource/after-ecj/ExtensionMethodSuppress.java new file mode 100644 index 00000000..83e4b57f --- /dev/null +++ b/test/transform/resource/after-ecj/ExtensionMethodSuppress.java @@ -0,0 +1,41 @@ +import lombok.experimental.ExtensionMethod; +@ExtensionMethod(Extensions.class) class ExtensionMethodSuppress { + ExtensionMethodSuppress() { + super(); + } + public void test() { + Test.staticMethod(); + Test test = new Test(); + Extensions.instanceMethod(test); + Extensions.staticMethod(test); + } +} +@ExtensionMethod(value = Extensions.class,suppressBaseMethods = false) class ExtensionMethodKeep { + ExtensionMethodKeep() { + super(); + } + public void test() { + Test.staticMethod(); + Test test = new Test(); + test.instanceMethod(); + test.staticMethod(); + } +} +class Test { + Test() { + super(); + } + public static void staticMethod() { + } + public void instanceMethod() { + } +} +class Extensions { + Extensions() { + super(); + } + public static void staticMethod(Test test) { + } + public static void instanceMethod(Test test) { + } +} \ No newline at end of file diff --git a/test/transform/resource/before/ExtensionMethodSuppress.java b/test/transform/resource/before/ExtensionMethodSuppress.java new file mode 100644 index 00000000..d30652d3 --- /dev/null +++ b/test/transform/resource/before/ExtensionMethodSuppress.java @@ -0,0 +1,43 @@ +import lombok.experimental.ExtensionMethod; + +@ExtensionMethod(Extensions.class) +class ExtensionMethodSuppress { + public void test() { + Test.staticMethod(); + + Test test = new Test(); + test.instanceMethod(); + test.staticMethod(); + } +} + +@ExtensionMethod(value = Extensions.class, suppressBaseMethods = false) +class ExtensionMethodKeep { + public void test() { + Test.staticMethod(); + + Test test = new Test(); + test.instanceMethod(); + test.staticMethod(); + } +} + +class Test { + public static void staticMethod() { + + } + + public void instanceMethod() { + + } +} + +class Extensions { + public static void staticMethod(Test test) { + + } + + public static void instanceMethod(Test test) { + + } +} \ No newline at end of file diff --git a/test/transform/resource/messages-ecj/ExtensionMethodSuppress.java.messages b/test/transform/resource/messages-ecj/ExtensionMethodSuppress.java.messages new file mode 100644 index 00000000..dfa778a4 --- /dev/null +++ b/test/transform/resource/messages-ecj/ExtensionMethodSuppress.java.messages @@ -0,0 +1 @@ +21 The static method staticMethod() from the type Test should be accessed in a static way \ No newline at end of file -- cgit