src/jdk/nashorn/internal/objects/NativeSyntaxError.java
Print this page
rev 747 : 8031983: Error objects should capture stack at the constructor
Reviewed-by: jlaskey, hannesw
rev 748 : 8032004: instance property "message" of Error objects should be non-enumerable
Reviewed-by: hannesw, jlaskey
rev 749 : 8032060: PropertyMap of Error objects is not stable
Reviewed-by: jlaskey, hannesw
rev 755 : 8035948: Redesign property listeners for shared classes
Reviewed-by: sundar, lagergren
rev 760 : 8037400: Remove getInitialMap getters and GlobalObject interface
Reviewed-by: lagergren, jlaskey, attila
@@ -42,35 +42,37 @@
*/
@ScriptClass("Error")
public final class NativeSyntaxError extends ScriptObject {
/** message property in instance */
- @Property(name = NativeError.MESSAGE)
+ @Property(name = NativeError.MESSAGE, attributes = Attribute.NOT_ENUMERABLE)
public Object instMessage;
/** error name property */
@Property(attributes = Attribute.NOT_ENUMERABLE, where = Where.PROTOTYPE)
public Object name;
/** ECMA 15.1.1.1 message property */
@Property(attributes = Attribute.NOT_ENUMERABLE, where = Where.PROTOTYPE)
public Object message;
+ /** Nashorn extension: underlying exception */
+ @Property(attributes = Attribute.NOT_ENUMERABLE)
+ public Object nashornException;
+
// initialized by nasgen
private static PropertyMap $nasgenmap$;
- static PropertyMap getInitialMap() {
- return $nasgenmap$;
- }
-
+ @SuppressWarnings("LeakingThisInConstructor")
NativeSyntaxError(final Object msg, final Global global) {
- super(global.getSyntaxErrorPrototype(), global.getSyntaxErrorMap());
+ super(global.getSyntaxErrorPrototype(), $nasgenmap$);
if (msg != UNDEFINED) {
this.instMessage = JSType.toString(msg);
} else {
this.delete(NativeError.MESSAGE, false);
}
+ NativeError.initException(this);
}
private NativeSyntaxError(final Object msg) {
this(msg, Global.instance());
}