From 22c5e0daaf6b56c85a59027a890efe9ed3e217e8 Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Thu, 8 May 2014 01:14:06 +0200 Subject: [java8] Added tests for using java language features in transformations. --- .../resource/after-delombok/ValDefault.java | 8 ++++++++ .../resource/after-delombok/ValLambda.java | 21 +++++++++++++++++++++ test/transform/resource/after-ecj/ValDefault.java | 7 +++++++ test/transform/resource/after-ecj/ValLambda.java | 19 +++++++++++++++++++ test/transform/resource/before/ValDefault.java | 9 +++++++++ test/transform/resource/before/ValLambda.java | 20 ++++++++++++++++++++ 6 files changed, 84 insertions(+) create mode 100644 test/transform/resource/after-delombok/ValDefault.java create mode 100644 test/transform/resource/after-delombok/ValLambda.java create mode 100644 test/transform/resource/after-ecj/ValDefault.java create mode 100644 test/transform/resource/after-ecj/ValLambda.java create mode 100644 test/transform/resource/before/ValDefault.java create mode 100644 test/transform/resource/before/ValLambda.java (limited to 'test') diff --git a/test/transform/resource/after-delombok/ValDefault.java b/test/transform/resource/after-delombok/ValDefault.java new file mode 100644 index 00000000..8c85311b --- /dev/null +++ b/test/transform/resource/after-delombok/ValDefault.java @@ -0,0 +1,8 @@ +// version 8: +interface ValDefault { + int size(); + default void method() { + final int x = 1; + final int size = size(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-delombok/ValLambda.java b/test/transform/resource/after-delombok/ValLambda.java new file mode 100644 index 00000000..0b13b5a1 --- /dev/null +++ b/test/transform/resource/after-delombok/ValLambda.java @@ -0,0 +1,21 @@ +// version 8: +class ValLambda { + public void easyLambda() { + final java.lang.Runnable foo = (Runnable)() -> { + }; + } + public void easyIntersectionLambda() { + final java.lang.Object foo = (Runnable & java.io.Serializable)() -> { + }; + final java.lang.Object bar = (java.io.Serializable & Runnable)() -> { + }; + } + public void easyLubLambda() { + final java.lang.Runnable foo = (System.currentTimeMillis() > 0) ? (Runnable)() -> { + } : (Runnable)System.out::println; + } +// public void castLubLambda() { +// Runnable foo = (Runnable)((System.currentTimeMillis() > 0) ? ()-> {} : System.out::println); +// lombok.val foo = (Runnable)((System.currentTimeMillis() > 0) ? ()-> {} : System.out::println); +// } +} \ No newline at end of file diff --git a/test/transform/resource/after-ecj/ValDefault.java b/test/transform/resource/after-ecj/ValDefault.java new file mode 100644 index 00000000..347f0302 --- /dev/null +++ b/test/transform/resource/after-ecj/ValDefault.java @@ -0,0 +1,7 @@ +interface ValDefault { + int size(); + default void method() { + final @lombok.val int x = 1; + final @lombok.val int size = size(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-ecj/ValLambda.java b/test/transform/resource/after-ecj/ValLambda.java new file mode 100644 index 00000000..4bf3265b --- /dev/null +++ b/test/transform/resource/after-ecj/ValLambda.java @@ -0,0 +1,19 @@ +class ValLambda { + ValLambda() { + super(); + } + public void easyLambda() { + final @lombok.val java.lang.Runnable foo = (Runnable) () -> { +}; + } + public void easyIntersectionLambda() { + final @lombok.val java.lang.Object foo = (Runnable & java.io.Serializable) () -> { +}; + final @lombok.val java.lang.Object bar = (java.io.Serializable & Runnable) () -> { +}; + } + public void easyLubLambda() { + final @lombok.val java.lang.Runnable foo = ((System.currentTimeMillis() > 0) ? (Runnable) () -> { +} : (Runnable) System.out::println); + } +} \ No newline at end of file diff --git a/test/transform/resource/before/ValDefault.java b/test/transform/resource/before/ValDefault.java new file mode 100644 index 00000000..75124c3c --- /dev/null +++ b/test/transform/resource/before/ValDefault.java @@ -0,0 +1,9 @@ +// version 8: +interface ValDefault { + int size(); + + default void method() { + lombok.val x = 1; + lombok.val size = size(); + } +} \ No newline at end of file diff --git a/test/transform/resource/before/ValLambda.java b/test/transform/resource/before/ValLambda.java new file mode 100644 index 00000000..ed843ed7 --- /dev/null +++ b/test/transform/resource/before/ValLambda.java @@ -0,0 +1,20 @@ +// version 8: +class ValLambda { + public void easyLambda() { + lombok.val foo = (Runnable)()-> {}; + } + + public void easyIntersectionLambda() { + lombok.val foo = (Runnable & java.io.Serializable)()-> {}; + lombok.val bar = (java.io.Serializable & Runnable)()-> {}; + } + + public void easyLubLambda() { + lombok.val foo = (System.currentTimeMillis() > 0) ? (Runnable)()-> {} : (Runnable)System.out::println; + } + +// public void castLubLambda() { +// Runnable foo = (Runnable)((System.currentTimeMillis() > 0) ? ()-> {} : System.out::println); +// lombok.val foo = (Runnable)((System.currentTimeMillis() > 0) ? ()-> {} : System.out::println); +// } +} -- cgit