src/jdk/nashorn/internal/runtime/ECMAErrors.java
Print this page
*** 29,38 ****
--- 29,39 ----
import java.util.Locale;
import java.util.ResourceBundle;
import jdk.nashorn.api.scripting.NashornException;
import jdk.nashorn.internal.scripts.JS;
import jdk.nashorn.internal.codegen.CompilerConstants;
+ import jdk.nashorn.internal.objects.Global;
/**
* Helper class to throw various standard "ECMA error" exceptions such as Error, ReferenceError, TypeError etc.
*/
public final class ECMAErrors {
*** 64,74 ****
* @param e {@code ParserException} for error dispatcher
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException asEcmaException(final ParserException e) {
! return asEcmaException(Context.getGlobalTrusted(), e);
}
/**
* Error dispatch mechanism.
* Create a {@link ParserException} as the correct JavaScript error
--- 65,75 ----
* @param e {@code ParserException} for error dispatcher
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException asEcmaException(final ParserException e) {
! return asEcmaException(Context.getGlobal(), e);
}
/**
* Error dispatch mechanism.
* Create a {@link ParserException} as the correct JavaScript error
*** 76,90 ****
* @param global global scope object
* @param e {@code ParserException} for error dispatcher
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException asEcmaException(final ScriptObject global, final ParserException e) {
final JSErrorType errorType = e.getErrorType();
assert errorType != null : "error type for " + e + " was null";
! final GlobalObject globalObj = (GlobalObject)global;
final String msg = e.getMessage();
// translate to ECMAScript Error object using error type
switch (errorType) {
case ERROR:
--- 77,91 ----
* @param global global scope object
* @param e {@code ParserException} for error dispatcher
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException asEcmaException(final Global global, final ParserException e) {
final JSErrorType errorType = e.getErrorType();
assert errorType != null : "error type for " + e + " was null";
! final Global globalObj = global;
final String msg = e.getMessage();
// translate to ECMAScript Error object using error type
switch (errorType) {
case ERROR:
*** 114,124 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException syntaxError(final String msgId, final String... args) {
! return syntaxError(Context.getGlobalTrusted(), msgId, args);
}
/**
* Create a syntax error (ECMA 15.11.6.4)
*
--- 115,125 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException syntaxError(final String msgId, final String... args) {
! return syntaxError(Context.getGlobal(), msgId, args);
}
/**
* Create a syntax error (ECMA 15.11.6.4)
*
*** 126,136 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException syntaxError(final ScriptObject global, final String msgId, final String... args) {
return syntaxError(global, null, msgId, args);
}
/**
* Create a syntax error (ECMA 15.11.6.4)
--- 127,137 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException syntaxError(final Global global, final String msgId, final String... args) {
return syntaxError(global, null, msgId, args);
}
/**
* Create a syntax error (ECMA 15.11.6.4)
*** 140,150 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException syntaxError(final Throwable cause, final String msgId, final String... args) {
! return syntaxError(Context.getGlobalTrusted(), cause, msgId, args);
}
/**
* Create a syntax error (ECMA 15.11.6.4)
*
--- 141,151 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException syntaxError(final Throwable cause, final String msgId, final String... args) {
! return syntaxError(Context.getGlobal(), cause, msgId, args);
}
/**
* Create a syntax error (ECMA 15.11.6.4)
*
*** 153,165 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException syntaxError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("syntax.error." + msgId, args);
! return error(((GlobalObject)global).newSyntaxError(msg), cause);
}
/**
* Create a type error (ECMA 15.11.6.5)
*
--- 154,166 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException syntaxError(final Global global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("syntax.error." + msgId, args);
! return error(global.newSyntaxError(msg), cause);
}
/**
* Create a type error (ECMA 15.11.6.5)
*
*** 167,177 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException typeError(final String msgId, final String... args) {
! return typeError(Context.getGlobalTrusted(), msgId, args);
}
/**
* Create a type error (ECMA 15.11.6.5)
*
--- 168,178 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException typeError(final String msgId, final String... args) {
! return typeError(Context.getGlobal(), msgId, args);
}
/**
* Create a type error (ECMA 15.11.6.5)
*
*** 179,189 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException typeError(final ScriptObject global, final String msgId, final String... args) {
return typeError(global, null, msgId, args);
}
/**
* Create a type error (ECMA 15.11.6.5)
--- 180,190 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException typeError(final Global global, final String msgId, final String... args) {
return typeError(global, null, msgId, args);
}
/**
* Create a type error (ECMA 15.11.6.5)
*** 193,203 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException typeError(final Throwable cause, final String msgId, final String... args) {
! return typeError(Context.getGlobalTrusted(), cause, msgId, args);
}
/**
* Create a type error (ECMA 15.11.6.5)
*
--- 194,204 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException typeError(final Throwable cause, final String msgId, final String... args) {
! return typeError(Context.getGlobal(), cause, msgId, args);
}
/**
* Create a type error (ECMA 15.11.6.5)
*
*** 206,218 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException typeError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("type.error." + msgId, args);
! return error(((GlobalObject)global).newTypeError(msg), cause);
}
/**
* Create a range error (ECMA 15.11.6.2)
*
--- 207,219 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException typeError(final Global global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("type.error." + msgId, args);
! return error(global.newTypeError(msg), cause);
}
/**
* Create a range error (ECMA 15.11.6.2)
*
*** 220,230 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException rangeError(final String msgId, final String... args) {
! return rangeError(Context.getGlobalTrusted(), msgId, args);
}
/**
* Create a range error (ECMA 15.11.6.2)
*
--- 221,231 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException rangeError(final String msgId, final String... args) {
! return rangeError(Context.getGlobal(), msgId, args);
}
/**
* Create a range error (ECMA 15.11.6.2)
*
*** 232,242 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException rangeError(final ScriptObject global, final String msgId, final String... args) {
return rangeError(global, null, msgId, args);
}
/**
* Create a range error (ECMA 15.11.6.2)
--- 233,243 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException rangeError(final Global global, final String msgId, final String... args) {
return rangeError(global, null, msgId, args);
}
/**
* Create a range error (ECMA 15.11.6.2)
*** 246,256 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException rangeError(final Throwable cause, final String msgId, final String... args) {
! return rangeError(Context.getGlobalTrusted(), cause, msgId, args);
}
/**
* Create a range error (ECMA 15.11.6.2)
*
--- 247,257 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException rangeError(final Throwable cause, final String msgId, final String... args) {
! return rangeError(Context.getGlobal(), cause, msgId, args);
}
/**
* Create a range error (ECMA 15.11.6.2)
*
*** 259,271 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException rangeError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("range.error." + msgId, args);
! return error(((GlobalObject)global).newRangeError(msg), cause);
}
/**
* Create a reference error (ECMA 15.11.6.3)
*
--- 260,272 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException rangeError(final Global global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("range.error." + msgId, args);
! return error(global.newRangeError(msg), cause);
}
/**
* Create a reference error (ECMA 15.11.6.3)
*
*** 273,283 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException referenceError(final String msgId, final String... args) {
! return referenceError(Context.getGlobalTrusted(), msgId, args);
}
/**
* Create a reference error (ECMA 15.11.6.3)
*
--- 274,284 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException referenceError(final String msgId, final String... args) {
! return referenceError(Context.getGlobal(), msgId, args);
}
/**
* Create a reference error (ECMA 15.11.6.3)
*
*** 285,295 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException referenceError(final ScriptObject global, final String msgId, final String... args) {
return referenceError(global, null, msgId, args);
}
/**
* Create a reference error (ECMA 15.11.6.3)
--- 286,296 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException referenceError(final Global global, final String msgId, final String... args) {
return referenceError(global, null, msgId, args);
}
/**
* Create a reference error (ECMA 15.11.6.3)
*** 299,309 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException referenceError(final Throwable cause, final String msgId, final String... args) {
! return referenceError(Context.getGlobalTrusted(), cause, msgId, args);
}
/**
* Create a reference error (ECMA 15.11.6.3)
*
--- 300,310 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException referenceError(final Throwable cause, final String msgId, final String... args) {
! return referenceError(Context.getGlobal(), cause, msgId, args);
}
/**
* Create a reference error (ECMA 15.11.6.3)
*
*** 312,324 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException referenceError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("reference.error." + msgId, args);
! return error(((GlobalObject)global).newReferenceError(msg), cause);
}
/**
* Create a URI error (ECMA 15.11.6.6)
*
--- 313,325 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException referenceError(final Global global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("reference.error." + msgId, args);
! return error(global.newReferenceError(msg), cause);
}
/**
* Create a URI error (ECMA 15.11.6.6)
*
*** 326,336 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException uriError(final String msgId, final String... args) {
! return uriError(Context.getGlobalTrusted(), msgId, args);
}
/**
* Create a URI error (ECMA 15.11.6.6)
*
--- 327,337 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException uriError(final String msgId, final String... args) {
! return uriError(Context.getGlobal(), msgId, args);
}
/**
* Create a URI error (ECMA 15.11.6.6)
*
*** 338,348 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException uriError(final ScriptObject global, final String msgId, final String... args) {
return uriError(global, null, msgId, args);
}
/**
* Create a URI error (ECMA 15.11.6.6)
--- 339,349 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException uriError(final Global global, final String msgId, final String... args) {
return uriError(global, null, msgId, args);
}
/**
* Create a URI error (ECMA 15.11.6.6)
*** 352,362 ****
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException uriError(final Throwable cause, final String msgId, final String... args) {
! return uriError(Context.getGlobalTrusted(), cause, msgId, args);
}
/**
* Create a URI error (ECMA 15.11.6.6)
*
--- 353,363 ----
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
public static ECMAException uriError(final Throwable cause, final String msgId, final String... args) {
! return uriError(Context.getGlobal(), cause, msgId, args);
}
/**
* Create a URI error (ECMA 15.11.6.6)
*
*** 365,377 ****
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException uriError(final ScriptObject global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("uri.error." + msgId, args);
! return error(((GlobalObject)global).newURIError(msg), cause);
}
/**
* Get the exception message by placing the args in the resource defined
* by the resource tag. This is visible to, e.g. the {@link jdk.nashorn.internal.parser.Parser}
--- 366,378 ----
* @param msgId resource tag for error message
* @param args arguments to resource
*
* @return the resulting {@link ECMAException}
*/
! public static ECMAException uriError(final Global global, final Throwable cause, final String msgId, final String... args) {
final String msg = getMessage("uri.error." + msgId, args);
! return error(global.newURIError(msg), cause);
}
/**
* Get the exception message by placing the args in the resource defined
* by the resource tag. This is visible to, e.g. the {@link jdk.nashorn.internal.parser.Parser}