lambda reloading, invokeinterface support - fixes #82

This commit is contained in:
Andy Clement
2015-03-07 22:11:49 -08:00
parent ad81779bff
commit 1eb033f7e6
14 changed files with 292 additions and 5 deletions

View File

@@ -0,0 +1,24 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamA {
public interface Foo {
int m(int n);
}
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
Foo foo = (n) -> n + 1;
List<Integer> integers = Arrays.asList(1, 2, 3);
List<Integer> mapped = integers.stream().map(n -> foo.m(n)).collect(Collectors.toList());
return mapped.size();
}
}

View File

@@ -0,0 +1,24 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamA2 {
public interface Foo {
int m(int n);
}
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
Foo foo = (n) -> n + 1;
List<Integer> integers = Arrays.asList(1, 2, 3, 4); // Array is longer!
List<Integer> mapped = integers.stream().map(n -> foo.m(n)).collect(Collectors.toList());
return mapped.size();
}
}

View File

@@ -0,0 +1,24 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamB {
public interface Foo {
int m(int n);
}
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
Foo foo = (n) -> n + 1;
List<Integer> integers = Arrays.asList(1, 2, 3);
List<Integer> mapped = integers.stream().map(foo::m).collect(Collectors.toList());
return mapped.size();
}
}

View File

@@ -0,0 +1,24 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamB2 {
public interface Foo {
int m(int n);
}
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
Foo foo = (n) -> n + 1;
List<Integer> integers = Arrays.asList(1, 2, 3, 4);
List<Integer> mapped = integers.stream().map(foo::m).collect(Collectors.toList());
return mapped.size();
}
}

View File

@@ -0,0 +1,20 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamBB {
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
StreamBBFoo foo = (n) -> n + 1;
List<Integer> integers = Arrays.asList(1, 2, 3);
List<Integer> mapped = integers.stream().map(foo::m).collect(Collectors.toList());
return mapped.size();
}
}

View File

@@ -0,0 +1,24 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
//interface StreamBBFoo {
// int m(int n);
//}
public class StreamBB2 {
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
StreamBBFoo foo = (n) -> n + 1;
List<Integer> integers = Arrays.asList(1, 2, 3, 4);
List<Integer> mapped = integers.stream().map(foo::m).collect(Collectors.toList());
return mapped.size();
}
}

View File

@@ -0,0 +1,5 @@
package basic;
public interface StreamBBFoo {
int m(int n);
}

View File

@@ -0,0 +1,19 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamC {
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
List<Integer> integers = Arrays.asList(1, 2, 3);
List<Integer> mapped = integers.stream().map(n -> n).collect(Collectors.toList());
return mapped.size();
}
}

View File

@@ -0,0 +1,19 @@
package basic;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamC2 {
public static void main(String[] args) {
System.out.println("This is Java8");
}
public static int run() {
List<Integer> integers = Arrays.asList(1, 2, 3, 4);
List<Integer> mapped = integers.stream().map(n -> n).collect(Collectors.toList());
return mapped.size();
}
}