summaryrefslogtreecommitdiff
path: root/plugins/java-decompiler/engine/testData/src/pkg/TestClassLambda.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/java-decompiler/engine/testData/src/pkg/TestClassLambda.java')
-rw-r--r--plugins/java-decompiler/engine/testData/src/pkg/TestClassLambda.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/plugins/java-decompiler/engine/testData/src/pkg/TestClassLambda.java b/plugins/java-decompiler/engine/testData/src/pkg/TestClassLambda.java
new file mode 100644
index 000000000000..589766e36506
--- /dev/null
+++ b/plugins/java-decompiler/engine/testData/src/pkg/TestClassLambda.java
@@ -0,0 +1,77 @@
+/*
+ * 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.*;
+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 r1 = () -> { System.out.println("hello1" + a); };
+ Runnable r2 = () -> { System.out.println("hello2" + 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;
+ }
+}