aboutsummaryrefslogtreecommitdiff
path: root/test/transform/resource/before
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2020-09-17 22:18:11 +0200
committerGitHub <noreply@github.com>2020-09-17 22:18:11 +0200
commit60d86fab3c0d7716cf78ce6cfc62193395f7b3c3 (patch)
tree9310fdfb808d7045f524de131fde7c0d08118800 /test/transform/resource/before
parent9148294f78a8e646ee131ca182a9b692bc028fdb (diff)
parentf7f26a9c5671e9498ba56277bba5c3a5b63155fd (diff)
downloadlombok-60d86fab3c0d7716cf78ce6cfc62193395f7b3c3.tar.gz
lombok-60d86fab3c0d7716cf78ce6cfc62193395f7b3c3.tar.bz2
lombok-60d86fab3c0d7716cf78ce6cfc62193395f7b3c3.zip
Merge pull request #2413 from Rawi01/extensionmethod
Improve ExtensionMethod support in Eclipse
Diffstat (limited to 'test/transform/resource/before')
-rw-r--r--test/transform/resource/before/ExtensionMethodAutoboxing.java23
-rw-r--r--test/transform/resource/before/ExtensionMethodFunctional.java33
-rw-r--r--test/transform/resource/before/ExtensionMethodVarargs.java23
3 files changed, 79 insertions, 0 deletions
diff --git a/test/transform/resource/before/ExtensionMethodAutoboxing.java b/test/transform/resource/before/ExtensionMethodAutoboxing.java
new file mode 100644
index 00000000..5e07a6b3
--- /dev/null
+++ b/test/transform/resource/before/ExtensionMethodAutoboxing.java
@@ -0,0 +1,23 @@
+import lombok.experimental.ExtensionMethod;
+
+@ExtensionMethod({ExtensionMethodAutoboxing.Extensions.class})
+class ExtensionMethodAutoboxing {
+ public void test() {
+ Long l1 = 1l;
+ long l2 = 1l;
+ Integer i1 = 1;
+ int i2 = 1;
+
+ String string = "test";
+ string.boxing(l1, i1);
+ string.boxing(l1, i2);
+ string.boxing(l2, i1);
+ string.boxing(l2, i2);
+ }
+
+ static class Extensions {
+ public static String boxing(String string, Long a, int b) {
+ return string + " " + a + " " + b;
+ }
+ }
+}
diff --git a/test/transform/resource/before/ExtensionMethodFunctional.java b/test/transform/resource/before/ExtensionMethodFunctional.java
new file mode 100644
index 00000000..19983258
--- /dev/null
+++ b/test/transform/resource/before/ExtensionMethodFunctional.java
@@ -0,0 +1,33 @@
+// version 8:
+import java.util.function.Function;
+import java.util.function.Consumer;
+
+import lombok.experimental.ExtensionMethod;
+
+@ExtensionMethod(ExtensionMethodFunctional.Extensions.class)
+class ExtensionMethodFunctional {
+ public void test() {
+ String test = "test";
+ test = test.map(s -> s.reverse());
+
+ test.consume(s -> System.out.println("1: " + s), s -> System.out.println("2: " + s));
+ test.consume(System.out::println, System.out::println);
+ }
+
+ static class Extensions {
+ public static <T, R> R map(T value, Function<T, R> mapper) {
+ return mapper.apply(value);
+ }
+
+ public static String reverse(String string) {
+ return new StringBuilder(string).reverse().toString();
+ }
+
+ @SafeVarargs
+ public static <T> void consume(T o, Consumer<T>... consumer) {
+ for (int i = 0; i < consumer.length; i++) {
+ consumer[i].accept(o);
+ }
+ }
+ }
+}
diff --git a/test/transform/resource/before/ExtensionMethodVarargs.java b/test/transform/resource/before/ExtensionMethodVarargs.java
new file mode 100644
index 00000000..a976f9e6
--- /dev/null
+++ b/test/transform/resource/before/ExtensionMethodVarargs.java
@@ -0,0 +1,23 @@
+// version 8:
+import lombok.experimental.ExtensionMethod;
+
+@ExtensionMethod(ExtensionMethodVarargs.Extensions.class)
+class ExtensionMethodVarargs {
+ public void test() {
+ Long l1 = 1l;
+ long l2 = 1l;
+ Integer i1 = 1;
+ int i2 = 1;
+
+ "%d %d %d %d".format(l1, l2, i1, i2);
+ "%d".format(l1);
+ "".format(new Integer[]{1,2});
+ "".format(new Integer[]{1,2}, new Integer[]{1,2});
+ }
+
+ static class Extensions {
+ public static String format(String string, Object... params) {
+ return String.format(string, params);
+ }
+ }
+}