src/jdk/nashorn/internal/objects/NativeError.java
Print this page
*** 314,324 ****
--- 314,329 ----
}
final Object exception = ECMAException.getException(sobj);
if (exception instanceof Throwable) {
final Object value = getScriptStackString(sobj, (Throwable)exception);
+ if (sobj.hasOwnProperty(STACK)) {
sobj.put(STACK, value, false);
+ } else {
+ sobj.addOwnProperty(STACK, Attribute.NOT_ENUMERABLE, value);
+ }
+
return value;
}
return UNDEFINED;
}
*** 332,342 ****
*
* @return value that was set
*/
public static Object setStack(final Object self, final Object value) {
final ScriptObject sobj = Global.checkObject(self);
! sobj.set(STACK, value, false);
return value;
}
/**
* ECMA 15.11.4.4 Error.prototype.toString ( )
--- 337,351 ----
*
* @return value that was set
*/
public static Object setStack(final Object self, final Object value) {
final ScriptObject sobj = Global.checkObject(self);
! if (sobj.hasOwnProperty(STACK)) {
! sobj.put(STACK, value, false);
! } else {
! sobj.addOwnProperty(STACK, Attribute.NOT_ENUMERABLE, value);
! }
return value;
}
/**
* ECMA 15.11.4.4 Error.prototype.toString ( )