corda/sgx-jvm/avian/test/InvokeDynamic.java

185 lines
4.2 KiB
Java
Raw Normal View History

Squashed commit of the following: (#15) commit fabf4dd0cca19118c59c925f572a655d1d9c4092 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:36:06 2017 -0600 reserve a little more stack space for worst-case lambda expressions commit 24b95016dd6f62fa4a82312310fcb5c55cc22f93 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:33:39 2017 -0600 support constructor references commit a329416f4f37840d2a5d7976874585413cd4c6af Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:11:19 2017 -0600 normalize class name in Classes.forName This fixes a Tomcat classloading issue when using the OpenJDK class library. commit ecafdf40baf2f3cde4835620e9af4380b1081fe7 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 16:58:04 2017 -0600 fix some lambda bugs commit 552dfd779baf077cc6445b4042588e4b6e34f3d2 Merge: 63dda56 aa2f25d Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:57:59 2017 -0600 Merge remote-tracking branch 'corda/chrisr3-invoking-extension' commit 63dda560f8648a793bdb609879076ab729b17e19 Merge: 3ec983d e589f10 Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:54:53 2017 -0600 Merge pull request #538 from dicej/master avoid definePackage infinite recursion with OpenJDK class library commit aa2f25da404b2fc168a672392df939b52ea250ab Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Jul 3 17:26:41 2017 +0100 Add support for "invokevirtual" and "invokeinterface". The "invokeinterface" support seems to be broken for lambdas that require native types to be boxed/unboxed. commit e589f105741ea36d07bba1e300c7ed69c33a22d1 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 2 19:43:36 2017 -0600 avoid definePackage infinite recursion with OpenJDK class library commit 3ec983dd82e01b36fb96411df345a54119a68181 Merge: 6f6bdd7 78881d4 Author: Joel Dice <joel.dice@gmail.com> Date: Tue Jun 13 09:50:49 2017 -0600 Merge pull request #534 from lwahlmeier/fileGetParentFile fixed File.getParent when getting parent returns root commit 78881d427cd474c14f5ce94484f5253de564074b Author: Luke Wahlmeier <lwahlmeier@gmail.com> Date: Tue May 30 13:42:56 2017 -0600 fixed File.getParent when getting parent returns root commit 6f6bdd7d5c171e0c4c807d0a4f3aa676461307de Merge: 8b694f9 b22343e Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:58:09 2017 -0600 Merge pull request #529 from mikehearn/proguard-fixes Some fixes to the ProGuard files commit 8b694f961496f2d47a377254f61153b0338335fd Merge: dfae414 61c82e1 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:54 2017 -0600 Merge pull request #531 from mikehearn/fileinputstream-compat FileInputStream has wrapped some more native methods commit dfae414da8da57049076c16c43472cc32bdeb07c Merge: 16dd804 d7a6f68 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:38 2017 -0600 Merge pull request #532 from mikehearn/use-symlinks Symlink OpenJDK files rather than hardlink commit d7a6f68235b2d42c03aba36f1bb48d173adb4fa6 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:42:06 2017 +0200 Symlink OpenJDK files rather than hardlink commit 61c82e1070d857bcdc7a4f086d13836d9608da00 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:40:52 2017 +0200 FileInputStream has wrapped some more native methods in recent OpenJDK releases commit b22343eb6731f1df2631635e2fcf9d51817273fe Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:38:09 2017 +0200 Some fixes to the ProGuard files commit 16dd804f392168497fa17ab682978f938e291bfb Merge: e2d3270 19deadd Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:30 2017 -0600 Merge pull request #526 from MaartenR/arrays-binsearch Added integer array binary search methods to Arrays class commit e2d3270fe8e92203b6107b95f862ff5bd245c37a Merge: dee99d6 545b9c8 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:20 2017 -0600 Merge pull request #527 from MaartenR/integer-nolz Added numberOfLeadingZeros method to Integer class commit 545b9c8732a6ea026285b1edf976a79eb541ef2e Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 11:23:36 2017 +0100 Tested more negative numbers commit b45bcf09535daef99ed31451ae55db8bec83164c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 10:47:27 2017 +0100 Added unit test for numberOfLeadingZeros method of the Integer class commit 19deadd36bbfc02a8c13e6d91963e41f5125057f Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Mon Mar 13 12:19:17 2017 +0100 Fixed mistake with end index being exclusive commit 7271c0b7077ae3bef473e036aa0f0298a9eb0601 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Mar 10 11:17:13 2017 +0100 Added numberOfLeadingZeros method to Integer class commit 023bb69acd071348f29cd43ff954d3dcf2856c7c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Thu Mar 9 13:43:03 2017 +0100 Added integer array binary search methods to Arrays class commit dee99d6dd60b743a870d1a2c58183649c8a6449c Merge: f7a651d 6c90953 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 1 08:39:32 2017 -0700 Merge pull request #525 from MaartenR/master Added functionality to HttpURLConnection for obtaining content length commit 6c90953745be5451ac9a028639f94e3fcc43d7f3 Author: Maarten Raaphorst <raaphorst@serviceplanet.nl> Date: Wed Mar 1 14:19:51 2017 +0100 Made http headers case insensitive commit 2c3a82d2b387251a8932ddb6575e718c2c1785a7 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Feb 3 05:42:56 2017 -0800 Added functionality to HttpURLConnection for obtaining content length
2017-07-10 16:01:56 +00:00
import java.util.*;
public class InvokeDynamic {
private final int foo;
private InvokeDynamic(int foo) {
this.foo = foo;
}
private interface Operation {
int operate(int a, int b);
}
private interface Operation2 {
long operate(long a, int b);
}
private static class Pair<A, B> {
public final A first;
public final B second;
public Pair(A first, B second) {
this.first = first;
this.second = second;
}
}
private interface Supplier<T> extends java.io.Serializable {
T get();
}
Squashed commit of the following: (#15) commit fabf4dd0cca19118c59c925f572a655d1d9c4092 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:36:06 2017 -0600 reserve a little more stack space for worst-case lambda expressions commit 24b95016dd6f62fa4a82312310fcb5c55cc22f93 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:33:39 2017 -0600 support constructor references commit a329416f4f37840d2a5d7976874585413cd4c6af Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:11:19 2017 -0600 normalize class name in Classes.forName This fixes a Tomcat classloading issue when using the OpenJDK class library. commit ecafdf40baf2f3cde4835620e9af4380b1081fe7 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 16:58:04 2017 -0600 fix some lambda bugs commit 552dfd779baf077cc6445b4042588e4b6e34f3d2 Merge: 63dda56 aa2f25d Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:57:59 2017 -0600 Merge remote-tracking branch 'corda/chrisr3-invoking-extension' commit 63dda560f8648a793bdb609879076ab729b17e19 Merge: 3ec983d e589f10 Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:54:53 2017 -0600 Merge pull request #538 from dicej/master avoid definePackage infinite recursion with OpenJDK class library commit aa2f25da404b2fc168a672392df939b52ea250ab Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Jul 3 17:26:41 2017 +0100 Add support for "invokevirtual" and "invokeinterface". The "invokeinterface" support seems to be broken for lambdas that require native types to be boxed/unboxed. commit e589f105741ea36d07bba1e300c7ed69c33a22d1 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 2 19:43:36 2017 -0600 avoid definePackage infinite recursion with OpenJDK class library commit 3ec983dd82e01b36fb96411df345a54119a68181 Merge: 6f6bdd7 78881d4 Author: Joel Dice <joel.dice@gmail.com> Date: Tue Jun 13 09:50:49 2017 -0600 Merge pull request #534 from lwahlmeier/fileGetParentFile fixed File.getParent when getting parent returns root commit 78881d427cd474c14f5ce94484f5253de564074b Author: Luke Wahlmeier <lwahlmeier@gmail.com> Date: Tue May 30 13:42:56 2017 -0600 fixed File.getParent when getting parent returns root commit 6f6bdd7d5c171e0c4c807d0a4f3aa676461307de Merge: 8b694f9 b22343e Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:58:09 2017 -0600 Merge pull request #529 from mikehearn/proguard-fixes Some fixes to the ProGuard files commit 8b694f961496f2d47a377254f61153b0338335fd Merge: dfae414 61c82e1 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:54 2017 -0600 Merge pull request #531 from mikehearn/fileinputstream-compat FileInputStream has wrapped some more native methods commit dfae414da8da57049076c16c43472cc32bdeb07c Merge: 16dd804 d7a6f68 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:38 2017 -0600 Merge pull request #532 from mikehearn/use-symlinks Symlink OpenJDK files rather than hardlink commit d7a6f68235b2d42c03aba36f1bb48d173adb4fa6 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:42:06 2017 +0200 Symlink OpenJDK files rather than hardlink commit 61c82e1070d857bcdc7a4f086d13836d9608da00 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:40:52 2017 +0200 FileInputStream has wrapped some more native methods in recent OpenJDK releases commit b22343eb6731f1df2631635e2fcf9d51817273fe Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:38:09 2017 +0200 Some fixes to the ProGuard files commit 16dd804f392168497fa17ab682978f938e291bfb Merge: e2d3270 19deadd Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:30 2017 -0600 Merge pull request #526 from MaartenR/arrays-binsearch Added integer array binary search methods to Arrays class commit e2d3270fe8e92203b6107b95f862ff5bd245c37a Merge: dee99d6 545b9c8 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:20 2017 -0600 Merge pull request #527 from MaartenR/integer-nolz Added numberOfLeadingZeros method to Integer class commit 545b9c8732a6ea026285b1edf976a79eb541ef2e Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 11:23:36 2017 +0100 Tested more negative numbers commit b45bcf09535daef99ed31451ae55db8bec83164c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 10:47:27 2017 +0100 Added unit test for numberOfLeadingZeros method of the Integer class commit 19deadd36bbfc02a8c13e6d91963e41f5125057f Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Mon Mar 13 12:19:17 2017 +0100 Fixed mistake with end index being exclusive commit 7271c0b7077ae3bef473e036aa0f0298a9eb0601 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Mar 10 11:17:13 2017 +0100 Added numberOfLeadingZeros method to Integer class commit 023bb69acd071348f29cd43ff954d3dcf2856c7c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Thu Mar 9 13:43:03 2017 +0100 Added integer array binary search methods to Arrays class commit dee99d6dd60b743a870d1a2c58183649c8a6449c Merge: f7a651d 6c90953 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 1 08:39:32 2017 -0700 Merge pull request #525 from MaartenR/master Added functionality to HttpURLConnection for obtaining content length commit 6c90953745be5451ac9a028639f94e3fcc43d7f3 Author: Maarten Raaphorst <raaphorst@serviceplanet.nl> Date: Wed Mar 1 14:19:51 2017 +0100 Made http headers case insensitive commit 2c3a82d2b387251a8932ddb6575e718c2c1785a7 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Feb 3 05:42:56 2017 -0800 Added functionality to HttpURLConnection for obtaining content length
2017-07-10 16:01:56 +00:00
private interface Consumer<T> {
void accept(T obj);
}
private interface Function<T, R> {
R apply(T obj);
}
private interface BiFunction<T, U, R> {
R apply(T t, U u);
}
private interface GetLong {
long get(long l);
}
private interface GetDouble {
double get(double d);
}
private static class LongHolder implements GetLong {
@Override
public long get(long l) {
return l;
}
}
private static class DoubleHolder implements GetDouble {
@Override
public double get(double d) {
return d;
}
}
private static void expect(boolean v) {
if (! v) throw new RuntimeException();
}
public static void main(String[] args) {
int c = 4;
Operation op = (a, b) -> a + b - c;
expect(op.operate(2, 3) == (2 + 3) - 4);
for (int i = 0; i < 4; ++i) {
new InvokeDynamic(i).test();
}
}
private interface Foo extends java.io.Serializable {
void someFunction(Integer a, Integer b, String s);
}
private interface UnboxedSerializable extends java.io.Serializable {
int add(int a, int b);
}
private interface Unboxed {
int add(int a, int b);
}
private void requiresBridge(Number a, Object... rest) {
String s = "" + a;
for (Object r : rest) {
s += r;
}
}
private static Integer addBoxed(Integer a, Integer b) {
return a + b;
}
private interface Marker {
}
private void test() {
{ int c = 2;
Operation op = (a, b) -> ((a + b) * c) - foo;
expect(op.operate(2, 3) == ((2 + 3) * 2) - foo);
}
{ int c = 2;
Operation2 op = (a, b) -> ((a + b) * c) - foo;
expect(op.operate(2, 3) == ((2 + 3) * 2) - foo);
}
{ Supplier<Pair<Long, Double>> s = () -> new Pair<Long, Double>(42L, 77.1D);
expect(s.get().first == 42L);
expect(s.get().second == 77.1D);
}
{ double[] a = new double[] { 3.14D };
Supplier<Pair<Long, Double>> s = () -> new Pair<Long, Double>(42L, a[0]);
expect(s.get().first == 42L);
expect(s.get().second == 3.14D);
}
{ Foo s = this::requiresBridge;
s.someFunction(1, 2, "");
}
Squashed commit of the following: (#15) commit fabf4dd0cca19118c59c925f572a655d1d9c4092 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:36:06 2017 -0600 reserve a little more stack space for worst-case lambda expressions commit 24b95016dd6f62fa4a82312310fcb5c55cc22f93 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:33:39 2017 -0600 support constructor references commit a329416f4f37840d2a5d7976874585413cd4c6af Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:11:19 2017 -0600 normalize class name in Classes.forName This fixes a Tomcat classloading issue when using the OpenJDK class library. commit ecafdf40baf2f3cde4835620e9af4380b1081fe7 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 16:58:04 2017 -0600 fix some lambda bugs commit 552dfd779baf077cc6445b4042588e4b6e34f3d2 Merge: 63dda56 aa2f25d Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:57:59 2017 -0600 Merge remote-tracking branch 'corda/chrisr3-invoking-extension' commit 63dda560f8648a793bdb609879076ab729b17e19 Merge: 3ec983d e589f10 Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:54:53 2017 -0600 Merge pull request #538 from dicej/master avoid definePackage infinite recursion with OpenJDK class library commit aa2f25da404b2fc168a672392df939b52ea250ab Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Jul 3 17:26:41 2017 +0100 Add support for "invokevirtual" and "invokeinterface". The "invokeinterface" support seems to be broken for lambdas that require native types to be boxed/unboxed. commit e589f105741ea36d07bba1e300c7ed69c33a22d1 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 2 19:43:36 2017 -0600 avoid definePackage infinite recursion with OpenJDK class library commit 3ec983dd82e01b36fb96411df345a54119a68181 Merge: 6f6bdd7 78881d4 Author: Joel Dice <joel.dice@gmail.com> Date: Tue Jun 13 09:50:49 2017 -0600 Merge pull request #534 from lwahlmeier/fileGetParentFile fixed File.getParent when getting parent returns root commit 78881d427cd474c14f5ce94484f5253de564074b Author: Luke Wahlmeier <lwahlmeier@gmail.com> Date: Tue May 30 13:42:56 2017 -0600 fixed File.getParent when getting parent returns root commit 6f6bdd7d5c171e0c4c807d0a4f3aa676461307de Merge: 8b694f9 b22343e Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:58:09 2017 -0600 Merge pull request #529 from mikehearn/proguard-fixes Some fixes to the ProGuard files commit 8b694f961496f2d47a377254f61153b0338335fd Merge: dfae414 61c82e1 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:54 2017 -0600 Merge pull request #531 from mikehearn/fileinputstream-compat FileInputStream has wrapped some more native methods commit dfae414da8da57049076c16c43472cc32bdeb07c Merge: 16dd804 d7a6f68 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:38 2017 -0600 Merge pull request #532 from mikehearn/use-symlinks Symlink OpenJDK files rather than hardlink commit d7a6f68235b2d42c03aba36f1bb48d173adb4fa6 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:42:06 2017 +0200 Symlink OpenJDK files rather than hardlink commit 61c82e1070d857bcdc7a4f086d13836d9608da00 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:40:52 2017 +0200 FileInputStream has wrapped some more native methods in recent OpenJDK releases commit b22343eb6731f1df2631635e2fcf9d51817273fe Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:38:09 2017 +0200 Some fixes to the ProGuard files commit 16dd804f392168497fa17ab682978f938e291bfb Merge: e2d3270 19deadd Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:30 2017 -0600 Merge pull request #526 from MaartenR/arrays-binsearch Added integer array binary search methods to Arrays class commit e2d3270fe8e92203b6107b95f862ff5bd245c37a Merge: dee99d6 545b9c8 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:20 2017 -0600 Merge pull request #527 from MaartenR/integer-nolz Added numberOfLeadingZeros method to Integer class commit 545b9c8732a6ea026285b1edf976a79eb541ef2e Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 11:23:36 2017 +0100 Tested more negative numbers commit b45bcf09535daef99ed31451ae55db8bec83164c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 10:47:27 2017 +0100 Added unit test for numberOfLeadingZeros method of the Integer class commit 19deadd36bbfc02a8c13e6d91963e41f5125057f Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Mon Mar 13 12:19:17 2017 +0100 Fixed mistake with end index being exclusive commit 7271c0b7077ae3bef473e036aa0f0298a9eb0601 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Mar 10 11:17:13 2017 +0100 Added numberOfLeadingZeros method to Integer class commit 023bb69acd071348f29cd43ff954d3dcf2856c7c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Thu Mar 9 13:43:03 2017 +0100 Added integer array binary search methods to Arrays class commit dee99d6dd60b743a870d1a2c58183649c8a6449c Merge: f7a651d 6c90953 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 1 08:39:32 2017 -0700 Merge pull request #525 from MaartenR/master Added functionality to HttpURLConnection for obtaining content length commit 6c90953745be5451ac9a028639f94e3fcc43d7f3 Author: Maarten Raaphorst <raaphorst@serviceplanet.nl> Date: Wed Mar 1 14:19:51 2017 +0100 Made http headers case insensitive commit 2c3a82d2b387251a8932ddb6575e718c2c1785a7 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Feb 3 05:42:56 2017 -0800 Added functionality to HttpURLConnection for obtaining content length
2017-07-10 16:01:56 +00:00
{ Consumer<String> c = System.out::println;
c.accept("invoke virtual");
}
{ Function<CharSequence, String> f = CharSequence::toString;
expect(f.apply("invoke interface") == "invoke interface");
}
{ Function<CharSequence, Integer> f = CharSequence::length;
expect(f.apply("invoke interface") == 16);
}
{ BiFunction<CharSequence, Integer, Character> f = CharSequence::charAt;
String data = "0123456789";
for (int i = 0; i < data.length(); ++i) {
expect(f.apply(data, i) == data.charAt(i));
}
}
{ Function<java.util.List<String>, Iterator<String>> f = java.util.List<String>::iterator;
Iterator<String> iter = f.apply(Arrays.asList("1", "22", "333"));
expect(iter.next() == "1");
expect(iter.next() == "22");
expect(iter.next() == "333");
expect(! iter.hasNext());
}
{ BiFunction<GetLong, Long, Long> f = GetLong::get;
expect(f.apply(new LongHolder(), 20L) == 20L);
}
{ BiFunction<GetDouble, Double, Double> f = GetDouble::get;
expect(f.apply(new DoubleHolder(), 20d) == 20d);
}
// This abort()s in machine.cpp
// { Foo s = (Foo & Marker) this::requiresBridge;
// s.someFunction(1, 2, "");
// }
Squashed commit of the following: (#15) commit fabf4dd0cca19118c59c925f572a655d1d9c4092 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:36:06 2017 -0600 reserve a little more stack space for worst-case lambda expressions commit 24b95016dd6f62fa4a82312310fcb5c55cc22f93 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:33:39 2017 -0600 support constructor references commit a329416f4f37840d2a5d7976874585413cd4c6af Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:11:19 2017 -0600 normalize class name in Classes.forName This fixes a Tomcat classloading issue when using the OpenJDK class library. commit ecafdf40baf2f3cde4835620e9af4380b1081fe7 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 16:58:04 2017 -0600 fix some lambda bugs commit 552dfd779baf077cc6445b4042588e4b6e34f3d2 Merge: 63dda56 aa2f25d Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:57:59 2017 -0600 Merge remote-tracking branch 'corda/chrisr3-invoking-extension' commit 63dda560f8648a793bdb609879076ab729b17e19 Merge: 3ec983d e589f10 Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:54:53 2017 -0600 Merge pull request #538 from dicej/master avoid definePackage infinite recursion with OpenJDK class library commit aa2f25da404b2fc168a672392df939b52ea250ab Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Jul 3 17:26:41 2017 +0100 Add support for "invokevirtual" and "invokeinterface". The "invokeinterface" support seems to be broken for lambdas that require native types to be boxed/unboxed. commit e589f105741ea36d07bba1e300c7ed69c33a22d1 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 2 19:43:36 2017 -0600 avoid definePackage infinite recursion with OpenJDK class library commit 3ec983dd82e01b36fb96411df345a54119a68181 Merge: 6f6bdd7 78881d4 Author: Joel Dice <joel.dice@gmail.com> Date: Tue Jun 13 09:50:49 2017 -0600 Merge pull request #534 from lwahlmeier/fileGetParentFile fixed File.getParent when getting parent returns root commit 78881d427cd474c14f5ce94484f5253de564074b Author: Luke Wahlmeier <lwahlmeier@gmail.com> Date: Tue May 30 13:42:56 2017 -0600 fixed File.getParent when getting parent returns root commit 6f6bdd7d5c171e0c4c807d0a4f3aa676461307de Merge: 8b694f9 b22343e Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:58:09 2017 -0600 Merge pull request #529 from mikehearn/proguard-fixes Some fixes to the ProGuard files commit 8b694f961496f2d47a377254f61153b0338335fd Merge: dfae414 61c82e1 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:54 2017 -0600 Merge pull request #531 from mikehearn/fileinputstream-compat FileInputStream has wrapped some more native methods commit dfae414da8da57049076c16c43472cc32bdeb07c Merge: 16dd804 d7a6f68 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:38 2017 -0600 Merge pull request #532 from mikehearn/use-symlinks Symlink OpenJDK files rather than hardlink commit d7a6f68235b2d42c03aba36f1bb48d173adb4fa6 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:42:06 2017 +0200 Symlink OpenJDK files rather than hardlink commit 61c82e1070d857bcdc7a4f086d13836d9608da00 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:40:52 2017 +0200 FileInputStream has wrapped some more native methods in recent OpenJDK releases commit b22343eb6731f1df2631635e2fcf9d51817273fe Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:38:09 2017 +0200 Some fixes to the ProGuard files commit 16dd804f392168497fa17ab682978f938e291bfb Merge: e2d3270 19deadd Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:30 2017 -0600 Merge pull request #526 from MaartenR/arrays-binsearch Added integer array binary search methods to Arrays class commit e2d3270fe8e92203b6107b95f862ff5bd245c37a Merge: dee99d6 545b9c8 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:20 2017 -0600 Merge pull request #527 from MaartenR/integer-nolz Added numberOfLeadingZeros method to Integer class commit 545b9c8732a6ea026285b1edf976a79eb541ef2e Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 11:23:36 2017 +0100 Tested more negative numbers commit b45bcf09535daef99ed31451ae55db8bec83164c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 10:47:27 2017 +0100 Added unit test for numberOfLeadingZeros method of the Integer class commit 19deadd36bbfc02a8c13e6d91963e41f5125057f Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Mon Mar 13 12:19:17 2017 +0100 Fixed mistake with end index being exclusive commit 7271c0b7077ae3bef473e036aa0f0298a9eb0601 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Mar 10 11:17:13 2017 +0100 Added numberOfLeadingZeros method to Integer class commit 023bb69acd071348f29cd43ff954d3dcf2856c7c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Thu Mar 9 13:43:03 2017 +0100 Added integer array binary search methods to Arrays class commit dee99d6dd60b743a870d1a2c58183649c8a6449c Merge: f7a651d 6c90953 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 1 08:39:32 2017 -0700 Merge pull request #525 from MaartenR/master Added functionality to HttpURLConnection for obtaining content length commit 6c90953745be5451ac9a028639f94e3fcc43d7f3 Author: Maarten Raaphorst <raaphorst@serviceplanet.nl> Date: Wed Mar 1 14:19:51 2017 +0100 Made http headers case insensitive commit 2c3a82d2b387251a8932ddb6575e718c2c1785a7 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Feb 3 05:42:56 2017 -0800 Added functionality to HttpURLConnection for obtaining content length
2017-07-10 16:01:56 +00:00
{ UnboxedSerializable s = InvokeDynamic::addBoxed;
expect(s.add(1, 2) == 3);
}
Squashed commit of the following: (#15) commit fabf4dd0cca19118c59c925f572a655d1d9c4092 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:36:06 2017 -0600 reserve a little more stack space for worst-case lambda expressions commit 24b95016dd6f62fa4a82312310fcb5c55cc22f93 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:33:39 2017 -0600 support constructor references commit a329416f4f37840d2a5d7976874585413cd4c6af Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 17:11:19 2017 -0600 normalize class name in Classes.forName This fixes a Tomcat classloading issue when using the OpenJDK class library. commit ecafdf40baf2f3cde4835620e9af4380b1081fe7 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 9 16:58:04 2017 -0600 fix some lambda bugs commit 552dfd779baf077cc6445b4042588e4b6e34f3d2 Merge: 63dda56 aa2f25d Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:57:59 2017 -0600 Merge remote-tracking branch 'corda/chrisr3-invoking-extension' commit 63dda560f8648a793bdb609879076ab729b17e19 Merge: 3ec983d e589f10 Author: Joel Dice <joel.dice@gmail.com> Date: Sat Jul 8 10:54:53 2017 -0600 Merge pull request #538 from dicej/master avoid definePackage infinite recursion with OpenJDK class library commit aa2f25da404b2fc168a672392df939b52ea250ab Author: Chris Rankin <chris.rankin@r3.com> Date: Mon Jul 3 17:26:41 2017 +0100 Add support for "invokevirtual" and "invokeinterface". The "invokeinterface" support seems to be broken for lambdas that require native types to be boxed/unboxed. commit e589f105741ea36d07bba1e300c7ed69c33a22d1 Author: Joel Dice <joel.dice@gmail.com> Date: Sun Jul 2 19:43:36 2017 -0600 avoid definePackage infinite recursion with OpenJDK class library commit 3ec983dd82e01b36fb96411df345a54119a68181 Merge: 6f6bdd7 78881d4 Author: Joel Dice <joel.dice@gmail.com> Date: Tue Jun 13 09:50:49 2017 -0600 Merge pull request #534 from lwahlmeier/fileGetParentFile fixed File.getParent when getting parent returns root commit 78881d427cd474c14f5ce94484f5253de564074b Author: Luke Wahlmeier <lwahlmeier@gmail.com> Date: Tue May 30 13:42:56 2017 -0600 fixed File.getParent when getting parent returns root commit 6f6bdd7d5c171e0c4c807d0a4f3aa676461307de Merge: 8b694f9 b22343e Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:58:09 2017 -0600 Merge pull request #529 from mikehearn/proguard-fixes Some fixes to the ProGuard files commit 8b694f961496f2d47a377254f61153b0338335fd Merge: dfae414 61c82e1 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:54 2017 -0600 Merge pull request #531 from mikehearn/fileinputstream-compat FileInputStream has wrapped some more native methods commit dfae414da8da57049076c16c43472cc32bdeb07c Merge: 16dd804 d7a6f68 Author: Joel Dice <joel.dice@gmail.com> Date: Mon May 22 12:57:38 2017 -0600 Merge pull request #532 from mikehearn/use-symlinks Symlink OpenJDK files rather than hardlink commit d7a6f68235b2d42c03aba36f1bb48d173adb4fa6 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:42:06 2017 +0200 Symlink OpenJDK files rather than hardlink commit 61c82e1070d857bcdc7a4f086d13836d9608da00 Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:40:52 2017 +0200 FileInputStream has wrapped some more native methods in recent OpenJDK releases commit b22343eb6731f1df2631635e2fcf9d51817273fe Author: Mike Hearn <mike@plan99.net> Date: Sun May 14 21:38:09 2017 +0200 Some fixes to the ProGuard files commit 16dd804f392168497fa17ab682978f938e291bfb Merge: e2d3270 19deadd Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:30 2017 -0600 Merge pull request #526 from MaartenR/arrays-binsearch Added integer array binary search methods to Arrays class commit e2d3270fe8e92203b6107b95f862ff5bd245c37a Merge: dee99d6 545b9c8 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 22 16:00:20 2017 -0600 Merge pull request #527 from MaartenR/integer-nolz Added numberOfLeadingZeros method to Integer class commit 545b9c8732a6ea026285b1edf976a79eb541ef2e Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 11:23:36 2017 +0100 Tested more negative numbers commit b45bcf09535daef99ed31451ae55db8bec83164c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Tue Mar 14 10:47:27 2017 +0100 Added unit test for numberOfLeadingZeros method of the Integer class commit 19deadd36bbfc02a8c13e6d91963e41f5125057f Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Mon Mar 13 12:19:17 2017 +0100 Fixed mistake with end index being exclusive commit 7271c0b7077ae3bef473e036aa0f0298a9eb0601 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Mar 10 11:17:13 2017 +0100 Added numberOfLeadingZeros method to Integer class commit 023bb69acd071348f29cd43ff954d3dcf2856c7c Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Thu Mar 9 13:43:03 2017 +0100 Added integer array binary search methods to Arrays class commit dee99d6dd60b743a870d1a2c58183649c8a6449c Merge: f7a651d 6c90953 Author: Joel Dice <joel.dice@gmail.com> Date: Wed Mar 1 08:39:32 2017 -0700 Merge pull request #525 from MaartenR/master Added functionality to HttpURLConnection for obtaining content length commit 6c90953745be5451ac9a028639f94e3fcc43d7f3 Author: Maarten Raaphorst <raaphorst@serviceplanet.nl> Date: Wed Mar 1 14:19:51 2017 +0100 Made http headers case insensitive commit 2c3a82d2b387251a8932ddb6575e718c2c1785a7 Author: Maarten Raaphorst <mwraaphorst@gmail.com> Date: Fri Feb 3 05:42:56 2017 -0800 Added functionality to HttpURLConnection for obtaining content length
2017-07-10 16:01:56 +00:00
{ Unboxed s = InvokeDynamic::addBoxed;
expect(s.add(1, 2) == 3);
}
{ Supplier<java.util.List<String>> s = java.util.ArrayList<String>::new;
java.util.List<String> list = s.get();
}
}
}