@@ -13862,12 +13862,13 @@ if (ev.keyCode == 9 && ev.target["data-focuscomponent"]) {
1386213862
1386313863// Google closure compiler cannot handle Clazz.new or Clazz.super
1386413864
13865+ // BH 2019.02.02 3.2.7-v5 fixes array.getClass().getName() and getArrayClass() for short -- should be [S, not [H, for Java
1386513866// BH 2019.12.29 3.2.6 fixes Float.parseFloat$S("NaN") [and Double]
1386613867// BH 2019.12.23 3.2.6 update of System
1386713868// BH 2019.12.19 3.2.6 revision of $clinit$
13868- // BH 2019.12.16 3.2.5. v4 adds ClassLoader static methods for system resources (just j2s/...)
13869- // BH 2019.12.15 3.2.5. v4 Character.prototype.valueOf() missing
13870- // BH 2019.12.14 3.2.5. v3 Clazz._4Name initialization should be full static initialization
13869+ // BH 2019.12.16 3.2.5- v4 adds ClassLoader static methods for system resources (just j2s/...)
13870+ // BH 2019.12.15 3.2.5- v4 Character.prototype.valueOf() missing
13871+ // BH 2019.12.14 3.2.5- v3 Clazz._4Name initialization should be full static initialization
1387113872
1387213873// see earlier notes at net.sf.j2s.java.core.srcjs/js/devnotes.txt
1387313874
@@ -13935,7 +13936,9 @@ var getArrayClass = function(name){
1393513936 var n = 0;
1393613937 while (name.charAt(n) == "[") n++;
1393713938 var type = name.substring(n);
13938- var clazz = (type.length == 1 ? primTypes[type].TYPE : Clazz._4Name(type.split(";")[0].substring(1)).$clazz$);
13939+ if (type == "S")
13940+ type = "H"; // [S is short[] in Java
13941+ var clazz = (type.length == 1 ? primTypes[type].TYPE : Clazz._4Name(type.split(";")[0].substring(1),null,null,true));
1393913942 return Clazz.array(clazz,-n);
1394013943}
1394113944
@@ -14871,14 +14874,20 @@ var arrayClass = function(baseClass, ndim) {
1487114874 o.__COMPONENTTYPE = (o.__NDIM == 1 ? baseClass : null);
1487214875 var oclass = Clazz.getClass(o);
1487314876 oclass.getComponentType$ = function() {
14874- return o.__COMPONENTTYPE
14875- || (o.__COMPONENTTYPE = arrayClass(baseClass, ndim - 1));
14877+ if (!o.__COMPONENTTYPE)
14878+ o.__COMPONENTTYPE = arrayClass(baseClass, ndim - 1);
14879+ return (o.__COMPONENTTYPE.__PRIMITIVE
14880+ || o.__COMPONENTTYPE.$clazz$ ? o.__COMPONENTTYPE
14881+ : Clazz.getClass(o.__COMPONENTTYPE));
1487614882 };
14877- oclass.getName$ = function() {return o.__NAME || (o__NAME = (function() {
14883+ oclass.getName$ = function() {return o.__NAME || (o__NAME = (function(stub ) {
1487814884 switch (stub) {
1487914885 case "O":
1488014886 stub = "Object";
1488114887 break;
14888+ case "H": // SwingJS -> Java
14889+ stub = "S";
14890+ break;
1488214891 case "S":
1488314892 stub = "String";
1488414893 break;
@@ -14892,8 +14901,8 @@ var arrayClass = function(baseClass, ndim) {
1489214901 else if (stub.length > 1)
1489314902 stub = "Ljava.lang." + stub + ";";
1489414903 return aaa.replace(/A/g,"[") + stub;
14895- })())};
14896- arrayClasses[key] = oclass;
14904+ })(stub ))};
14905+ arrayClasses[key] = oclass;
1489714906 return oclass;
1489814907}
1489914908
@@ -16393,8 +16402,11 @@ Clazz._initClass = function(c,clinit,status,objThis) {
1639316402}
1639416403
1639516404Clazz._4Name = function(clazzName, applet, state, asClazz, initialize, isQuiet) {
16396- if (clazzName.indexOf("[") == 0)
16397- return getArrayClass(clazzName);
16405+ var cl;
16406+ if (clazzName.indexOf("[") == 0) {
16407+ cl = getArrayClass(clazzName);
16408+ return (asClazz ? cl.$clazz$ : cl);
16409+ }
1639816410 if (clazzName.indexOf(".") < 0)
1639916411 clazzName = "java.lang." + clazzName;
1640016412 var isok = Clazz._isClassDefined(clazzName);
@@ -16425,7 +16437,7 @@ Clazz._4Name = function(clazzName, applet, state, asClazz, initialize, isQuiet)
1642516437 _Loader.loadClass(clazzName);
1642616438 }
1642716439 }
16428- var cl = evalType(clazzName);
16440+ cl = evalType(clazzName);
1642916441 if (!cl){
1643016442 if (isQuiet || Clazz._isQuietLoad)
1643116443 return null;
0 commit comments