From 55619e8030768fb42f8a9b4207bb330806eaceef Mon Sep 17 00:00:00 2001 From: Bulgakov Alexander Date: Thu, 20 Oct 2016 16:41:40 +0300 Subject: added supporting of @var variables. The @var annotation has the same functionality as the @val except 'final' modifier. --- test/transform/resource/before/VarComplex.java | 22 ++++++++++++++++++++++ test/transform/resource/before/VarInFor.java | 11 +++++++++++ test/transform/resource/before/VarInForOld.java | 9 +++++++++ test/transform/resource/before/VarModifier.java | 10 ++++++++++ 4 files changed, 52 insertions(+) create mode 100644 test/transform/resource/before/VarComplex.java create mode 100644 test/transform/resource/before/VarInFor.java create mode 100644 test/transform/resource/before/VarInForOld.java create mode 100644 test/transform/resource/before/VarModifier.java (limited to 'test/transform/resource/before') diff --git a/test/transform/resource/before/VarComplex.java b/test/transform/resource/before/VarComplex.java new file mode 100644 index 00000000..c93e177a --- /dev/null +++ b/test/transform/resource/before/VarComplex.java @@ -0,0 +1,22 @@ +import lombok.var; + +public class VarComplex { + private String field = ""; + private static final int CONSTANT = 20; + + public void testComplex() { + var shouldBeCharArray = field.toCharArray(); + var shouldBeInt = CONSTANT; + var lock = new Object(); + synchronized (lock) { + var field = 20; //Shadowing + var inner = 10; + switch (field) { + case 5: + var shouldBeCharArray2 = shouldBeCharArray; + var innerInner = inner; + } + } + var shouldBeString = field; //Unshadowing + } +} \ No newline at end of file diff --git a/test/transform/resource/before/VarInFor.java b/test/transform/resource/before/VarInFor.java new file mode 100644 index 00000000..7f7bb7a7 --- /dev/null +++ b/test/transform/resource/before/VarInFor.java @@ -0,0 +1,11 @@ +import lombok.var; + +public class VarInFor { + public void enhancedFor() { + int[] list = new int[] {1, 2}; + for (var shouldBeInt : list) { + System.out.println(shouldBeInt); + var shouldBeInt2 = shouldBeInt; + } + } +} \ No newline at end of file diff --git a/test/transform/resource/before/VarInForOld.java b/test/transform/resource/before/VarInForOld.java new file mode 100644 index 00000000..99e83b57 --- /dev/null +++ b/test/transform/resource/before/VarInForOld.java @@ -0,0 +1,9 @@ +import lombok.var; + +public class VarInForOld { + public void oldFor() { + for (var i = 0; i < 100; ++i) { + System.out.println(i); + } + } +} \ No newline at end of file diff --git a/test/transform/resource/before/VarModifier.java b/test/transform/resource/before/VarModifier.java new file mode 100644 index 00000000..bb167fd2 --- /dev/null +++ b/test/transform/resource/before/VarModifier.java @@ -0,0 +1,10 @@ +import lombok.var; + +public class VarModifier { + private String field = ""; + + public void testComplex() { + final var shouldBeFinalCharArray = field.toCharArray(); + var shouldBeCharArray = field.toCharArray(); + } +} \ No newline at end of file -- cgit