diff options
Diffstat (limited to 'infrastructure/rhino1_7R1/src/org/mozilla/javascript/NativeError.java')
-rw-r--r-- | infrastructure/rhino1_7R1/src/org/mozilla/javascript/NativeError.java | 227 |
1 files changed, 0 insertions, 227 deletions
diff --git a/infrastructure/rhino1_7R1/src/org/mozilla/javascript/NativeError.java b/infrastructure/rhino1_7R1/src/org/mozilla/javascript/NativeError.java deleted file mode 100644 index 4aff10c..0000000 --- a/infrastructure/rhino1_7R1/src/org/mozilla/javascript/NativeError.java +++ /dev/null @@ -1,227 +0,0 @@ -/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Rhino code, released - * May 6, 1999. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1997-1999 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Igor Bukanov - * Roger Lawrence - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License Version 2 or later (the "GPL"), in which - * case the provisions of the GPL are applicable instead of those above. If - * you wish to allow use of your version of this file only under the terms of - * the GPL and not to allow others to use your version of this file under the - * MPL, indicate your decision by deleting the provisions above and replacing - * them with the notice and other provisions required by the GPL. If you do - * not delete the provisions above, a recipient may use your version of this - * file under either the MPL or the GPL. - * - * ***** END LICENSE BLOCK ***** */ - - -package org.mozilla.javascript; - -/** - * - * The class of error objects - * - * ECMA 15.11 - */ -final class NativeError extends IdScriptableObject -{ - static final long serialVersionUID = -5338413581437645187L; - - private static final Object ERROR_TAG = new Object(); - - static void init(Scriptable scope, boolean sealed) - { - NativeError obj = new NativeError(); - ScriptableObject.putProperty(obj, "name", "Error"); - ScriptableObject.putProperty(obj, "message", ""); - ScriptableObject.putProperty(obj, "fileName", ""); - ScriptableObject.putProperty(obj, "lineNumber", new Integer(0)); - obj.exportAsJSClass(MAX_PROTOTYPE_ID, scope, sealed); - } - - static NativeError make(Context cx, Scriptable scope, - IdFunctionObject ctorObj, Object[] args) - { - Scriptable proto = (Scriptable)(ctorObj.get("prototype", ctorObj)); - - NativeError obj = new NativeError(); - obj.setPrototype(proto); - obj.setParentScope(scope); - - int arglen = args.length; - if (arglen >= 1) { - ScriptableObject.putProperty(obj, "message", - ScriptRuntime.toString(args[0])); - if (arglen >= 2) { - ScriptableObject.putProperty(obj, "fileName", args[1]); - if (arglen >= 3) { - int line = ScriptRuntime.toInt32(args[2]); - ScriptableObject.putProperty(obj, "lineNumber", - new Integer(line)); - } - } - } - if(arglen < 3 && cx.hasFeature(Context.FEATURE_LOCATION_INFORMATION_IN_ERROR)) { - // Fill in fileName and lineNumber automatically when not specified - // explicitly, see Bugzilla issue #342807 - int[] linep = new int[1]; - String fileName = Context.getSourcePositionFromStack(linep); - ScriptableObject.putProperty(obj, "lineNumber", - new Integer(linep[0])); - if(arglen < 2) { - ScriptableObject.putProperty(obj, "fileName", fileName); - } - } - return obj; - } - - public String getClassName() - { - return "Error"; - } - - public String toString() - { - return js_toString(this); - } - - protected void initPrototypeId(int id) - { - String s; - int arity; - switch (id) { - case Id_constructor: arity=1; s="constructor"; break; - case Id_toString: arity=0; s="toString"; break; - case Id_toSource: arity=0; s="toSource"; break; - default: throw new IllegalArgumentException(String.valueOf(id)); - } - initPrototypeMethod(ERROR_TAG, id, s, arity); - } - - public Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, - Scriptable thisObj, Object[] args) - { - if (!f.hasTag(ERROR_TAG)) { - return super.execIdCall(f, cx, scope, thisObj, args); - } - int id = f.methodId(); - switch (id) { - case Id_constructor: - return make(cx, scope, f, args); - - case Id_toString: - return js_toString(thisObj); - - case Id_toSource: - return js_toSource(cx, scope, thisObj); - } - throw new IllegalArgumentException(String.valueOf(id)); - } - - private static String js_toString(Scriptable thisObj) - { - return getString(thisObj, "name")+": "+getString(thisObj, "message"); - } - - private static String js_toSource(Context cx, Scriptable scope, - Scriptable thisObj) - { - // Emulation of SpiderMonkey behavior - Object name = ScriptableObject.getProperty(thisObj, "name"); - Object message = ScriptableObject.getProperty(thisObj, "message"); - Object fileName = ScriptableObject.getProperty(thisObj, "fileName"); - Object lineNumber = ScriptableObject.getProperty(thisObj, "lineNumber"); - - StringBuffer sb = new StringBuffer(); - sb.append("(new "); - if (name == NOT_FOUND) { - name = Undefined.instance; - } - sb.append(ScriptRuntime.toString(name)); - sb.append("("); - if (message != NOT_FOUND - || fileName != NOT_FOUND - || lineNumber != NOT_FOUND) - { - if (message == NOT_FOUND) { - message = ""; - } - sb.append(ScriptRuntime.uneval(cx, scope, message)); - if (fileName != NOT_FOUND || lineNumber != NOT_FOUND) { - sb.append(", "); - if (fileName == NOT_FOUND) { - fileName = ""; - } - sb.append(ScriptRuntime.uneval(cx, scope, fileName)); - if (lineNumber != NOT_FOUND) { - int line = ScriptRuntime.toInt32(lineNumber); - if (line != 0) { - sb.append(", "); - sb.append(ScriptRuntime.toString(line)); - } - } - } - } - sb.append("))"); - return sb.toString(); - } - - private static String getString(Scriptable obj, String id) - { - Object value = ScriptableObject.getProperty(obj, id); - if (value == NOT_FOUND) return ""; - return ScriptRuntime.toString(value); - } - - protected int findPrototypeId(String s) - { - int id; -// #string_id_map# -// #generated# Last update: 2007-05-09 08:15:45 EDT - L0: { id = 0; String X = null; int c; - int s_length = s.length(); - if (s_length==8) { - c=s.charAt(3); - if (c=='o') { X="toSource";id=Id_toSource; } - else if (c=='t') { X="toString";id=Id_toString; } - } - else if (s_length==11) { X="constructor";id=Id_constructor; } - if (X!=null && X!=s && !X.equals(s)) id = 0; - break L0; - } -// #/generated# - return id; - } - - private static final int - Id_constructor = 1, - Id_toString = 2, - Id_toSource = 3, - - MAX_PROTOTYPE_ID = 3; - -// #/string_id_map# -} |