# HG changeset patch # User Jaroslav Tulach # Date 1429093785 -7200 # Node ID 999cf016915681308916fc27db1fd04c82d680b9 # Parent 01269e6d4e95b75b01cfc6b2bc7233a4a4a3b6e0 Make sure the array component we check is properly referenced from the generated file diff -r 01269e6d4e95 -r 999cf0169156 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed Apr 15 12:23:59 2015 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed Apr 15 12:29:45 2015 +0200 @@ -2413,7 +2413,9 @@ cnt++; } if (type.charAt(cnt) == 'L') { - type = "vm." + mangleClassName(type.substring(cnt + 1, type.length() - 1)); + String component = type.substring(cnt + 1, type.length() - 1); + requireReference(component); + type = "vm." + mangleClassName(component); emit(smapper, this, "var @2 = Array.prototype['isInstance__ZLjava_lang_Object_2ILjava_lang_Object_2'](@1, @4, @3);", smapper.popA(), smapper.pushI(), @@ -2440,7 +2442,9 @@ cnt++; } if (type.charAt(cnt) == 'L') { - type = "vm." + mangleClassName(type.substring(cnt + 1, type.length() - 1)); + String component = type.substring(cnt + 1, type.length() - 1); + requireReference(component); + type = "vm." + mangleClassName(component); emitNoFlush(smapper, "if (@1 !== null && !Array.prototype['isInstance__ZLjava_lang_Object_2ILjava_lang_Object_2'](@1, @3, @2)) vm.java_lang_Class(false).castEx();", smapper.getT(0, VarType.REFERENCE, false), type, "" + cnt