# HG changeset patch # User Jaroslav Tulach # Date 1457170090 -3600 # Node ID c4d37f95adf229300fcd209779a060ad0d5b32f5 # Parent 95250e1b35de903a6c4a84680ec928e9926f3579 RetroLamda needs to access resources from classpath, not the converted ones to deal with lamda interfaces with default methods diff -r 95250e1b35de -r c4d37f95adf2 rt/aot/src/main/java/org/apidesign/bck2brwsr/aot/Bck2BrwsrJars.java --- a/rt/aot/src/main/java/org/apidesign/bck2brwsr/aot/Bck2BrwsrJars.java Sat Mar 05 08:47:12 2016 +0100 +++ b/rt/aot/src/main/java/org/apidesign/bck2brwsr/aot/Bck2BrwsrJars.java Sat Mar 05 10:28:10 2016 +0100 @@ -299,6 +299,10 @@ if (is != null) { return is; } + return getFromCp(name); + } + + private InputStream getFromCp(String name) throws IOException { Enumeration en = cp.getResources(name); URL u = null; while (en.hasMoreElements()) { @@ -315,10 +319,17 @@ return u.openStream(); } + private final class NoConvRes implements Bck2Brwsr.Resources { + @Override + public InputStream get(String resource) throws IOException { + return getFromCp(resource); + } + } + private void addClassResource(String n) throws IOException { if (proc != null) { try (InputStream is = this.get(n)) { - Map conv = proc.process(n, readFrom(is), this); + Map conv = proc.process(n, readFrom(is), new NoConvRes()); if (conv != null) { boolean found = false; for (Map.Entry entrySet : conv.entrySet()) { diff -r 95250e1b35de -r c4d37f95adf2 rt/vm8/src/main/java/org/apidesign/bck2brwsr/vm8/Functions.java --- a/rt/vm8/src/main/java/org/apidesign/bck2brwsr/vm8/Functions.java Sat Mar 05 08:47:12 2016 +0100 +++ b/rt/vm8/src/main/java/org/apidesign/bck2brwsr/vm8/Functions.java Sat Mar 05 10:28:10 2016 +0100 @@ -57,6 +57,6 @@ } private static SimpleOne function4impl() { - return null; + return (Void p1, Void p2, Void p3, Void p4) -> 42; } }