Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu.../js/codemirr...
File: esprima.js
}
[5000] Fix | Delete
};
[5001] Fix | Delete
ErrorHandler.prototype.constructError = function (msg, column) {
[5002] Fix | Delete
var error = new Error(msg);
[5003] Fix | Delete
try {
[5004] Fix | Delete
throw error;
[5005] Fix | Delete
}
[5006] Fix | Delete
catch (base) {
[5007] Fix | Delete
/* istanbul ignore else */
[5008] Fix | Delete
if (Object.create && Object.defineProperty) {
[5009] Fix | Delete
error = Object.create(base);
[5010] Fix | Delete
Object.defineProperty(error, 'column', { value: column });
[5011] Fix | Delete
}
[5012] Fix | Delete
}
[5013] Fix | Delete
/* istanbul ignore next */
[5014] Fix | Delete
return error;
[5015] Fix | Delete
};
[5016] Fix | Delete
ErrorHandler.prototype.createError = function (index, line, col, description) {
[5017] Fix | Delete
var msg = 'Line ' + line + ': ' + description;
[5018] Fix | Delete
var error = this.constructError(msg, col);
[5019] Fix | Delete
error.index = index;
[5020] Fix | Delete
error.lineNumber = line;
[5021] Fix | Delete
error.description = description;
[5022] Fix | Delete
return error;
[5023] Fix | Delete
};
[5024] Fix | Delete
ErrorHandler.prototype.throwError = function (index, line, col, description) {
[5025] Fix | Delete
throw this.createError(index, line, col, description);
[5026] Fix | Delete
};
[5027] Fix | Delete
ErrorHandler.prototype.tolerateError = function (index, line, col, description) {
[5028] Fix | Delete
var error = this.createError(index, line, col, description);
[5029] Fix | Delete
if (this.tolerant) {
[5030] Fix | Delete
this.recordError(error);
[5031] Fix | Delete
}
[5032] Fix | Delete
else {
[5033] Fix | Delete
throw error;
[5034] Fix | Delete
}
[5035] Fix | Delete
};
[5036] Fix | Delete
return ErrorHandler;
[5037] Fix | Delete
}());
[5038] Fix | Delete
exports.ErrorHandler = ErrorHandler;
[5039] Fix | Delete
[5040] Fix | Delete
[5041] Fix | Delete
/***/ },
[5042] Fix | Delete
/* 11 */
[5043] Fix | Delete
/***/ function(module, exports) {
[5044] Fix | Delete
[5045] Fix | Delete
"use strict";
[5046] Fix | Delete
Object.defineProperty(exports, "__esModule", { value: true });
[5047] Fix | Delete
// Error messages should be identical to V8.
[5048] Fix | Delete
exports.Messages = {
[5049] Fix | Delete
BadGetterArity: 'Getter must not have any formal parameters',
[5050] Fix | Delete
BadSetterArity: 'Setter must have exactly one formal parameter',
[5051] Fix | Delete
BadSetterRestParameter: 'Setter function argument must not be a rest parameter',
[5052] Fix | Delete
ConstructorIsAsync: 'Class constructor may not be an async method',
[5053] Fix | Delete
ConstructorSpecialMethod: 'Class constructor may not be an accessor',
[5054] Fix | Delete
DeclarationMissingInitializer: 'Missing initializer in %0 declaration',
[5055] Fix | Delete
DefaultRestParameter: 'Unexpected token =',
[5056] Fix | Delete
DuplicateBinding: 'Duplicate binding %0',
[5057] Fix | Delete
DuplicateConstructor: 'A class may only have one constructor',
[5058] Fix | Delete
DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals',
[5059] Fix | Delete
ForInOfLoopInitializer: '%0 loop variable declaration may not have an initializer',
[5060] Fix | Delete
GeneratorInLegacyContext: 'Generator declarations are not allowed in legacy contexts',
[5061] Fix | Delete
IllegalBreak: 'Illegal break statement',
[5062] Fix | Delete
IllegalContinue: 'Illegal continue statement',
[5063] Fix | Delete
IllegalExportDeclaration: 'Unexpected token',
[5064] Fix | Delete
IllegalImportDeclaration: 'Unexpected token',
[5065] Fix | Delete
IllegalLanguageModeDirective: 'Illegal \'use strict\' directive in function with non-simple parameter list',
[5066] Fix | Delete
IllegalReturn: 'Illegal return statement',
[5067] Fix | Delete
InvalidEscapedReservedWord: 'Keyword must not contain escaped characters',
[5068] Fix | Delete
InvalidHexEscapeSequence: 'Invalid hexadecimal escape sequence',
[5069] Fix | Delete
InvalidLHSInAssignment: 'Invalid left-hand side in assignment',
[5070] Fix | Delete
InvalidLHSInForIn: 'Invalid left-hand side in for-in',
[5071] Fix | Delete
InvalidLHSInForLoop: 'Invalid left-hand side in for-loop',
[5072] Fix | Delete
InvalidModuleSpecifier: 'Unexpected token',
[5073] Fix | Delete
InvalidRegExp: 'Invalid regular expression',
[5074] Fix | Delete
LetInLexicalBinding: 'let is disallowed as a lexically bound name',
[5075] Fix | Delete
MissingFromClause: 'Unexpected token',
[5076] Fix | Delete
MultipleDefaultsInSwitch: 'More than one default clause in switch statement',
[5077] Fix | Delete
NewlineAfterThrow: 'Illegal newline after throw',
[5078] Fix | Delete
NoAsAfterImportNamespace: 'Unexpected token',
[5079] Fix | Delete
NoCatchOrFinally: 'Missing catch or finally after try',
[5080] Fix | Delete
ParameterAfterRestParameter: 'Rest parameter must be last formal parameter',
[5081] Fix | Delete
Redeclaration: '%0 \'%1\' has already been declared',
[5082] Fix | Delete
StaticPrototype: 'Classes may not have static property named prototype',
[5083] Fix | Delete
StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode',
[5084] Fix | Delete
StrictDelete: 'Delete of an unqualified identifier in strict mode.',
[5085] Fix | Delete
StrictFunction: 'In strict mode code, functions can only be declared at top level or inside a block',
[5086] Fix | Delete
StrictFunctionName: 'Function name may not be eval or arguments in strict mode',
[5087] Fix | Delete
StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode',
[5088] Fix | Delete
StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode',
[5089] Fix | Delete
StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode',
[5090] Fix | Delete
StrictModeWith: 'Strict mode code may not include a with statement',
[5091] Fix | Delete
StrictOctalLiteral: 'Octal literals are not allowed in strict mode.',
[5092] Fix | Delete
StrictParamDupe: 'Strict mode function may not have duplicate parameter names',
[5093] Fix | Delete
StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode',
[5094] Fix | Delete
StrictReservedWord: 'Use of future reserved word in strict mode',
[5095] Fix | Delete
StrictVarName: 'Variable name may not be eval or arguments in strict mode',
[5096] Fix | Delete
TemplateOctalLiteral: 'Octal literals are not allowed in template strings.',
[5097] Fix | Delete
UnexpectedEOS: 'Unexpected end of input',
[5098] Fix | Delete
UnexpectedIdentifier: 'Unexpected identifier',
[5099] Fix | Delete
UnexpectedNumber: 'Unexpected number',
[5100] Fix | Delete
UnexpectedReserved: 'Unexpected reserved word',
[5101] Fix | Delete
UnexpectedString: 'Unexpected string',
[5102] Fix | Delete
UnexpectedTemplate: 'Unexpected quasi %0',
[5103] Fix | Delete
UnexpectedToken: 'Unexpected token %0',
[5104] Fix | Delete
UnexpectedTokenIllegal: 'Unexpected token ILLEGAL',
[5105] Fix | Delete
UnknownLabel: 'Undefined label \'%0\'',
[5106] Fix | Delete
UnterminatedRegExp: 'Invalid regular expression: missing /'
[5107] Fix | Delete
};
[5108] Fix | Delete
[5109] Fix | Delete
[5110] Fix | Delete
/***/ },
[5111] Fix | Delete
/* 12 */
[5112] Fix | Delete
/***/ function(module, exports, __webpack_require__) {
[5113] Fix | Delete
[5114] Fix | Delete
"use strict";
[5115] Fix | Delete
Object.defineProperty(exports, "__esModule", { value: true });
[5116] Fix | Delete
var assert_1 = __webpack_require__(9);
[5117] Fix | Delete
var character_1 = __webpack_require__(4);
[5118] Fix | Delete
var messages_1 = __webpack_require__(11);
[5119] Fix | Delete
function hexValue(ch) {
[5120] Fix | Delete
return '0123456789abcdef'.indexOf(ch.toLowerCase());
[5121] Fix | Delete
}
[5122] Fix | Delete
function octalValue(ch) {
[5123] Fix | Delete
return '01234567'.indexOf(ch);
[5124] Fix | Delete
}
[5125] Fix | Delete
var Scanner = (function () {
[5126] Fix | Delete
function Scanner(code, handler) {
[5127] Fix | Delete
this.source = code;
[5128] Fix | Delete
this.errorHandler = handler;
[5129] Fix | Delete
this.trackComment = false;
[5130] Fix | Delete
this.length = code.length;
[5131] Fix | Delete
this.index = 0;
[5132] Fix | Delete
this.lineNumber = (code.length > 0) ? 1 : 0;
[5133] Fix | Delete
this.lineStart = 0;
[5134] Fix | Delete
this.curlyStack = [];
[5135] Fix | Delete
}
[5136] Fix | Delete
Scanner.prototype.saveState = function () {
[5137] Fix | Delete
return {
[5138] Fix | Delete
index: this.index,
[5139] Fix | Delete
lineNumber: this.lineNumber,
[5140] Fix | Delete
lineStart: this.lineStart
[5141] Fix | Delete
};
[5142] Fix | Delete
};
[5143] Fix | Delete
Scanner.prototype.restoreState = function (state) {
[5144] Fix | Delete
this.index = state.index;
[5145] Fix | Delete
this.lineNumber = state.lineNumber;
[5146] Fix | Delete
this.lineStart = state.lineStart;
[5147] Fix | Delete
};
[5148] Fix | Delete
Scanner.prototype.eof = function () {
[5149] Fix | Delete
return this.index >= this.length;
[5150] Fix | Delete
};
[5151] Fix | Delete
Scanner.prototype.throwUnexpectedToken = function (message) {
[5152] Fix | Delete
if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }
[5153] Fix | Delete
return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);
[5154] Fix | Delete
};
[5155] Fix | Delete
Scanner.prototype.tolerateUnexpectedToken = function (message) {
[5156] Fix | Delete
if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }
[5157] Fix | Delete
this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);
[5158] Fix | Delete
};
[5159] Fix | Delete
// https://tc39.github.io/ecma262/#sec-comments
[5160] Fix | Delete
Scanner.prototype.skipSingleLineComment = function (offset) {
[5161] Fix | Delete
var comments = [];
[5162] Fix | Delete
var start, loc;
[5163] Fix | Delete
if (this.trackComment) {
[5164] Fix | Delete
comments = [];
[5165] Fix | Delete
start = this.index - offset;
[5166] Fix | Delete
loc = {
[5167] Fix | Delete
start: {
[5168] Fix | Delete
line: this.lineNumber,
[5169] Fix | Delete
column: this.index - this.lineStart - offset
[5170] Fix | Delete
},
[5171] Fix | Delete
end: {}
[5172] Fix | Delete
};
[5173] Fix | Delete
}
[5174] Fix | Delete
while (!this.eof()) {
[5175] Fix | Delete
var ch = this.source.charCodeAt(this.index);
[5176] Fix | Delete
++this.index;
[5177] Fix | Delete
if (character_1.Character.isLineTerminator(ch)) {
[5178] Fix | Delete
if (this.trackComment) {
[5179] Fix | Delete
loc.end = {
[5180] Fix | Delete
line: this.lineNumber,
[5181] Fix | Delete
column: this.index - this.lineStart - 1
[5182] Fix | Delete
};
[5183] Fix | Delete
var entry = {
[5184] Fix | Delete
multiLine: false,
[5185] Fix | Delete
slice: [start + offset, this.index - 1],
[5186] Fix | Delete
range: [start, this.index - 1],
[5187] Fix | Delete
loc: loc
[5188] Fix | Delete
};
[5189] Fix | Delete
comments.push(entry);
[5190] Fix | Delete
}
[5191] Fix | Delete
if (ch === 13 && this.source.charCodeAt(this.index) === 10) {
[5192] Fix | Delete
++this.index;
[5193] Fix | Delete
}
[5194] Fix | Delete
++this.lineNumber;
[5195] Fix | Delete
this.lineStart = this.index;
[5196] Fix | Delete
return comments;
[5197] Fix | Delete
}
[5198] Fix | Delete
}
[5199] Fix | Delete
if (this.trackComment) {
[5200] Fix | Delete
loc.end = {
[5201] Fix | Delete
line: this.lineNumber,
[5202] Fix | Delete
column: this.index - this.lineStart
[5203] Fix | Delete
};
[5204] Fix | Delete
var entry = {
[5205] Fix | Delete
multiLine: false,
[5206] Fix | Delete
slice: [start + offset, this.index],
[5207] Fix | Delete
range: [start, this.index],
[5208] Fix | Delete
loc: loc
[5209] Fix | Delete
};
[5210] Fix | Delete
comments.push(entry);
[5211] Fix | Delete
}
[5212] Fix | Delete
return comments;
[5213] Fix | Delete
};
[5214] Fix | Delete
Scanner.prototype.skipMultiLineComment = function () {
[5215] Fix | Delete
var comments = [];
[5216] Fix | Delete
var start, loc;
[5217] Fix | Delete
if (this.trackComment) {
[5218] Fix | Delete
comments = [];
[5219] Fix | Delete
start = this.index - 2;
[5220] Fix | Delete
loc = {
[5221] Fix | Delete
start: {
[5222] Fix | Delete
line: this.lineNumber,
[5223] Fix | Delete
column: this.index - this.lineStart - 2
[5224] Fix | Delete
},
[5225] Fix | Delete
end: {}
[5226] Fix | Delete
};
[5227] Fix | Delete
}
[5228] Fix | Delete
while (!this.eof()) {
[5229] Fix | Delete
var ch = this.source.charCodeAt(this.index);
[5230] Fix | Delete
if (character_1.Character.isLineTerminator(ch)) {
[5231] Fix | Delete
if (ch === 0x0D && this.source.charCodeAt(this.index + 1) === 0x0A) {
[5232] Fix | Delete
++this.index;
[5233] Fix | Delete
}
[5234] Fix | Delete
++this.lineNumber;
[5235] Fix | Delete
++this.index;
[5236] Fix | Delete
this.lineStart = this.index;
[5237] Fix | Delete
}
[5238] Fix | Delete
else if (ch === 0x2A) {
[5239] Fix | Delete
// Block comment ends with '*/'.
[5240] Fix | Delete
if (this.source.charCodeAt(this.index + 1) === 0x2F) {
[5241] Fix | Delete
this.index += 2;
[5242] Fix | Delete
if (this.trackComment) {
[5243] Fix | Delete
loc.end = {
[5244] Fix | Delete
line: this.lineNumber,
[5245] Fix | Delete
column: this.index - this.lineStart
[5246] Fix | Delete
};
[5247] Fix | Delete
var entry = {
[5248] Fix | Delete
multiLine: true,
[5249] Fix | Delete
slice: [start + 2, this.index - 2],
[5250] Fix | Delete
range: [start, this.index],
[5251] Fix | Delete
loc: loc
[5252] Fix | Delete
};
[5253] Fix | Delete
comments.push(entry);
[5254] Fix | Delete
}
[5255] Fix | Delete
return comments;
[5256] Fix | Delete
}
[5257] Fix | Delete
++this.index;
[5258] Fix | Delete
}
[5259] Fix | Delete
else {
[5260] Fix | Delete
++this.index;
[5261] Fix | Delete
}
[5262] Fix | Delete
}
[5263] Fix | Delete
// Ran off the end of the file - the whole thing is a comment
[5264] Fix | Delete
if (this.trackComment) {
[5265] Fix | Delete
loc.end = {
[5266] Fix | Delete
line: this.lineNumber,
[5267] Fix | Delete
column: this.index - this.lineStart
[5268] Fix | Delete
};
[5269] Fix | Delete
var entry = {
[5270] Fix | Delete
multiLine: true,
[5271] Fix | Delete
slice: [start + 2, this.index],
[5272] Fix | Delete
range: [start, this.index],
[5273] Fix | Delete
loc: loc
[5274] Fix | Delete
};
[5275] Fix | Delete
comments.push(entry);
[5276] Fix | Delete
}
[5277] Fix | Delete
this.tolerateUnexpectedToken();
[5278] Fix | Delete
return comments;
[5279] Fix | Delete
};
[5280] Fix | Delete
Scanner.prototype.scanComments = function () {
[5281] Fix | Delete
var comments;
[5282] Fix | Delete
if (this.trackComment) {
[5283] Fix | Delete
comments = [];
[5284] Fix | Delete
}
[5285] Fix | Delete
var start = (this.index === 0);
[5286] Fix | Delete
while (!this.eof()) {
[5287] Fix | Delete
var ch = this.source.charCodeAt(this.index);
[5288] Fix | Delete
if (character_1.Character.isWhiteSpace(ch)) {
[5289] Fix | Delete
++this.index;
[5290] Fix | Delete
}
[5291] Fix | Delete
else if (character_1.Character.isLineTerminator(ch)) {
[5292] Fix | Delete
++this.index;
[5293] Fix | Delete
if (ch === 0x0D && this.source.charCodeAt(this.index) === 0x0A) {
[5294] Fix | Delete
++this.index;
[5295] Fix | Delete
}
[5296] Fix | Delete
++this.lineNumber;
[5297] Fix | Delete
this.lineStart = this.index;
[5298] Fix | Delete
start = true;
[5299] Fix | Delete
}
[5300] Fix | Delete
else if (ch === 0x2F) {
[5301] Fix | Delete
ch = this.source.charCodeAt(this.index + 1);
[5302] Fix | Delete
if (ch === 0x2F) {
[5303] Fix | Delete
this.index += 2;
[5304] Fix | Delete
var comment = this.skipSingleLineComment(2);
[5305] Fix | Delete
if (this.trackComment) {
[5306] Fix | Delete
comments = comments.concat(comment);
[5307] Fix | Delete
}
[5308] Fix | Delete
start = true;
[5309] Fix | Delete
}
[5310] Fix | Delete
else if (ch === 0x2A) {
[5311] Fix | Delete
this.index += 2;
[5312] Fix | Delete
var comment = this.skipMultiLineComment();
[5313] Fix | Delete
if (this.trackComment) {
[5314] Fix | Delete
comments = comments.concat(comment);
[5315] Fix | Delete
}
[5316] Fix | Delete
}
[5317] Fix | Delete
else {
[5318] Fix | Delete
break;
[5319] Fix | Delete
}
[5320] Fix | Delete
}
[5321] Fix | Delete
else if (start && ch === 0x2D) {
[5322] Fix | Delete
// U+003E is '>'
[5323] Fix | Delete
if ((this.source.charCodeAt(this.index + 1) === 0x2D) && (this.source.charCodeAt(this.index + 2) === 0x3E)) {
[5324] Fix | Delete
// '-->' is a single-line comment
[5325] Fix | Delete
this.index += 3;
[5326] Fix | Delete
var comment = this.skipSingleLineComment(3);
[5327] Fix | Delete
if (this.trackComment) {
[5328] Fix | Delete
comments = comments.concat(comment);
[5329] Fix | Delete
}
[5330] Fix | Delete
}
[5331] Fix | Delete
else {
[5332] Fix | Delete
break;
[5333] Fix | Delete
}
[5334] Fix | Delete
}
[5335] Fix | Delete
else if (ch === 0x3C) {
[5336] Fix | Delete
if (this.source.slice(this.index + 1, this.index + 4) === '!--') {
[5337] Fix | Delete
this.index += 4; // `<!--`
[5338] Fix | Delete
var comment = this.skipSingleLineComment(4);
[5339] Fix | Delete
if (this.trackComment) {
[5340] Fix | Delete
comments = comments.concat(comment);
[5341] Fix | Delete
}
[5342] Fix | Delete
}
[5343] Fix | Delete
else {
[5344] Fix | Delete
break;
[5345] Fix | Delete
}
[5346] Fix | Delete
}
[5347] Fix | Delete
else {
[5348] Fix | Delete
break;
[5349] Fix | Delete
}
[5350] Fix | Delete
}
[5351] Fix | Delete
return comments;
[5352] Fix | Delete
};
[5353] Fix | Delete
// https://tc39.github.io/ecma262/#sec-future-reserved-words
[5354] Fix | Delete
Scanner.prototype.isFutureReservedWord = function (id) {
[5355] Fix | Delete
switch (id) {
[5356] Fix | Delete
case 'enum':
[5357] Fix | Delete
case 'export':
[5358] Fix | Delete
case 'import':
[5359] Fix | Delete
case 'super':
[5360] Fix | Delete
return true;
[5361] Fix | Delete
default:
[5362] Fix | Delete
return false;
[5363] Fix | Delete
}
[5364] Fix | Delete
};
[5365] Fix | Delete
Scanner.prototype.isStrictModeReservedWord = function (id) {
[5366] Fix | Delete
switch (id) {
[5367] Fix | Delete
case 'implements':
[5368] Fix | Delete
case 'interface':
[5369] Fix | Delete
case 'package':
[5370] Fix | Delete
case 'private':
[5371] Fix | Delete
case 'protected':
[5372] Fix | Delete
case 'public':
[5373] Fix | Delete
case 'static':
[5374] Fix | Delete
case 'yield':
[5375] Fix | Delete
case 'let':
[5376] Fix | Delete
return true;
[5377] Fix | Delete
default:
[5378] Fix | Delete
return false;
[5379] Fix | Delete
}
[5380] Fix | Delete
};
[5381] Fix | Delete
Scanner.prototype.isRestrictedWord = function (id) {
[5382] Fix | Delete
return id === 'eval' || id === 'arguments';
[5383] Fix | Delete
};
[5384] Fix | Delete
// https://tc39.github.io/ecma262/#sec-keywords
[5385] Fix | Delete
Scanner.prototype.isKeyword = function (id) {
[5386] Fix | Delete
switch (id.length) {
[5387] Fix | Delete
case 2:
[5388] Fix | Delete
return (id === 'if') || (id === 'in') || (id === 'do');
[5389] Fix | Delete
case 3:
[5390] Fix | Delete
return (id === 'var') || (id === 'for') || (id === 'new') ||
[5391] Fix | Delete
(id === 'try') || (id === 'let');
[5392] Fix | Delete
case 4:
[5393] Fix | Delete
return (id === 'this') || (id === 'else') || (id === 'case') ||
[5394] Fix | Delete
(id === 'void') || (id === 'with') || (id === 'enum');
[5395] Fix | Delete
case 5:
[5396] Fix | Delete
return (id === 'while') || (id === 'break') || (id === 'catch') ||
[5397] Fix | Delete
(id === 'throw') || (id === 'const') || (id === 'yield') ||
[5398] Fix | Delete
(id === 'class') || (id === 'super');
[5399] Fix | Delete
case 6:
[5400] Fix | Delete
return (id === 'return') || (id === 'typeof') || (id === 'delete') ||
[5401] Fix | Delete
(id === 'switch') || (id === 'export') || (id === 'import');
[5402] Fix | Delete
case 7:
[5403] Fix | Delete
return (id === 'default') || (id === 'finally') || (id === 'extends');
[5404] Fix | Delete
case 8:
[5405] Fix | Delete
return (id === 'function') || (id === 'continue') || (id === 'debugger');
[5406] Fix | Delete
case 10:
[5407] Fix | Delete
return (id === 'instanceof');
[5408] Fix | Delete
default:
[5409] Fix | Delete
return false;
[5410] Fix | Delete
}
[5411] Fix | Delete
};
[5412] Fix | Delete
Scanner.prototype.codePointAt = function (i) {
[5413] Fix | Delete
var cp = this.source.charCodeAt(i);
[5414] Fix | Delete
if (cp >= 0xD800 && cp <= 0xDBFF) {
[5415] Fix | Delete
var second = this.source.charCodeAt(i + 1);
[5416] Fix | Delete
if (second >= 0xDC00 && second <= 0xDFFF) {
[5417] Fix | Delete
var first = cp;
[5418] Fix | Delete
cp = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
[5419] Fix | Delete
}
[5420] Fix | Delete
}
[5421] Fix | Delete
return cp;
[5422] Fix | Delete
};
[5423] Fix | Delete
Scanner.prototype.scanHexEscape = function (prefix) {
[5424] Fix | Delete
var len = (prefix === 'u') ? 4 : 2;
[5425] Fix | Delete
var code = 0;
[5426] Fix | Delete
for (var i = 0; i < len; ++i) {
[5427] Fix | Delete
if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {
[5428] Fix | Delete
code = code * 16 + hexValue(this.source[this.index++]);
[5429] Fix | Delete
}
[5430] Fix | Delete
else {
[5431] Fix | Delete
return null;
[5432] Fix | Delete
}
[5433] Fix | Delete
}
[5434] Fix | Delete
return String.fromCharCode(code);
[5435] Fix | Delete
};
[5436] Fix | Delete
Scanner.prototype.scanUnicodeCodePointEscape = function () {
[5437] Fix | Delete
var ch = this.source[this.index];
[5438] Fix | Delete
var code = 0;
[5439] Fix | Delete
// At least, one hex digit is required.
[5440] Fix | Delete
if (ch === '}') {
[5441] Fix | Delete
this.throwUnexpectedToken();
[5442] Fix | Delete
}
[5443] Fix | Delete
while (!this.eof()) {
[5444] Fix | Delete
ch = this.source[this.index++];
[5445] Fix | Delete
if (!character_1.Character.isHexDigit(ch.charCodeAt(0))) {
[5446] Fix | Delete
break;
[5447] Fix | Delete
}
[5448] Fix | Delete
code = code * 16 + hexValue(ch);
[5449] Fix | Delete
}
[5450] Fix | Delete
if (code > 0x10FFFF || ch !== '}') {
[5451] Fix | Delete
this.throwUnexpectedToken();
[5452] Fix | Delete
}
[5453] Fix | Delete
return character_1.Character.fromCodePoint(code);
[5454] Fix | Delete
};
[5455] Fix | Delete
Scanner.prototype.getIdentifier = function () {
[5456] Fix | Delete
var start = this.index++;
[5457] Fix | Delete
while (!this.eof()) {
[5458] Fix | Delete
var ch = this.source.charCodeAt(this.index);
[5459] Fix | Delete
if (ch === 0x5C) {
[5460] Fix | Delete
// Blackslash (U+005C) marks Unicode escape sequence.
[5461] Fix | Delete
this.index = start;
[5462] Fix | Delete
return this.getComplexIdentifier();
[5463] Fix | Delete
}
[5464] Fix | Delete
else if (ch >= 0xD800 && ch < 0xDFFF) {
[5465] Fix | Delete
// Need to handle surrogate pairs.
[5466] Fix | Delete
this.index = start;
[5467] Fix | Delete
return this.getComplexIdentifier();
[5468] Fix | Delete
}
[5469] Fix | Delete
if (character_1.Character.isIdentifierPart(ch)) {
[5470] Fix | Delete
++this.index;
[5471] Fix | Delete
}
[5472] Fix | Delete
else {
[5473] Fix | Delete
break;
[5474] Fix | Delete
}
[5475] Fix | Delete
}
[5476] Fix | Delete
return this.source.slice(start, this.index);
[5477] Fix | Delete
};
[5478] Fix | Delete
Scanner.prototype.getComplexIdentifier = function () {
[5479] Fix | Delete
var cp = this.codePointAt(this.index);
[5480] Fix | Delete
var id = character_1.Character.fromCodePoint(cp);
[5481] Fix | Delete
this.index += id.length;
[5482] Fix | Delete
// '\u' (U+005C, U+0075) denotes an escaped character.
[5483] Fix | Delete
var ch;
[5484] Fix | Delete
if (cp === 0x5C) {
[5485] Fix | Delete
if (this.source.charCodeAt(this.index) !== 0x75) {
[5486] Fix | Delete
this.throwUnexpectedToken();
[5487] Fix | Delete
}
[5488] Fix | Delete
++this.index;
[5489] Fix | Delete
if (this.source[this.index] === '{') {
[5490] Fix | Delete
++this.index;
[5491] Fix | Delete
ch = this.scanUnicodeCodePointEscape();
[5492] Fix | Delete
}
[5493] Fix | Delete
else {
[5494] Fix | Delete
ch = this.scanHexEscape('u');
[5495] Fix | Delete
if (ch === null || ch === '\\' || !character_1.Character.isIdentifierStart(ch.charCodeAt(0))) {
[5496] Fix | Delete
this.throwUnexpectedToken();
[5497] Fix | Delete
}
[5498] Fix | Delete
}
[5499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function