Subversion Repositories JSX

Compare Revisions

Last modification

Ignore whitespace Rev 645 → Rev 646

/trunk/object.js
2429,42 → 2429,45
 
var result = '';
 
var caller =
(jsx.object._hasOwnProperty(jsx_getStackTrace, "caller") && jsx_getStackTrace.caller)
|| (jsx.object._hasOwnProperty(arguments, "caller") && arguments.caller);
if (typeof Error == "function")
{
var stack = parseErrorStack(new Error());
result = stack.slice(2).join("\n");
// for (var i = 1; i < stack.length; i++)
// {
// result += '> ' + stack[i] + '\n';
// }
}
 
if (caller)
/*
* Avoid strict violation; implementations with Error should also have
* the “stack” property
*/
/* FIXME: Use local strict mode declaration only */
if (!stack)
{
/* JScript and older JavaScript */
while (caller != null)
var caller =
(jsx.object._hasOwnProperty(jsx_getStackTrace, "caller") && jsx_getStackTrace.caller)
|| (jsx.object._hasOwnProperty(arguments, "caller") && arguments.caller);
 
if (caller)
{
result += '> ' + (jsx.object.getFunctionName(caller, true) || "anonymous")
while (caller != null)
{
result += '> ' + (jsx.object.getFunctionName(caller, true) || "anonymous")
+ '\n';
if (caller.caller == caller)
{
result += '*';
break;
if (caller.caller == caller)
{
result += '*';
break;
}
 
caller = caller.caller;
}
 
caller = caller.caller;
}
}
else
{
/* other */
if (typeof Error != "function")
{
return result;
}
 
var stack = parseErrorStack(new Error());
result = stack.slice(2).join("\n");
// for (var i = 1; i < stack.length; i++)
// {
// result += '> ' + stack[i] + '\n';
// }
}
 
return result;
};