summaryrefslogtreecommitdiffstats
path: root/testData
diff options
context:
space:
mode:
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>2014-09-01 15:05:08 +0400
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>2014-09-01 15:11:41 +0400
commit3854b67daac14188d47a86bb6b84ccb00c087f5f (patch)
tree4138065e6b5d0c1b43b6f3fa2753492cf41661d4 /testData
parent1a4e48d11d50b1c9367568ed60f6a43a469d4ace (diff)
downloadfernflower-3854b67daac14188d47a86bb6b84ccb00c087f5f.tar
fernflower-3854b67daac14188d47a86bb6b84ccb00c087f5f.tar.gz
fernflower-3854b67daac14188d47a86bb6b84ccb00c087f5f.tar.lz
fernflower-3854b67daac14188d47a86bb6b84ccb00c087f5f.tar.xz
fernflower-3854b67daac14188d47a86bb6b84ccb00c087f5f.zip
java-decompiler: post-import cleanup (tests reorganized)
Diffstat (limited to 'testData')
-rw-r--r--testData/classes/pkg/TestClassFields.classbin0 -> 415 bytes
-rw-r--r--testData/classes/pkg/TestClassLambda.classbin0 -> 3714 bytes
-rw-r--r--testData/classes/pkg/TestClassLoop.classbin0 -> 880 bytes
-rw-r--r--testData/classes/pkg/TestClassSwitch.classbin0 -> 464 bytes
-rw-r--r--testData/classes/pkg/TestClassTypes.classbin0 -> 1151 bytes
-rw-r--r--testData/classes/pkg/TestClassVar.classbin0 -> 992 bytes
-rw-r--r--testData/results/TestClassFields.dec13
-rw-r--r--testData/results/TestClassLambda.dec75
-rw-r--r--testData/results/TestClassLoop.dec45
-rw-r--r--testData/results/TestClassSwitch.dec16
-rw-r--r--testData/results/TestClassTypes.dec50
-rw-r--r--testData/results/TestClassVar.dec43
-rw-r--r--testData/src/pkg/TestClassFields.java28
-rw-r--r--testData/src/pkg/TestClassLambda.java82
-rw-r--r--testData/src/pkg/TestClassLoop.java63
-rw-r--r--testData/src/pkg/TestClassSwitch.java31
-rw-r--r--testData/src/pkg/TestClassTypes.java69
-rw-r--r--testData/src/pkg/TestClassVar.java59
18 files changed, 574 insertions, 0 deletions
diff --git a/testData/classes/pkg/TestClassFields.class b/testData/classes/pkg/TestClassFields.class
new file mode 100644
index 0000000..c1c0c6b
--- /dev/null
+++ b/testData/classes/pkg/TestClassFields.class
Binary files differ
diff --git a/testData/classes/pkg/TestClassLambda.class b/testData/classes/pkg/TestClassLambda.class
new file mode 100644
index 0000000..cbb9448
--- /dev/null
+++ b/testData/classes/pkg/TestClassLambda.class
Binary files differ
diff --git a/testData/classes/pkg/TestClassLoop.class b/testData/classes/pkg/TestClassLoop.class
new file mode 100644
index 0000000..d363692
--- /dev/null
+++ b/testData/classes/pkg/TestClassLoop.class
Binary files differ
diff --git a/testData/classes/pkg/TestClassSwitch.class b/testData/classes/pkg/TestClassSwitch.class
new file mode 100644
index 0000000..2fd6b52
--- /dev/null
+++ b/testData/classes/pkg/TestClassSwitch.class
Binary files differ
diff --git a/testData/classes/pkg/TestClassTypes.class b/testData/classes/pkg/TestClassTypes.class
new file mode 100644
index 0000000..45288ca
--- /dev/null
+++ b/testData/classes/pkg/TestClassTypes.class
Binary files differ
diff --git a/testData/classes/pkg/TestClassVar.class b/testData/classes/pkg/TestClassVar.class
new file mode 100644
index 0000000..d66170c
--- /dev/null
+++ b/testData/classes/pkg/TestClassVar.class
Binary files differ
diff --git a/testData/results/TestClassFields.dec b/testData/results/TestClassFields.dec
new file mode 100644
index 0000000..2a20fb8
--- /dev/null
+++ b/testData/results/TestClassFields.dec
@@ -0,0 +1,13 @@
+package pkg;
+
+
+public class TestClassFields {
+
+ private static int[] sizes;
+ private static String[] names = new String[]{"name1", "name2"};
+
+
+ static {
+ sizes = new int[names.length];
+ }
+}
diff --git a/testData/results/TestClassLambda.dec b/testData/results/TestClassLambda.dec
new file mode 100644
index 0000000..baf2cd7
--- /dev/null
+++ b/testData/results/TestClassLambda.dec
@@ -0,0 +1,75 @@
+package pkg;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.OptionalInt;
+import java.util.function.Consumer;
+import java.util.function.IntBinaryOperator;
+import java.util.function.Predicate;
+import java.util.function.Supplier;
+
+public class TestClassLambda {
+
+ public int field = 0;
+
+
+ public void testLambda() {
+ List var1 = Arrays.asList(new Integer[]{Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3), Integer.valueOf(4), Integer.valueOf(5), Integer.valueOf(6), Integer.valueOf(7)});
+ int var2 = (int)Math.random();
+ var1.forEach((var2x) -> {
+ int var3 = 2 * var2x.intValue();
+ System.out.println(var3 + var2 + this.field);
+ });
+ }
+
+ public void testLambda1() {
+ int var1 = (int)Math.random();
+ Runnable var2 = () -> {
+ System.out.println("hello" + var1);
+ };
+ Runnable var3 = () -> {
+ System.out.println("hello1" + var1);
+ };
+ }
+
+ public void testLambda2() {
+ reduce((var0, var1) -> {
+ return Math.max(var0, var1);
+ });
+ }
+
+ public void testLambda3() {
+ reduce(Math::max);
+ }
+
+ public void testLambda4() {
+ reduce(TestClassLambda::localMax);
+ }
+
+ public void testLambda5() {
+ String var1 = "abcd";
+ function(var1::toString);
+ }
+
+ public void testLambda6() {
+ ArrayList var1 = new ArrayList();
+ int var2 = var1.size() * 2;
+ int var3 = var1.size() * 5;
+ var1.removeIf((var2x) -> {
+ return var2 >= var2x.length() && var2x.length() <= var3;
+ });
+ }
+
+ public static OptionalInt reduce(IntBinaryOperator var0) {
+ return null;
+ }
+
+ public static String function(Supplier var0) {
+ return (String)var0.get();
+ }
+
+ public static int localMax(int var0, int var1) {
+ return 0;
+ }
+}
diff --git a/testData/results/TestClassLoop.dec b/testData/results/TestClassLoop.dec
new file mode 100644
index 0000000..b231ae0
--- /dev/null
+++ b/testData/results/TestClassLoop.dec
@@ -0,0 +1,45 @@
+package pkg;
+
+
+public class TestClassLoop {
+
+ public static void testSimpleInfinite() {
+ while(true) {
+ System.out.println();
+ }
+ }
+
+ public static void testFinally() {
+ boolean var0 = Math.random() > 0.0D;
+
+ while(true) {
+ try {
+ if(!var0) {
+ return;
+ }
+ } finally {
+ System.out.println("1");
+ }
+ }
+ }
+
+ public static void testFinallyContinue() {
+ boolean var0 = Math.random() > 0.0D;
+
+ while(true) {
+ while(true) {
+ try {
+ System.out.println("1");
+ break;
+ } finally {
+ if(var0) {
+ System.out.println("3");
+ continue;
+ }
+ }
+ }
+
+ System.out.println("4");
+ }
+ }
+}
diff --git a/testData/results/TestClassSwitch.dec b/testData/results/TestClassSwitch.dec
new file mode 100644
index 0000000..496dd15
--- /dev/null
+++ b/testData/results/TestClassSwitch.dec
@@ -0,0 +1,16 @@
+package pkg;
+
+
+public class TestClassSwitch {
+
+ public void testCaseOrder(int var1) {
+ switch(var1) {
+ case 5:
+ System.out.println(5);
+ default:
+ return;
+ case 13:
+ System.out.println(13);
+ }
+ }
+}
diff --git a/testData/results/TestClassTypes.dec b/testData/results/TestClassTypes.dec
new file mode 100644
index 0000000..2c856b1
--- /dev/null
+++ b/testData/results/TestClassTypes.dec
@@ -0,0 +1,50 @@
+package pkg;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class TestClassTypes {
+
+ public void testBoolean() {
+ byte var1 = 0;
+ long var2 = System.currentTimeMillis();
+ if(var2 % 2L > 0L) {
+ var1 = 1;
+ } else if(var2 % 3L > 0L) {
+ var1 = 2;
+ }
+
+ if(var1 == 1) {
+ System.out.println();
+ }
+
+ }
+
+ public boolean testBit(int var1) {
+ return (var1 & 1) == 1;
+ }
+
+ public void testSwitchConsts(int var1) {
+ switch(var1) {
+ case 88:
+ System.out.println("1");
+ break;
+ case 656:
+ System.out.println("2");
+ break;
+ case 65201:
+ case 65489:
+ System.out.println("3");
+ }
+
+ }
+
+ public void testAssignmentType(List var1) {
+ Object var2 = var1;
+ if(var1 != null) {
+ ((List)(var2 = new ArrayList(var1))).add("23");
+ }
+
+ System.out.println(((List)var2).size());
+ }
+}
diff --git a/testData/results/TestClassVar.dec b/testData/results/TestClassVar.dec
new file mode 100644
index 0000000..ceb3a4d
--- /dev/null
+++ b/testData/results/TestClassVar.dec
@@ -0,0 +1,43 @@
+package pkg;
+
+
+public class TestClassVar {
+
+ private boolean field_boolean = Math.random() > 0.0D;
+ public int field_int = 0;
+
+
+ public void testFieldSSAU() {
+ for(int var1 = 0; var1 < 10; ++var1) {
+ try {
+ System.out.println();
+ } finally {
+ if(this.field_boolean) {
+ System.out.println();
+ }
+
+ }
+ }
+
+ }
+
+ public Long testFieldSSAU1() {
+ return new Long((long)(this.field_int++));
+ }
+
+ public void testComplexPropagation() {
+ int var1 = 0;
+
+ while(var1 < 10) {
+ int var2;
+ for(var2 = var1; var1 < 10 && var1 == 0; ++var1) {
+ ;
+ }
+
+ if(var2 != var1) {
+ System.out.println();
+ }
+ }
+
+ }
+}
diff --git a/testData/src/pkg/TestClassFields.java b/testData/src/pkg/TestClassFields.java
new file mode 100644
index 0000000..347b687
--- /dev/null
+++ b/testData/src/pkg/TestClassFields.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pkg;
+
+public class TestClassFields {
+
+ private static int[] sizes;
+ private static String[] names;
+
+ static {
+
+ names = new String[]{"name1", "name2"};
+ sizes = new int[names.length];
+ }
+}
diff --git a/testData/src/pkg/TestClassLambda.java b/testData/src/pkg/TestClassLambda.java
new file mode 100644
index 0000000..d3fc7f6
--- /dev/null
+++ b/testData/src/pkg/TestClassLambda.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pkg;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.OptionalInt;
+import java.util.function.IntBinaryOperator;
+import java.util.function.Supplier;
+
+public class TestClassLambda {
+
+ public int field = 0;
+
+ public void testLambda() {
+
+ List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
+ int b = (int)Math.random();
+
+ list.forEach(n -> {int a = 2 * n; System.out.println(a + b + field);});
+ }
+
+ public void testLambda1() {
+
+ int a = (int)Math.random();
+
+ Runnable r = () -> { System.out.println("hello" + a); };
+
+ Runnable r1 = () -> { System.out.println("hello1" + a); };
+ }
+
+ public void testLambda2() {
+ reduce((left, right) -> Math.max(left, right));
+ }
+
+ public void testLambda3() { // IDEA-127301
+ reduce(Math::max);
+ }
+
+ public void testLambda4() {
+ reduce(TestClassLambda::localMax);
+ }
+
+ public void testLambda5() {
+ String x = "abcd";
+ function(x::toString);
+ }
+
+ public void testLambda6() {
+ List<String> list = new ArrayList<String>();
+ int bottom = list.size() * 2;
+ int top = list.size() * 5;
+ list.removeIf( s -> (bottom >= s.length() && s.length() <= top) );
+ }
+
+ public static OptionalInt reduce(IntBinaryOperator op) {
+ return null;
+ }
+
+ public static String function(Supplier<String> supplier) {
+ return supplier.get();
+ }
+
+ public static int localMax(int first, int second) {
+ return 0;
+ }
+
+}
diff --git a/testData/src/pkg/TestClassLoop.java b/testData/src/pkg/TestClassLoop.java
new file mode 100644
index 0000000..25964d9
--- /dev/null
+++ b/testData/src/pkg/TestClassLoop.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pkg;
+
+public class TestClassLoop {
+
+ public static void testSimpleInfinite() {
+
+ while(true) {
+ System.out.println();
+ }
+
+ }
+
+ public static void testFinally() {
+
+ boolean a = (Math.random() > 0);
+
+ while(true) {
+ try {
+ if(!a) {
+ return;
+ }
+ } finally {
+ System.out.println("1");
+ }
+ }
+
+ }
+
+ public static void testFinallyContinue() {
+
+ boolean a = (Math.random() > 0);
+
+ for(;;) {
+ try {
+ System.out.println("1");
+ } finally {
+ if(a) {
+ System.out.println("3");
+ continue;
+ }
+ }
+
+ System.out.println("4");
+ }
+
+ }
+
+}
diff --git a/testData/src/pkg/TestClassSwitch.java b/testData/src/pkg/TestClassSwitch.java
new file mode 100644
index 0000000..aa49bb1
--- /dev/null
+++ b/testData/src/pkg/TestClassSwitch.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pkg;
+
+public class TestClassSwitch {
+
+ public void testCaseOrder(int a) {
+
+ switch(a) {
+ case 13:
+ System.out.println(13);
+ return;
+ case 5:
+ System.out.println(5);
+ }
+ }
+
+}
diff --git a/testData/src/pkg/TestClassTypes.java b/testData/src/pkg/TestClassTypes.java
new file mode 100644
index 0000000..70e23c3
--- /dev/null
+++ b/testData/src/pkg/TestClassTypes.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pkg;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class TestClassTypes {
+
+ public void testBoolean() {
+
+ byte var7 = 0;
+ long time = System.currentTimeMillis();
+
+ if(time % 2 > 0) {
+ var7 = 1;
+ } else if(time % 3 > 0) {
+ var7 = 2;
+ }
+
+ if(var7 == 1) {
+ System.out.println();
+ }
+ }
+
+ public boolean testBit(int var0) {
+ return (var0 & 1) == 1;
+ }
+
+ public void testSwitchConsts(int a) {
+
+ switch (a) {
+ case 88:
+ System.out.println("1");
+ break;
+ case 656:
+ System.out.println("2");
+ break;
+ case 65201:
+ case 65489:
+ System.out.println("3");
+ }
+ }
+
+ public void testAssignmentType(List list) {
+
+ List a = list;
+
+ if(a != null) {
+ (a = new ArrayList(a)).add("23");
+ }
+
+ System.out.println(a.size());
+ }
+
+}
diff --git a/testData/src/pkg/TestClassVar.java b/testData/src/pkg/TestClassVar.java
new file mode 100644
index 0000000..9f8fcac
--- /dev/null
+++ b/testData/src/pkg/TestClassVar.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pkg;
+
+
+public class TestClassVar {
+
+ private boolean field_boolean = (Math.random() > 0);
+ public int field_int = 0;
+
+ public void testFieldSSAU() {
+
+ for(int i = 0; i < 10; i++) {
+
+ try {
+ System.out.println();
+ } finally {
+ if (field_boolean) {
+ System.out.println();
+ }
+ }
+
+ }
+ }
+
+ public Long testFieldSSAU1() { // IDEA-127466
+ return new Long(field_int++);
+ }
+
+ public void testComplexPropagation() {
+
+ int a = 0;
+
+ while (a < 10) {
+
+ int b = a;
+
+ for(; a < 10 && a == 0; a++) {}
+
+ if (b != a) {
+ System.out.println();
+ }
+ }
+ }
+
+}