Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: src/v8natives.js

Issue 1099573002: Migrate error messages, part 4 (v8natives.js). (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix wrong assertion Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/string.js ('k') | test/mjsunit/messages.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/v8natives.js
diff --git a/src/v8natives.js b/src/v8natives.js
index 8c9732ea2f029a670a7dd8f8f749f54bc1c65f8b..8ff6f40461f4d4cc6c67079325247c794f3b1a35 100644
--- a/src/v8natives.js
+++ b/src/v8natives.js
@@ -300,8 +300,7 @@ function ObjectDefineGetter(name, fun) {
receiver = %GlobalProxy(global);
}
if (!IS_SPEC_FUNCTION(fun)) {
- throw new $TypeError(
- 'Object.prototype.__defineGetter__: Expecting function');
+ throw MakeTypeError(kObjectGetterExpectingFunction);
}
var desc = new PropertyDescriptor();
desc.setGet(fun);
@@ -326,8 +325,7 @@ function ObjectDefineSetter(name, fun) {
receiver = %GlobalProxy(global);
}
if (!IS_SPEC_FUNCTION(fun)) {
- throw new $TypeError(
- 'Object.prototype.__defineSetter__: Expecting function');
+ throw MakeTypeError(kObjectSetterExpectingFunction);
}
var desc = new PropertyDescriptor();
desc.setSet(fun);
@@ -430,9 +428,8 @@ function FromGenericPropertyDescriptor(desc) {
// ES5 8.10.5.
function ToPropertyDescriptor(obj) {
- if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("property_desc_object", [obj]);
- }
+ if (!IS_SPEC_OBJECT(obj)) throw MakeTypeError(kPropertyDescObject, obj);
+
var desc = new PropertyDescriptor();
if ("enumerable" in obj) {
@@ -454,7 +451,7 @@ function ToPropertyDescriptor(obj) {
if ("get" in obj) {
var get = obj.get;
if (!IS_UNDEFINED(get) && !IS_SPEC_FUNCTION(get)) {
- throw MakeTypeError("getter_must_be_callable", [get]);
+ throw MakeTypeError(kObjectGetterCallable, get);
}
desc.setGet(get);
}
@@ -462,13 +459,13 @@ function ToPropertyDescriptor(obj) {
if ("set" in obj) {
var set = obj.set;
if (!IS_UNDEFINED(set) && !IS_SPEC_FUNCTION(set)) {
- throw MakeTypeError("setter_must_be_callable", [set]);
+ throw MakeTypeError(kObjectSetterCallable, set);
}
desc.setSet(set);
}
if (IsInconsistentDescriptor(desc)) {
- throw MakeTypeError("value_and_accessor", [obj]);
+ throw MakeTypeError(kValueAndAccessor, obj);
}
return desc;
}
@@ -618,11 +615,11 @@ function GetTrap(handler, name, defaultTrap) {
var trap = handler[name];
if (IS_UNDEFINED(trap)) {
if (IS_UNDEFINED(defaultTrap)) {
- throw MakeTypeError("handler_trap_missing", [handler, name]);
+ throw MakeTypeError(kProxyHandlerTrapMissing, handler, name);
}
trap = defaultTrap;
} else if (!IS_SPEC_FUNCTION(trap)) {
- throw MakeTypeError("handler_trap_must_be_callable", [handler, name]);
+ throw MakeTypeError(kProxyHandlerTrapMustBeCallable, handler, name);
}
return trap;
}
@@ -656,8 +653,8 @@ function GetOwnPropertyJS(obj, v) {
if (IS_UNDEFINED(descriptor)) return descriptor;
var desc = ToCompletePropertyDescriptor(descriptor);
if (!desc.isConfigurable()) {
- throw MakeTypeError("proxy_prop_not_configurable",
- [handler, "getOwnPropertyDescriptor", p, descriptor]);
+ throw MakeTypeError(kProxyPropNotConfigurable,
+ handler, p, "getOwnPropertyDescriptor");
}
return desc;
}
@@ -679,7 +676,7 @@ function Delete(obj, p, should_throw) {
%DeleteProperty(obj, p, 0);
return true;
} else if (should_throw) {
- throw MakeTypeError("define_disallowed", [p]);
+ throw MakeTypeError(kDefineDisallowed, p);
} else {
return;
}
@@ -704,8 +701,8 @@ function DefineProxyProperty(obj, p, attributes, should_throw) {
var result = CallTrap2(handler, "defineProperty", UNDEFINED, p, attributes);
if (!ToBoolean(result)) {
if (should_throw) {
- throw MakeTypeError("handler_returned_false",
- [handler, "defineProperty"]);
+ throw MakeTypeError(kProxyHandlerReturned,
+ handler, "false", "defineProperty");
} else {
return false;
}
@@ -724,7 +721,7 @@ function DefineObjectProperty(obj, p, desc, should_throw) {
// Step 3
if (IS_UNDEFINED(current) && !extensible) {
if (should_throw) {
- throw MakeTypeError("define_disallowed", [p]);
+ throw MakeTypeError(kDefineDisallowed, p);
} else {
return false;
}
@@ -754,7 +751,7 @@ function DefineObjectProperty(obj, p, desc, should_throw) {
(desc.hasEnumerable() &&
desc.isEnumerable() != current.isEnumerable())) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
@@ -764,7 +761,7 @@ function DefineObjectProperty(obj, p, desc, should_throw) {
// Step 9a
if (IsDataDescriptor(current) != IsDataDescriptor(desc)) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
@@ -773,7 +770,7 @@ function DefineObjectProperty(obj, p, desc, should_throw) {
if (IsDataDescriptor(current) && IsDataDescriptor(desc)) {
if (!current.isWritable() && desc.isWritable()) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
@@ -781,7 +778,7 @@ function DefineObjectProperty(obj, p, desc, should_throw) {
if (!current.isWritable() && desc.hasValue() &&
!SameValue(desc.getValue(), current.getValue())) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
@@ -791,14 +788,14 @@ function DefineObjectProperty(obj, p, desc, should_throw) {
if (IsAccessorDescriptor(desc) && IsAccessorDescriptor(current)) {
if (desc.hasSetter() && !SameValue(desc.getSet(), current.getSet())) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
}
if (desc.hasGetter() && !SameValue(desc.getGet(),current.getGet())) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
@@ -894,12 +891,12 @@ function DefineArrayProperty(obj, p, desc, should_throw) {
}
var new_length = ToUint32(desc.getValue());
if (new_length != ToNumber(desc.getValue())) {
- throw new $RangeError('defineProperty() array length out of range');
+ throw MakeRangeError(kArrayLengthOutOfRange);
}
var length_desc = GetOwnPropertyJS(obj, "length");
if (new_length != length && !length_desc.isWritable()) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
@@ -938,7 +935,7 @@ function DefineArrayProperty(obj, p, desc, should_throw) {
}
if (threw) {
if (should_throw) {
- throw MakeTypeError("redefine_disallowed", [p]);
+ throw MakeTypeError(kRedefineDisallowed, p);
} else {
return false;
}
@@ -963,7 +960,7 @@ function DefineArrayProperty(obj, p, desc, should_throw) {
if (emit_splice)
$observeEndPerformSplice(obj);
if (should_throw) {
- throw MakeTypeError("define_disallowed", [p]);
+ throw MakeTypeError(kDefineDisallowed, p);
} else {
return false;
}
@@ -1010,7 +1007,7 @@ function ObjectSetPrototypeOf(obj, proto) {
CHECK_OBJECT_COERCIBLE(obj, "Object.setPrototypeOf");
if (proto !== null && !IS_SPEC_OBJECT(proto)) {
- throw MakeTypeError("proto_object_or_null", [proto]);
+ throw MakeTypeError(kProtoObjectOrNull, proto);
}
if (IS_SPEC_OBJECT(obj)) {
@@ -1031,7 +1028,7 @@ function ObjectGetOwnPropertyDescriptor(obj, p) {
// For Harmony proxies
function ToNameArray(obj, trap, includeSymbols) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("proxy_non_object_prop_names", [obj, trap]);
+ throw MakeTypeError(kProxyNonObjectPropNames, trap, obj);
}
var n = ToUint32(obj.length);
var array = new $Array(n);
@@ -1042,7 +1039,7 @@ function ToNameArray(obj, trap, includeSymbols) {
// TODO(rossberg): adjust once there is a story for symbols vs proxies.
if (IS_SYMBOL(s) && !includeSymbols) continue;
if (%HasOwnProperty(names, s)) {
- throw MakeTypeError("proxy_repeated_prop_name", [obj, trap, s]);
+ throw MakeTypeError(kProxyRepeatedPropName, trap, s);
}
array[index] = s;
++realLength;
@@ -1137,7 +1134,7 @@ function ObjectGetOwnPropertyNames(obj) {
// ES5 section 15.2.3.5.
function ObjectCreate(proto, properties) {
if (!IS_SPEC_OBJECT(proto) && proto !== null) {
- throw MakeTypeError("proto_object_or_null", [proto]);
+ throw MakeTypeError(kProtoObjectOrNull, proto);
}
var obj = {};
%InternalSetPrototype(obj, proto);
@@ -1149,7 +1146,7 @@ function ObjectCreate(proto, properties) {
// ES5 section 15.2.3.6.
function ObjectDefineProperty(obj, p, attributes) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.defineProperty"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.defineProperty");
}
var name = ToName(p);
if (%_IsJSProxy(obj)) {
@@ -1212,7 +1209,7 @@ function GetOwnEnumerablePropertyNames(object) {
// ES5 section 15.2.3.7.
function ObjectDefineProperties(obj, properties) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.defineProperties"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.defineProperties");
}
var props = TO_OBJECT_INLINE(properties);
var names = GetOwnEnumerablePropertyNames(props);
@@ -1232,7 +1229,7 @@ function ProxyFix(obj) {
var handler = %GetHandler(obj);
var props = CallTrap0(handler, "fix", UNDEFINED);
if (IS_UNDEFINED(props)) {
- throw MakeTypeError("handler_returned_undefined", [handler, "fix"]);
+ throw MakeTypeError(kProxyHandlerReturned, handler, "undefined", "fix");
}
if (%IsJSFunctionProxy(obj)) {
@@ -1259,7 +1256,7 @@ function ProxyFix(obj) {
// ES5 section 15.2.3.8.
function ObjectSealJS(obj) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.seal"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.seal");
}
var isProxy = %_IsJSProxy(obj);
if (isProxy || %HasSloppyArgumentsElements(obj) || %IsObserved(obj)) {
@@ -1288,7 +1285,7 @@ function ObjectSealJS(obj) {
// ES5 section 15.2.3.9.
function ObjectFreezeJS(obj) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.freeze"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.freeze");
}
var isProxy = %_IsJSProxy(obj);
if (isProxy || %HasSloppyArgumentsElements(obj) || %IsObserved(obj)) {
@@ -1318,7 +1315,7 @@ function ObjectFreezeJS(obj) {
// ES5 section 15.2.3.10
function ObjectPreventExtension(obj) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.preventExtension"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.preventExtension");
}
if (%_IsJSProxy(obj)) {
ProxyFix(obj);
@@ -1331,7 +1328,7 @@ function ObjectPreventExtension(obj) {
// ES5 section 15.2.3.11
function ObjectIsSealed(obj) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.isSealed"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.isSealed");
}
if (%_IsJSProxy(obj)) {
return false;
@@ -1354,7 +1351,7 @@ function ObjectIsSealed(obj) {
// ES5 section 15.2.3.12
function ObjectIsFrozen(obj) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.isFrozen"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.isFrozen");
}
if (%_IsJSProxy(obj)) {
return false;
@@ -1376,7 +1373,7 @@ function ObjectIsFrozen(obj) {
// ES5 section 15.2.3.13
function ObjectIsExtensible(obj) {
if (!IS_SPEC_OBJECT(obj)) {
- throw MakeTypeError("called_on_non_object", ["Object.isExtensible"]);
+ throw MakeTypeError(kCalledOnNonObject, "Object.isExtensible");
}
if (%_IsJSProxy(obj)) {
return true;
@@ -1489,7 +1486,7 @@ function BooleanToString() {
var b = this;
if (!IS_BOOLEAN(b)) {
if (!IS_BOOLEAN_WRAPPER(b)) {
- throw new $TypeError('Boolean.prototype.toString is not generic');
+ throw MakeTypeError(kNotGeneric, 'Boolean.prototype.toString');
}
b = %_ValueOf(b);
}
@@ -1501,7 +1498,7 @@ function BooleanValueOf() {
// NOTE: Both Boolean objects and values can enter here as
// 'this'. This is not as dictated by ECMA-262.
if (!IS_BOOLEAN(this) && !IS_BOOLEAN_WRAPPER(this)) {
- throw new $TypeError('Boolean.prototype.valueOf is not generic');
+ throw MakeTypeError(kNotGeneric, 'Boolean.prototype.valueOf');
}
return %_ValueOf(this);
}
@@ -1545,7 +1542,7 @@ function NumberToStringJS(radix) {
var number = this;
if (!IS_NUMBER(this)) {
if (!IS_NUMBER_WRAPPER(this)) {
- throw new $TypeError('Number.prototype.toString is not generic');
+ throw MakeTypeError(kNotGeneric, 'Number.prototype.toString');
}
// Get the value of this number in case it's an object.
number = %_ValueOf(this);
@@ -1576,7 +1573,7 @@ function NumberValueOf() {
// NOTE: Both Number objects and values can enter here as
// 'this'. This is not as dictated by ECMA-262.
if (!IS_NUMBER(this) && !IS_NUMBER_WRAPPER(this)) {
- throw new $TypeError('Number.prototype.valueOf is not generic');
+ throw MakeTypeError(kNotGeneric, 'Number.prototype.valueOf');
}
return %_ValueOf(this);
}
@@ -1596,7 +1593,7 @@ function NumberToFixedJS(fractionDigits) {
var f = TO_INTEGER(fractionDigits);
if (f < 0 || f > 20) {
- throw new $RangeError("toFixed() digits argument must be between 0 and 20");
+ throw MakeRangeError(kNumberFormatRange, "toFixed() digits");
}
if (NUMBER_IS_NAN(x)) return "NaN";
@@ -1627,7 +1624,7 @@ function NumberToExponentialJS(fractionDigits) {
if (IS_UNDEFINED(f)) {
f = -1; // Signal for runtime function that f is not defined.
} else if (f < 0 || f > 20) {
- throw new $RangeError("toExponential() argument must be between 0 and 20");
+ throw MakeRangeError(kNumberFormatRange, "toExponential()");
}
return %NumberToExponential(x, f);
}
@@ -1652,7 +1649,7 @@ function NumberToPrecisionJS(precision) {
if (x == -INFINITY) return "-Infinity";
if (p < 1 || p > 21) {
- throw new $RangeError("toPrecision() argument must be between 1 and 21");
+ throw MakeRangeError(kToPrecisionFormatRange);
}
return %NumberToPrecision(x, p);
}
@@ -1752,7 +1749,7 @@ function FunctionSourceString(func) {
}
if (!IS_FUNCTION(func)) {
- throw new $TypeError('Function.prototype.toString is not generic');
+ throw MakeTypeError(kNotGeneric, 'Function.prototype.toString');
}
var classSource = %ClassGetSourceCode(func);
@@ -1794,9 +1791,8 @@ function FunctionToString() {
// ES5 15.3.4.5
function FunctionBind(this_arg) { // Length is 1.
- if (!IS_SPEC_FUNCTION(this)) {
- throw new $TypeError('Bind must be called on a function');
- }
+ if (!IS_SPEC_FUNCTION(this)) throw MakeTypeError(kFunctionBind);
+
var boundFunction = function () {
// Poison .arguments and .caller, but is otherwise not detectable.
"use strict";
@@ -1863,7 +1859,7 @@ function NewFunctionString(arguments, function_token) {
// character - it may make the combined function expression
// compile. We avoid this problem by checking for this early on.
if (%_CallFunction(p, ')', $stringIndexOf) != -1) {
- throw MakeSyntaxError('paren_in_arg_string', []);
+ throw MakeSyntaxError(kParenthesisInArgString);
}
// If the formal parameters include an unbalanced block comment, the
// function must be rejected. Since JavaScript does not allow nested
@@ -1913,11 +1909,11 @@ function GetIterator(obj, method) {
method = obj[symbolIterator];
}
if (!IS_SPEC_FUNCTION(method)) {
- throw MakeTypeError('not_iterable', [obj]);
+ throw MakeTypeError(kNotIterable, obj);
}
var iterator = %_CallFunction(obj, method);
if (!IS_SPEC_OBJECT(iterator)) {
- throw MakeTypeError('not_an_iterator', [iterator]);
+ throw MakeTypeError(kNotAnIterator, iterator);
}
return iterator;
}
« no previous file with comments | « src/string.js ('k') | test/mjsunit/messages.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698