Skip to content

Commit b16c401

Browse files
committed
j2sClass fixes for System.setout, inner class subclass of JDialog
referencing Dialog method, adds _getClassCount() for java.lang.management.ClassLoaderMXBean
1 parent b02f3aa commit b16c401

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

sources/net.sf.j2s.java.core/srcjs/js/j2sClazz.js

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -814,23 +814,28 @@ var addB$Keys = function(clazz, isNew, b, outerObj, objThis) {
814814
var key = getClassName(cl, true);
815815
if (!isNew && b[key])
816816
break;
817-
b[key] = outerObj;
818-
if (key.indexOf("java.lang.") == 0)
819-
b[key.substring(10)] = outerObj;
817+
setB$key(key, b, outerObj);
820818
if (cl.implementz) {
821819
var impl = cl.implementz;
822820
for (var i = impl.length; --i >= 0;) {
823821
var key = getClassName(impl[i], true);
824822
if (isNew || !b[key]) {
825-
b[key] = outerObj;
826-
if (key.indexOf("java.lang.") == 0)
827-
b[key.substring(10)] = outerObj;
823+
setB$key(key, b, outerObj);
828824
}
829825
}
830826
}
831827
} while ((cl = cl.superclazz));
832828
};
833829

830+
var setB$key = function(key, b, outerObj) {
831+
b[key] = outerObj;
832+
if (key.indexOf("java.lang.") == 0)
833+
b[key.substring(10)] = outerObj;
834+
if (key == "javax.swing.JDialog")
835+
b["java.awt.Dialog"] = outerObj;
836+
if (key == "javax.swing.JFrame")
837+
b["java.awt.Frame"] = outerObj;
838+
};
834839

835840
/**
836841
// arg1 is the package name
@@ -2546,6 +2551,12 @@ Clazz._initClass = function(c,clinit,status,objThis) {
25462551
c;
25472552
}
25482553

2554+
Clazz._getClassCount = function() {
2555+
var n = 0;
2556+
for (var c in Clazz.allClasses){n++};
2557+
return n;
2558+
}
2559+
25492560
Clazz._4Name = function(clazzName, applet, state, asClazz, initialize, isQuiet) {
25502561
var cl;
25512562
if (clazzName.indexOf("[") == 0) {
@@ -3111,10 +3122,14 @@ C$.setIn$java_io_InputStream=function ($in) {
31113122

31123123
C$.setOut$java_io_PrintStream=function (out) {
31133124
C$.out=out;
3125+
out.println = out.println$S;
3126+
out.print = out.print$S;
31143127
}
31153128

31163129
C$.setErr$java_io_PrintStream=function (err) {
31173130
C$.err=err;
3131+
err.println = err.println$S;
3132+
err.print = err.print$S;
31183133
}
31193134

31203135
C$.console$=function () {
@@ -3236,14 +3251,6 @@ Sys.out.__CLASS_NAME__ = "java.io.PrintStream";
32363251
Sys.err = new Clazz._O ();
32373252
Sys.err.__CLASS_NAME__ = "java.io.PrintStream";
32383253

3239-
Sys.setOut$java_io_PrintStream = function(ps) {
3240-
System.out = ps;
3241-
};
3242-
3243-
Sys.setErr$java_io_PrintStream = function(ps) {
3244-
System.err = ps;
3245-
};
3246-
32473254
var checkTrace = function(s) {
32483255
if (J2S._nooutput || J2S._traceFilter && s.indexOf(J2S._traceFilter) < 0) return;
32493256
if (!J2S._traceFilter && J2S._traceOutput && s &&
@@ -3255,7 +3262,7 @@ var checkTrace = function(s) {
32553262

32563263
var setps = function(ps, f) {
32573264

3258-
ps.print = ps.print$O = ps.print$Z = ps.print$I = ps.println$J = ps.print$S = ps.print$C = ps.print = function (s) {
3265+
ps.print = ps.print$O = ps.print$Z = ps.print$I = ps.print$J = ps.print$S = ps.print$C = function (s) {
32593266
checkTrace(s);
32603267
f(s);
32613268
};
@@ -3275,6 +3282,10 @@ ps.println = ps.println$ = ps.println$O = ps.println$Z = ps.println$I = ps.print
32753282

32763283
ps.println$F = ps.println$D = function(f) {var s = "" + f; ps.println(s.indexOf(".") < 0 && s.indexOf("Inf") < 0 ? s + ".0" : s)};
32773284

3285+
ps.write$I = function(ch) {
3286+
ps.print(String.fromCharCode(ch));
3287+
}
3288+
32783289
ps.write$BA = function (buf) {
32793290
ps.write$BA$I$I(buf, 0, buf.length);
32803291
};

0 commit comments

Comments
 (0)