src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeRegExp.java
Print this page
@@ -76,23 +76,27 @@
private NativeRegExp(final Global global) {
super(global.getRegExpPrototype(), $nasgenmap$);
this.globalObject = global;
}
- NativeRegExp(final String input, final String flagString, final Global global) {
- this(global);
+ NativeRegExp(final String input, final String flagString, final Global global, final ScriptObject proto) {
+ super(proto, $nasgenmap$);
try {
this.regexp = RegExpFactory.create(input, flagString);
} catch (final ParserException e) {
// translate it as SyntaxError object and throw it
e.throwAsEcmaException();
throw new AssertionError(); //guard against null warnings below
}
-
+ this.globalObject = global;
this.setLastIndex(0);
}
+ NativeRegExp(final String input, final String flagString, final Global global) {
+ this(input, flagString, global, global.getRegExpPrototype());
+ }
+
NativeRegExp(final String input, final String flagString) {
this(input, flagString, Global.instance());
}
NativeRegExp(final String string, final Global global) {
@@ -926,11 +930,11 @@
private static NativeRegExp checkRegExp(final Object self) {
if (self instanceof NativeRegExp) {
return (NativeRegExp)self;
} else if (self != null && self == Global.instance().getRegExpPrototype()) {
- return Global.instance().DEFAULT_REGEXP;
+ return Global.instance().getDefaultRegExp();
} else {
throw typeError("not.a.regexp", ScriptRuntime.safeToString(self));
}
}