1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Fri Sep 26 08:28:11 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