@@ -13863,6 +13863,7 @@ if (ev.keyCode == 9 && ev.target["data-focuscomponent"]) {
1386313863
1386413864// Google closure compiler cannot handle Clazz.new or Clazz.super
1386513865
13866+ // BH 2019.11.26 3.2.5.v1 errant if (args) in newInstance
1386613867// BH 2019.11.07 3.2.5.v0 full encapsulation
1386713868// BH 2019.11.07 3.2.5.v0 adds encapsulation for window
1386813869// BH 2019.11.07 3.2.5.v0 splitting off $static$ from $clinit$ (see Java2ScriptVisitor notes)
@@ -14320,13 +14321,15 @@ Clazz.new_ = function(c, args, cl) {
1432014321 // Integer will be passed as is here, without c.exClazz, or cl
1432114322 var clInner = cl;
1432214323 cl = cl || c.exClazz || c;
14323- Clazz._initClass(cl,1,0,0); // critical here; next will call (0,1,0)
14324+ Clazz._initClass(cl,1,0,0);
14325+ // BH note: Critical here that the above is not 1,1,0;
14326+ // static init is the responsibility of newInstance
14327+ // or a static field or method call (which is handled
14328+ // by the $I$(n) handler in the function initializer in
14329+ // the newClass() call.
1432414330 var obj = new (Function.prototype.bind.apply(cl, arguments));
1432514331 if (args[2] != inheritArgs) {
14326- if (haveArgs) {
14327- // Clazz._initClass(cl,0,1,0);
14328- c.apply(obj, args);
14329- }
14332+ haveArgs && c.apply(obj, args);
1433014333 clInner && clInner.$init$.apply(obj);
1433114334 }
1433214335
@@ -14419,7 +14422,7 @@ Clazz.newInstance = function (objThis, args, isInner, clazz) {
1441914422 objThis.__JSID__ = ++_jsid;
1442014423
1442114424 if (!isInner) {
14422- if (args)
14425+ // if (args)
1442314426 clazz && Clazz._initClass(clazz,1,1,objThis);
1442414427 if ((!args || args.length == 0) && objThis.c$) {
1442514428 // allow for direct default call "new foo()" to run with its default constructor
0 commit comments