@@ -220,7 +220,7 @@ Clazz.newInstance$ = function (objThis, args, isInner) {
220220 objThis . __JSID__ = ++ _jsid ;
221221
222222 if ( ! isInner ) {
223- if ( args && args . length == 0 && objThis . construct ) {
223+ if ( ( ! args || args && args . length == 0 ) && objThis . construct ) {
224224 // allow for direct default call "new foo()" to run with its default constructor
225225 objThis . construct . apply ( objThis ) ;
226226 }
@@ -921,7 +921,7 @@ var extendedObjectMethods = Clazz._extendedObjectMethods = [ "isInstance", "equa
921921 // BH allows @j 2sNative access without super constructor
922922 Clazz . clone = function ( me ) {
923923 return appendMap ( me . __ARRAYTYPE ? Clazz . newArray$ ( me . __BASECLASS , me . __ARRAYTYPE , - 1 , [ - 2 , me ] )
924- : new me . constructor ( ) , me ) ;
924+ : new me . constructor ( [ Clazz . inheritArgs ] ) , me ) ;
925925 }
926926/*
927927 * Methods for thread in Object
@@ -943,7 +943,6 @@ var extendJO = Clazz._extendJO = function(c, name, isNumber) {
943943
944944 c . isInstance = function ( o ) { return Clazz . instanceOf ( o , this ) } ;
945945
946-
947946 for ( var i = 0 ; i < extendedObjectMethods . length ; i ++ ) {
948947 var p = extendedObjectMethods [ i ] ;
949948 addProto ( c . prototype , p , Clazz . _O . prototype [ p ] ) ;
@@ -1124,12 +1123,15 @@ var getInheritedLevel = function (clazzTarget, clazzBase, isTgtStr, isBaseStr) {
11241123
11251124var innerNames = [
11261125 "equals" , "equals$O" , "hashCode" , /*"toString",*/
1127- "getName" , "getCanonicalName" , "getClassLoader" , "getResource" ,
1128- "getResourceAsStream" , "defineMethod" , "defineStaticMethod" ,
1126+ "getName" , "getCanonicalName" , "getClassLoader" ,
1127+ "getResource" , "getResource$S" ,
1128+ "getResourceAsStream" , "getResourceAsStream$S" ,
1129+ "defineMethod" , "defineStaticMethod" ,
11291130 "makeConstructor" ,
11301131 "getSuperclass" , "isAssignableFrom" ,
11311132 "getConstructor" , "getConstructor$ClassA" ,
1132- "getDeclaredMethod" , "getDeclaredMethods" ,
1133+ "getDeclaredMethod" , "getDeclaredmethod$S$ClassA" ,
1134+ "getDeclaredMethods" ,
11331135 "getMethod" , "getMethod$S$ClassA" ,
11341136 "getMethods" , "getModifiers" , /*"isArray",*/ "newInstance"
11351137] ;
@@ -1222,7 +1224,8 @@ var inF = Clazz._inF = {
12221224 d [ d . length - 1 ] = fname ;
12231225 fname = d . join ( "/" ) ;
12241226 }
1225- url = new java . net . URL ( fname ) ;
1227+ Clazz . loadClass ( "java.net.URL" ) ;
1228+ url = Clazz . $new ( java . net . URL . construct$S , [ fname ] ) ;
12261229 } catch ( e ) {
12271230 return null ;
12281231 }
@@ -1235,7 +1238,9 @@ var inF = Clazz._inF = {
12351238 return null ;
12361239
12371240 var bytes = ( data . __BYTESIZE == 1 ? data : J2S . _strToBytes ( data ) ) ;
1238- var is = new java . io . BufferedInputStream ( new java . io . ByteArrayInputStream ( bytes ) ) ;
1241+ Clazz . loadClass ( "java.io.BufferedInputStream" ) ;
1242+ Clazz . loadClass ( "java.io.ByteArrayInputStream" ) ;
1243+ var is = Clazz . $new ( java . io . BufferedInputStream . construct$java_io_InputStream , [ Clazz . $new ( java . io . ByteArrayInputStream . construct$BA , [ bytes ] ) ] ) ;
12391244 is . url = url ;
12401245 url . _streamData = is ;
12411246 return is ;
@@ -1279,43 +1284,14 @@ var inF = Clazz._inF = {
12791284
12801285 getModifiers : function ( ) { return java . lang . reflect . Modifier . PUBLIC ; } ,
12811286
1282- newInstance : function ( a ) {
1283- // but there is only one empty-parameter version of class.newInstance()???
1284- var clz = this ;
1285- allowImplicit = false ;
1286- var c = null ;
1287- var n = ( a == null ? 0 : a . length ) ;
1288- if ( n > 1 ) {
1289- alert ( "?? n > 1 in Clazz.newInstance" )
1290- }
1291- switch ( n ) {
1292- case 0 :
1293- c = Clazz . $new ( clz ) ; //new clz();
1294- break ;
1295- case 1 :
1296- c = new clz ( a [ 0 ] ) ;
1297- break ;
1298- case 2 :
1299- c = new clz ( a [ 0 ] , a [ 1 ] ) ;
1300- break ;
1301- case 3 :
1302- c = new clz ( a [ 0 ] , a [ 1 ] , a [ 2 ] ) ;
1303- break ;
1304- case 4 :
1305- c = new clz ( a [ 0 ] , a [ 1 ] , a [ 2 ] , a [ 3 ] ) ;
1306- break ;
1307- default :
1308- var x = "new " + clz . __CLASS_NAME__ + "(" ;
1309- for ( var i = 0 ; i < a . length ; i ++ )
1310- x += ( i == 0 ? "" : "," ) + "a[" + i + "]" ;
1311- x += ")" ;
1312- c = eval ( x ) ;
1313- }
1314- allowImplicit = true ;
1315- return c ;
1287+ newInstance : function ( ) {
1288+ return new this ;
13161289 }
13171290} ;
13181291
1292+ inF . getResource$S = inF . getResource ;
1293+ inF . getResourceAsStream$S = inF . getResourceAsStream ;
1294+
13191295inF . getDeclaredMethods = inF . getMethods ;
13201296inF . getDeclaredMethod = inF . getMethod$S$ClassA = inF . getMethod ;
13211297inF . equals$O = inF . equals ;
@@ -4040,7 +4016,7 @@ Sys.out.printf = Sys.out.format = function (f, args) {
40404016
40414017Sys . out . println = Sys . out . println$O = Sys . out . println$Z = Sys . out . println$I = Sys . out . println$S = Sys . out . println = function ( s ) {
40424018
4043- if ( s . indexOf ( "TypeError" ) >= 0 ) {
4019+ if ( ( "" + s ) . indexOf ( "TypeError" ) >= 0 ) {
40444020 debugger ;
40454021}
40464022 if ( Clazz . _nooutput ) return ;
@@ -5754,6 +5730,10 @@ Clazz._setDeclared("java.util.Date", javautil.Date=Date);
57545730Date . __CLASS_NAME__ = "Date" ;
57555731Clazz . _implementOf ( Date , [ java . io . Serializable , java . lang . Comparable ] ) ;
57565732
5733+ m$ ( javautil . Date , "construct" , function ( t ) {
5734+ this . setTime ( t || System . currentTimeMillis ( ) )
5735+ } , 1 ) ;
5736+
57575737m$ ( javautil . Date , "clone" ,
57585738function ( ) {
57595739return new Date ( this . getTime ( ) ) ;
0 commit comments