Skip to content

Commit d332343

Browse files
hansonrhansonr
authored andcommitted
adds try/catch for arguments.callee.caller for JavaScript strict mode
1 parent 44c9cfb commit d332343

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1625,6 +1625,7 @@ Clazz._getStackTrace = function(n) {
16251625
estack.pop();
16261626
}
16271627
var s = "\n";
1628+
try {
16281629
var c = arguments.callee;
16291630
for (var i = 0; i < n; i++) {
16301631
if (!(c = c.caller))
@@ -1646,7 +1647,7 @@ Clazz._getStackTrace = function(n) {
16461647
s += getArgs(c);
16471648
}
16481649
}
1649-
1650+
} catch(e){}
16501651
s += estack.join("\n");
16511652
if (Clazz._stack.length) {
16521653
s += "\nsee Clazz._stack";
@@ -5128,6 +5129,7 @@ m$(C$, ['printStackTrace$java_io_PrintStream','printStackTrace$java_io_PrintWrit
51285129

51295130
Clazz.newMeth(C$, 'fillInStackTrace$', function () {
51305131
this.stackTrace = Clazz.array(StackTraceElement);
5132+
try {
51315133
var caller = arguments.callee.caller;
51325134
var superCaller = null;
51335135
var callerList = [];
@@ -5162,6 +5164,8 @@ while (index < 20 && caller != null) {
51625164
}
51635165
caller = (superCaller && superCaller.arguments && superCaller.arguments.callee) ? superCaller.arguments.callee.caller : null;
51645166
}
5167+
} catch (e) {};
5168+
51655169
Clazz.initializingException = false;
51665170
return this;
51675171
});

0 commit comments

Comments
 (0)