Index: src/messages.js |
=================================================================== |
--- src/messages.js (revision 413) |
+++ src/messages.js (working copy) |
@@ -48,7 +48,7 @@ |
} |
var s = mapping[first] ? "an " : "a "; |
return s + cons; |
-}; |
+} |
const kMessages = { |
@@ -124,7 +124,7 @@ |
result = result.split("%" + i).join(str); |
} |
return result; |
-}; |
+} |
function ToDetailString(obj) { |
@@ -137,7 +137,7 @@ |
} else { |
return ToString(obj); |
} |
-}; |
+} |
function MakeGenericError(constructor, type, args) { |
@@ -156,7 +156,7 @@ |
e.type = type; |
e.arguments = args; |
return e; |
-}; |
+} |
/** |
@@ -175,7 +175,7 @@ |
var format = kMessages[message.type]; |
if (!format) return "<unknown message " + message.type + ">"; |
return FormatString(format, message.args); |
-}; |
+} |
function GetLineNumber(message) { |
@@ -183,7 +183,7 @@ |
var location = message.script.locationFromPosition(message.startPos); |
if (location == null) return -1; |
return location.line + 1; |
-}; |
+} |
// Returns the source code line containing the given source |
@@ -193,37 +193,37 @@ |
if (location == null) return ""; |
location.restrict(); |
return location.sourceText(); |
-}; |
+} |
function MakeTypeError(type, args) { |
return MakeGenericError($TypeError, type, args); |
-}; |
+} |
function MakeRangeError(type, args) { |
return MakeGenericError($RangeError, type, args); |
-}; |
+} |
function MakeSyntaxError(type, args) { |
return MakeGenericError($SyntaxError, type, args); |
-}; |
+} |
function MakeReferenceError(type, args) { |
return MakeGenericError($ReferenceError, type, args); |
-}; |
+} |
function MakeEvalError(type, args) { |
return MakeGenericError($EvalError, type, args); |
-}; |
+} |
function MakeError(type, args) { |
return MakeGenericError($Error, type, args); |
-}; |
+} |
/** |
@@ -445,7 +445,7 @@ |
this.column = column; |
this.start = start; |
this.end = end; |
-}; |
+} |
const kLineLengthLimit = 78; |
@@ -473,7 +473,7 @@ |
// If no before is specified center for small limits and perfer more source |
// before the the position that after for longer limits. |
if (limit <= 20) { |
- before = $Math_floor(limit / 2); |
+ before = $floor(limit / 2); |
} else { |
before = limit - 10; |
} |
@@ -554,7 +554,7 @@ |
if (location == null) return -1; |
location.restrict(); |
return message.startPos - location.start; |
-}; |
+} |
function ErrorMessage(type, args, startPos, endPos, script, stackTrace) { |
@@ -564,12 +564,12 @@ |
this.args = args; |
this.script = script; |
this.stackTrace = stackTrace; |
-}; |
+} |
function MakeMessage(type, args, startPos, endPos, script, stackTrace) { |
return new ErrorMessage(type, args, startPos, endPos, script, stackTrace); |
-}; |
+} |
function GetStackTraceLine(recv, fun, pos, isGlobal) { |
@@ -578,7 +578,7 @@ |
} catch (e) { |
return "<error: " + e + ">"; |
} |
-}; |
+} |
function GetFunctionName(fun, recv) { |
@@ -589,7 +589,7 @@ |
return prop; |
} |
return "[anonymous]"; |
-}; |
+} |
function UnsafeGetStackTraceLine(recv, fun, pos, isTopLevel) { |
@@ -619,20 +619,20 @@ |
} |
} |
return (result) ? " at " + result : result; |
-}; |
+} |
// ---------------------------------------------------------------------------- |
// Error implementation |
-function DefineError(name) { |
- var f = function(msg) {}; |
+function DefineError(f) { |
// Store the error function in both the global object |
// and the runtime object. The function is fetched |
// from the runtime object when throwing errors from |
// within the runtime system to avoid strange side |
// effects when overwriting the error functions from |
// user code. |
+ var name = f.name; |
%AddProperty(global, name, f, DONT_ENUM); |
this['$' + name] = f; |
// Configure the error function. |
@@ -648,22 +648,22 @@ |
return new f(m); |
} |
}); |
-}; |
+} |
$Math.__proto__ = global.Object.prototype; |
-DefineError('Error'); |
-DefineError('TypeError'); |
-DefineError('RangeError'); |
-DefineError('SyntaxError'); |
-DefineError('ReferenceError'); |
-DefineError('EvalError'); |
-DefineError('URIError'); |
+DefineError(function Error() { }); |
+DefineError(function TypeError() { }); |
+DefineError(function RangeError() { }); |
+DefineError(function SyntaxError() { }); |
+DefineError(function ReferenceError() { }); |
+DefineError(function EvalError() { }); |
+DefineError(function URIError() { }); |
// Setup extra properties of the Error.prototype object. |
$Error.prototype.message = ''; |
-%AddProperty($Error.prototype, 'toString', function() { |
+%AddProperty($Error.prototype, 'toString', function toString() { |
var type = this.type; |
if (type && !this.hasOwnProperty("message")) { |
return this.name + ": " + FormatMessage({ type: type, args: this.arguments }); |