1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Fri Sep 26 10:22:23 2014 +0200
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Fri Sep 26 10:44:54 2014 +0200
1.3 @@ -421,10 +421,18 @@
1.4 private String accessNonVirtualMember(String object,
1.5 String mangledName,
1.6 ClassData declaringClass) {
1.7 - return ((declaringClass != null)
1.8 - && !isExternalClass(declaringClass.getClassName()))
1.9 - ? object + "." + mangledName
1.10 - : object + "['" + mangledName + "']";
1.11 + if (declaringClass == null) {
1.12 + return object + "['" + mangledName + "']";
1.13 + }
1.14 + final String className = declaringClass.getClassName();
1.15 + if (
1.16 + "java/lang/Object".equals(className) ||
1.17 + "java/lang/reflect/Array".equals(className) ||
1.18 + isExternalClass(className)
1.19 + ) {
1.20 + return object + "['" + mangledName + "']";
1.21 + }
1.22 + return object + "." + mangledName;
1.23 }
1.24
1.25 private final class ExportedMethodFinder
2.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/Resources.java Fri Sep 26 10:22:23 2014 +0200
2.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/Resources.java Fri Sep 26 10:44:54 2014 +0200
2.3 @@ -92,7 +92,9 @@
2.4 URL url = en.nextElement();
2.5 sb.append(readIS(url.openStream(), true));
2.6 }
2.7 - return sb.toString().toString();
2.8 + String s = sb.toString();
2.9 + s = s + s.hashCode();
2.10 + return s.toString();
2.11 }
2.12 public static String loadJustHello() throws IOException {
2.13 URL url = Resources.class.getResource("/META-INF/ahoj");
3.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ResourcesWithExtensionsTest.java Fri Sep 26 10:22:23 2014 +0200
3.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ResourcesWithExtensionsTest.java Fri Sep 26 10:44:54 2014 +0200
3.3 @@ -39,6 +39,7 @@
3.4
3.5 @Test public void checkHelloWorld() throws Exception {
3.6 String exp = "Hello World!";
3.7 + exp = exp + exp.hashCode();
3.8
3.9 assertExec("Loading precompiled resources:",
3.10 Resources.class, "loadHello__Ljava_lang_String_2",