mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-12-11 17:41:26 -06:00
Update LKG
This commit is contained in:
parent
b6bb4ff67f
commit
095d11b2a9
478
bin/tsc.js
478
bin/tsc.js
@ -600,10 +600,6 @@ var ts;
|
||||
"\u2029": "\\u2029",
|
||||
"\u0085": "\\u0085"
|
||||
};
|
||||
function getDefaultLibFileName(options) {
|
||||
return options.target === 2 ? "lib.es6.d.ts" : "lib.d.ts";
|
||||
}
|
||||
ts.getDefaultLibFileName = getDefaultLibFileName;
|
||||
function Symbol(flags, name) {
|
||||
this.flags = flags;
|
||||
this.name = name;
|
||||
@ -1076,6 +1072,12 @@ var ts;
|
||||
Ambient_const_enums_are_not_allowed_when_the_separateCompilation_flag_is_provided: { code: 1209, category: ts.DiagnosticCategory.Error, key: "Ambient const enums are not allowed when the '--separateCompilation' flag is provided." },
|
||||
Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode: { code: 1210, category: ts.DiagnosticCategory.Error, key: "Invalid use of '{0}'. Class definitions are automatically in strict mode." },
|
||||
A_class_declaration_without_the_default_modifier_must_have_a_name: { code: 1211, category: ts.DiagnosticCategory.Error, key: "A class declaration without the 'default' modifier must have a name" },
|
||||
Identifier_expected_0_is_a_reserved_word_in_strict_mode: { code: 1212, category: ts.DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode" },
|
||||
Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: { code: 1213, category: ts.DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode." },
|
||||
Identifier_expected_0_is_a_reserved_word_in_strict_mode_External_Module_is_automatically_in_strict_mode: { code: 1214, category: ts.DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode. External Module is automatically in strict mode." },
|
||||
Type_expected_0_is_a_reserved_word_in_strict_mode: { code: 1215, category: ts.DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode" },
|
||||
Type_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: { code: 1216, category: ts.DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode." },
|
||||
Type_expected_0_is_a_reserved_word_in_strict_mode_Module_is_automatically_in_strict_mode: { code: 1217, category: ts.DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode. Module is automatically in strict mode." },
|
||||
Duplicate_identifier_0: { code: 2300, category: ts.DiagnosticCategory.Error, key: "Duplicate identifier '{0}'." },
|
||||
Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2301, category: ts.DiagnosticCategory.Error, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." },
|
||||
Static_members_cannot_reference_class_type_parameters: { code: 2302, category: ts.DiagnosticCategory.Error, key: "Static members cannot reference class type parameters." },
|
||||
@ -3383,7 +3385,7 @@ var ts;
|
||||
scanner.setTextPos(pos);
|
||||
scanner.scan();
|
||||
var start = scanner.getTokenPos();
|
||||
return createTextSpanFromBounds(start, scanner.getTextPos());
|
||||
return ts.createTextSpanFromBounds(start, scanner.getTextPos());
|
||||
}
|
||||
ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition;
|
||||
function getErrorSpanForNode(sourceFile, node) {
|
||||
@ -3392,7 +3394,7 @@ var ts;
|
||||
case 227:
|
||||
var pos_1 = ts.skipTrivia(sourceFile.text, 0, false);
|
||||
if (pos_1 === sourceFile.text.length) {
|
||||
return createTextSpan(0, 0);
|
||||
return ts.createTextSpan(0, 0);
|
||||
}
|
||||
return getSpanOfTokenAtPosition(sourceFile, pos_1);
|
||||
case 198:
|
||||
@ -3414,7 +3416,7 @@ var ts;
|
||||
var pos = nodeIsMissing(errorNode)
|
||||
? errorNode.pos
|
||||
: ts.skipTrivia(sourceFile.text, errorNode.pos);
|
||||
return createTextSpanFromBounds(pos, errorNode.end);
|
||||
return ts.createTextSpanFromBounds(pos, errorNode.end);
|
||||
}
|
||||
ts.getErrorSpanForNode = getErrorSpanForNode;
|
||||
function isExternalModule(file) {
|
||||
@ -4136,115 +4138,6 @@ var ts;
|
||||
return false;
|
||||
}
|
||||
ts.isModifier = isModifier;
|
||||
function textSpanEnd(span) {
|
||||
return span.start + span.length;
|
||||
}
|
||||
ts.textSpanEnd = textSpanEnd;
|
||||
function textSpanIsEmpty(span) {
|
||||
return span.length === 0;
|
||||
}
|
||||
ts.textSpanIsEmpty = textSpanIsEmpty;
|
||||
function textSpanContainsPosition(span, position) {
|
||||
return position >= span.start && position < textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsPosition = textSpanContainsPosition;
|
||||
function textSpanContainsTextSpan(span, other) {
|
||||
return other.start >= span.start && textSpanEnd(other) <= textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsTextSpan = textSpanContainsTextSpan;
|
||||
function textSpanOverlapsWith(span, other) {
|
||||
var overlapStart = Math.max(span.start, other.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span), textSpanEnd(other));
|
||||
return overlapStart < overlapEnd;
|
||||
}
|
||||
ts.textSpanOverlapsWith = textSpanOverlapsWith;
|
||||
function textSpanOverlap(span1, span2) {
|
||||
var overlapStart = Math.max(span1.start, span2.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (overlapStart < overlapEnd) {
|
||||
return createTextSpanFromBounds(overlapStart, overlapEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanOverlap = textSpanOverlap;
|
||||
function textSpanIntersectsWithTextSpan(span, other) {
|
||||
return other.start <= textSpanEnd(span) && textSpanEnd(other) >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithTextSpan = textSpanIntersectsWithTextSpan;
|
||||
function textSpanIntersectsWith(span, start, length) {
|
||||
var end = start + length;
|
||||
return start <= textSpanEnd(span) && end >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWith = textSpanIntersectsWith;
|
||||
function textSpanIntersectsWithPosition(span, position) {
|
||||
return position <= textSpanEnd(span) && position >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithPosition = textSpanIntersectsWithPosition;
|
||||
function textSpanIntersection(span1, span2) {
|
||||
var intersectStart = Math.max(span1.start, span2.start);
|
||||
var intersectEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (intersectStart <= intersectEnd) {
|
||||
return createTextSpanFromBounds(intersectStart, intersectEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanIntersection = textSpanIntersection;
|
||||
function createTextSpan(start, length) {
|
||||
if (start < 0) {
|
||||
throw new Error("start < 0");
|
||||
}
|
||||
if (length < 0) {
|
||||
throw new Error("length < 0");
|
||||
}
|
||||
return { start: start, length: length };
|
||||
}
|
||||
ts.createTextSpan = createTextSpan;
|
||||
function createTextSpanFromBounds(start, end) {
|
||||
return createTextSpan(start, end - start);
|
||||
}
|
||||
ts.createTextSpanFromBounds = createTextSpanFromBounds;
|
||||
function textChangeRangeNewSpan(range) {
|
||||
return createTextSpan(range.span.start, range.newLength);
|
||||
}
|
||||
ts.textChangeRangeNewSpan = textChangeRangeNewSpan;
|
||||
function textChangeRangeIsUnchanged(range) {
|
||||
return textSpanIsEmpty(range.span) && range.newLength === 0;
|
||||
}
|
||||
ts.textChangeRangeIsUnchanged = textChangeRangeIsUnchanged;
|
||||
function createTextChangeRange(span, newLength) {
|
||||
if (newLength < 0) {
|
||||
throw new Error("newLength < 0");
|
||||
}
|
||||
return { span: span, newLength: newLength };
|
||||
}
|
||||
ts.createTextChangeRange = createTextChangeRange;
|
||||
ts.unchangedTextChangeRange = createTextChangeRange(createTextSpan(0, 0), 0);
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes) {
|
||||
if (changes.length === 0) {
|
||||
return ts.unchangedTextChangeRange;
|
||||
}
|
||||
if (changes.length === 1) {
|
||||
return changes[0];
|
||||
}
|
||||
var change0 = changes[0];
|
||||
var oldStartN = change0.span.start;
|
||||
var oldEndN = textSpanEnd(change0.span);
|
||||
var newEndN = oldStartN + change0.newLength;
|
||||
for (var i = 1; i < changes.length; i++) {
|
||||
var nextChange = changes[i];
|
||||
var oldStart1 = oldStartN;
|
||||
var oldEnd1 = oldEndN;
|
||||
var newEnd1 = newEndN;
|
||||
var oldStart2 = nextChange.span.start;
|
||||
var oldEnd2 = textSpanEnd(nextChange.span);
|
||||
var newEnd2 = oldStart2 + nextChange.newLength;
|
||||
oldStartN = Math.min(oldStart1, oldStart2);
|
||||
oldEndN = Math.max(oldEnd1, oldEnd1 + (oldEnd2 - newEnd1));
|
||||
newEndN = Math.max(newEnd2, newEnd2 + (newEnd1 - oldEnd2));
|
||||
}
|
||||
return createTextChangeRange(createTextSpanFromBounds(oldStartN, oldEndN), newEndN - oldStartN);
|
||||
}
|
||||
ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions;
|
||||
function nodeStartsNewLexicalEnvironment(n) {
|
||||
return isFunctionLike(n) || n.kind === 205 || n.kind === 227;
|
||||
}
|
||||
@ -4641,6 +4534,118 @@ var ts;
|
||||
}
|
||||
ts.getLocalSymbolForExportDefault = getLocalSymbolForExportDefault;
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
function textSpanEnd(span) {
|
||||
return span.start + span.length;
|
||||
}
|
||||
ts.textSpanEnd = textSpanEnd;
|
||||
function textSpanIsEmpty(span) {
|
||||
return span.length === 0;
|
||||
}
|
||||
ts.textSpanIsEmpty = textSpanIsEmpty;
|
||||
function textSpanContainsPosition(span, position) {
|
||||
return position >= span.start && position < textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsPosition = textSpanContainsPosition;
|
||||
function textSpanContainsTextSpan(span, other) {
|
||||
return other.start >= span.start && textSpanEnd(other) <= textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsTextSpan = textSpanContainsTextSpan;
|
||||
function textSpanOverlapsWith(span, other) {
|
||||
var overlapStart = Math.max(span.start, other.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span), textSpanEnd(other));
|
||||
return overlapStart < overlapEnd;
|
||||
}
|
||||
ts.textSpanOverlapsWith = textSpanOverlapsWith;
|
||||
function textSpanOverlap(span1, span2) {
|
||||
var overlapStart = Math.max(span1.start, span2.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (overlapStart < overlapEnd) {
|
||||
return createTextSpanFromBounds(overlapStart, overlapEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanOverlap = textSpanOverlap;
|
||||
function textSpanIntersectsWithTextSpan(span, other) {
|
||||
return other.start <= textSpanEnd(span) && textSpanEnd(other) >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithTextSpan = textSpanIntersectsWithTextSpan;
|
||||
function textSpanIntersectsWith(span, start, length) {
|
||||
var end = start + length;
|
||||
return start <= textSpanEnd(span) && end >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWith = textSpanIntersectsWith;
|
||||
function textSpanIntersectsWithPosition(span, position) {
|
||||
return position <= textSpanEnd(span) && position >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithPosition = textSpanIntersectsWithPosition;
|
||||
function textSpanIntersection(span1, span2) {
|
||||
var intersectStart = Math.max(span1.start, span2.start);
|
||||
var intersectEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (intersectStart <= intersectEnd) {
|
||||
return createTextSpanFromBounds(intersectStart, intersectEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanIntersection = textSpanIntersection;
|
||||
function createTextSpan(start, length) {
|
||||
if (start < 0) {
|
||||
throw new Error("start < 0");
|
||||
}
|
||||
if (length < 0) {
|
||||
throw new Error("length < 0");
|
||||
}
|
||||
return { start: start, length: length };
|
||||
}
|
||||
ts.createTextSpan = createTextSpan;
|
||||
function createTextSpanFromBounds(start, end) {
|
||||
return createTextSpan(start, end - start);
|
||||
}
|
||||
ts.createTextSpanFromBounds = createTextSpanFromBounds;
|
||||
function textChangeRangeNewSpan(range) {
|
||||
return createTextSpan(range.span.start, range.newLength);
|
||||
}
|
||||
ts.textChangeRangeNewSpan = textChangeRangeNewSpan;
|
||||
function textChangeRangeIsUnchanged(range) {
|
||||
return textSpanIsEmpty(range.span) && range.newLength === 0;
|
||||
}
|
||||
ts.textChangeRangeIsUnchanged = textChangeRangeIsUnchanged;
|
||||
function createTextChangeRange(span, newLength) {
|
||||
if (newLength < 0) {
|
||||
throw new Error("newLength < 0");
|
||||
}
|
||||
return { span: span, newLength: newLength };
|
||||
}
|
||||
ts.createTextChangeRange = createTextChangeRange;
|
||||
ts.unchangedTextChangeRange = createTextChangeRange(createTextSpan(0, 0), 0);
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes) {
|
||||
if (changes.length === 0) {
|
||||
return ts.unchangedTextChangeRange;
|
||||
}
|
||||
if (changes.length === 1) {
|
||||
return changes[0];
|
||||
}
|
||||
var change0 = changes[0];
|
||||
var oldStartN = change0.span.start;
|
||||
var oldEndN = textSpanEnd(change0.span);
|
||||
var newEndN = oldStartN + change0.newLength;
|
||||
for (var i = 1; i < changes.length; i++) {
|
||||
var nextChange = changes[i];
|
||||
var oldStart1 = oldStartN;
|
||||
var oldEnd1 = oldEndN;
|
||||
var newEnd1 = newEndN;
|
||||
var oldStart2 = nextChange.span.start;
|
||||
var oldEnd2 = textSpanEnd(nextChange.span);
|
||||
var newEnd2 = oldStart2 + nextChange.newLength;
|
||||
oldStartN = Math.min(oldStart1, oldStart2);
|
||||
oldEndN = Math.max(oldEnd1, oldEnd1 + (oldEnd2 - newEnd1));
|
||||
newEndN = Math.max(newEnd2, newEnd2 + (newEnd1 - oldEnd2));
|
||||
}
|
||||
return createTextChangeRange(createTextSpanFromBounds(oldStartN, oldEndN), newEndN - oldStartN);
|
||||
}
|
||||
ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions;
|
||||
})(ts || (ts = {}));
|
||||
/// <reference path="scanner.ts"/>
|
||||
/// <reference path="utilities.ts"/>
|
||||
var ts;
|
||||
@ -5492,7 +5497,7 @@ var ts;
|
||||
if (token === 111 && inYieldContext()) {
|
||||
return false;
|
||||
}
|
||||
return inStrictModeContext() ? token > 111 : token > 101;
|
||||
return token > 101;
|
||||
}
|
||||
function parseExpected(kind, diagnosticMessage) {
|
||||
if (token === kind) {
|
||||
@ -5586,6 +5591,9 @@ var ts;
|
||||
identifierCount++;
|
||||
if (isIdentifier) {
|
||||
var node = createNode(65);
|
||||
if (token !== 65) {
|
||||
node.originalKeywordKind = token;
|
||||
}
|
||||
node.text = internIdentifier(scanner.getTokenValue());
|
||||
nextToken();
|
||||
return finishNode(node);
|
||||
@ -7716,6 +7724,17 @@ var ts;
|
||||
node.body = parseFunctionBlockOrSemicolon(false);
|
||||
return finishNode(node);
|
||||
}
|
||||
function isClassMemberModifier(idToken) {
|
||||
switch (idToken) {
|
||||
case 109:
|
||||
case 107:
|
||||
case 108:
|
||||
case 110:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function isClassMemberStart() {
|
||||
var idToken;
|
||||
if (token === 52) {
|
||||
@ -7723,6 +7742,9 @@ var ts;
|
||||
}
|
||||
while (ts.isModifier(token)) {
|
||||
idToken = token;
|
||||
if (isClassMemberModifier(idToken)) {
|
||||
return true;
|
||||
}
|
||||
nextToken();
|
||||
}
|
||||
if (token === 35) {
|
||||
@ -14170,7 +14192,7 @@ var ts;
|
||||
}
|
||||
function checkFunctionExpressionOrObjectLiteralMethod(node, contextualMapper) {
|
||||
ts.Debug.assert(node.kind !== 134 || ts.isObjectLiteralMethod(node));
|
||||
var hasGrammarError = checkGrammarFunctionLikeDeclaration(node);
|
||||
var hasGrammarError = checkGrammarDeclarationNameInStrictMode(node) || checkGrammarFunctionLikeDeclaration(node);
|
||||
if (!hasGrammarError && node.kind === 162) {
|
||||
checkGrammarFunctionName(node.name) || checkGrammarForGenerator(node);
|
||||
}
|
||||
@ -14207,7 +14229,7 @@ var ts;
|
||||
}
|
||||
function checkFunctionExpressionOrObjectLiteralMethodBody(node) {
|
||||
ts.Debug.assert(node.kind !== 134 || ts.isObjectLiteralMethod(node));
|
||||
if (node.type) {
|
||||
if (node.type && !node.asteriskToken) {
|
||||
checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNodeOrHeritageClauseElement(node.type));
|
||||
}
|
||||
if (node.body) {
|
||||
@ -14678,6 +14700,7 @@ var ts;
|
||||
return type;
|
||||
}
|
||||
function checkExpression(node, contextualMapper) {
|
||||
checkGrammarIdentifierInStrictMode(node);
|
||||
return checkExpressionOrQualifiedName(node, contextualMapper);
|
||||
}
|
||||
function checkExpressionOrQualifiedName(node, contextualMapper) {
|
||||
@ -14772,6 +14795,7 @@ var ts;
|
||||
return unknownType;
|
||||
}
|
||||
function checkTypeParameter(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
if (node.expression) {
|
||||
grammarErrorOnFirstToken(node.expression, ts.Diagnostics.Type_expected);
|
||||
}
|
||||
@ -14974,9 +14998,11 @@ var ts;
|
||||
checkDecorators(node);
|
||||
}
|
||||
function checkTypeReferenceNode(node) {
|
||||
checkGrammarTypeReferenceInStrictMode(node.typeName);
|
||||
return checkTypeReferenceOrHeritageClauseElement(node);
|
||||
}
|
||||
function checkHeritageClauseElement(node) {
|
||||
checkGrammarHeritageClauseElementInStrictMode(node.expression);
|
||||
return checkTypeReferenceOrHeritageClauseElement(node);
|
||||
}
|
||||
function checkTypeReferenceOrHeritageClauseElement(node) {
|
||||
@ -15379,6 +15405,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function checkFunctionLikeDeclaration(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
checkDecorators(node);
|
||||
checkSignatureDeclaration(node);
|
||||
if (node.name && node.name.kind === 127) {
|
||||
@ -15398,7 +15425,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
checkSourceElement(node.body);
|
||||
if (node.type && !isAccessor(node.kind)) {
|
||||
if (node.type && !isAccessor(node.kind) && !node.asteriskToken) {
|
||||
checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNodeOrHeritageClauseElement(node.type));
|
||||
}
|
||||
if (compilerOptions.noImplicitAny && ts.nodeIsMissing(node.body) && !node.type && !isPrivateWithinAmbient(node)) {
|
||||
@ -15564,6 +15591,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function checkVariableLikeDeclaration(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
checkDecorators(node);
|
||||
checkSourceElement(node.type);
|
||||
if (node.name.kind === 127) {
|
||||
@ -16087,6 +16115,7 @@ var ts;
|
||||
return unknownType;
|
||||
}
|
||||
function checkClassDeclaration(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
if (node.parent.kind !== 206 && node.parent.kind !== 227) {
|
||||
grammarErrorOnNode(node, ts.Diagnostics.class_declarations_are_only_supported_directly_inside_a_module_or_as_a_top_level_declaration);
|
||||
}
|
||||
@ -16275,7 +16304,7 @@ var ts;
|
||||
return ok;
|
||||
}
|
||||
function checkInterfaceDeclaration(node) {
|
||||
checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarInterfaceDeclaration(node);
|
||||
checkGrammarDeclarationNameInStrictMode(node) || checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarInterfaceDeclaration(node);
|
||||
checkTypeParameters(node.typeParameters);
|
||||
if (produceDiagnostics) {
|
||||
checkTypeNameIsReserved(node.name, ts.Diagnostics.Interface_name_cannot_be_0);
|
||||
@ -16461,7 +16490,7 @@ var ts;
|
||||
if (!produceDiagnostics) {
|
||||
return;
|
||||
}
|
||||
checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarEnumDeclaration(node);
|
||||
checkGrammarDeclarationNameInStrictMode(node) || checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarEnumDeclaration(node);
|
||||
checkTypeNameIsReserved(node.name, ts.Diagnostics.Enum_name_cannot_be_0);
|
||||
checkCollisionWithCapturedThisVariable(node, node.name);
|
||||
checkCollisionWithRequireExportsInGeneratedCode(node, node.name);
|
||||
@ -16514,7 +16543,7 @@ var ts;
|
||||
}
|
||||
function checkModuleDeclaration(node) {
|
||||
if (produceDiagnostics) {
|
||||
if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node)) {
|
||||
if (!checkGrammarDeclarationNameInStrictMode(node) && !checkGrammarDecorators(node) && !checkGrammarModifiers(node)) {
|
||||
if (!ts.isInAmbientContext(node) && node.name.kind === 8) {
|
||||
grammarErrorOnNode(node.name, ts.Diagnostics.Only_ambient_modules_can_use_quoted_names);
|
||||
}
|
||||
@ -16603,7 +16632,7 @@ var ts;
|
||||
checkAliasSymbol(node);
|
||||
}
|
||||
function checkImportDeclaration(node) {
|
||||
if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & 499)) {
|
||||
if (!checkGrammarImportDeclarationNameInStrictMode(node) && !checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & 499)) {
|
||||
grammarErrorOnFirstToken(node, ts.Diagnostics.An_import_declaration_cannot_have_modifiers);
|
||||
}
|
||||
if (checkExternalImportOrExportDeclaration(node)) {
|
||||
@ -16624,7 +16653,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function checkImportEqualsDeclaration(node) {
|
||||
checkGrammarDecorators(node) || checkGrammarModifiers(node);
|
||||
checkGrammarDeclarationNameInStrictMode(node) || checkGrammarDecorators(node) || checkGrammarModifiers(node);
|
||||
if (ts.isInternalModuleImportEqualsDeclaration(node) || checkExternalImportOrExportDeclaration(node)) {
|
||||
checkImportBinding(node);
|
||||
if (node.flags & 1) {
|
||||
@ -16925,6 +16954,8 @@ var ts;
|
||||
if (!(links.flags & 1)) {
|
||||
checkGrammarSourceFile(node);
|
||||
emitExtends = false;
|
||||
emitDecorate = false;
|
||||
emitParam = false;
|
||||
potentialThisCollisions.length = 0;
|
||||
ts.forEach(node.statements, checkSourceElement);
|
||||
checkFunctionExpressionBodies(node);
|
||||
@ -17732,6 +17763,105 @@ var ts;
|
||||
}
|
||||
anyArrayType = createArrayType(anyType);
|
||||
}
|
||||
function isReservedwordInStrictMode(node) {
|
||||
return (node.parserContextFlags & 1) &&
|
||||
(node.originalKeywordKind >= 103 && node.originalKeywordKind <= 111);
|
||||
}
|
||||
function reportStrictModeGrammarErrorInClassDeclaration(identifier, message, arg0, arg1, arg2) {
|
||||
if (ts.getAncestor(identifier, 201) || ts.getAncestor(identifier, 174)) {
|
||||
return grammarErrorOnNode(identifier, message, arg0);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarImportDeclarationNameInStrictMode(node) {
|
||||
if (node.importClause) {
|
||||
var impotClause = node.importClause;
|
||||
if (impotClause.namedBindings) {
|
||||
var nameBindings = impotClause.namedBindings;
|
||||
if (nameBindings.kind === 211) {
|
||||
var name_11 = nameBindings.name;
|
||||
if (name_11.originalKeywordKind) {
|
||||
var nameText = ts.declarationNameToString(name_11);
|
||||
return grammarErrorOnNode(name_11, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
}
|
||||
}
|
||||
else if (nameBindings.kind === 212) {
|
||||
var reportError = false;
|
||||
for (var _i = 0, _a = nameBindings.elements; _i < _a.length; _i++) {
|
||||
var element = _a[_i];
|
||||
var name_12 = element.name;
|
||||
if (name_12.originalKeywordKind) {
|
||||
var nameText = ts.declarationNameToString(name_12);
|
||||
reportError = reportError || grammarErrorOnNode(name_12, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
}
|
||||
}
|
||||
return reportError;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarDeclarationNameInStrictMode(node) {
|
||||
var name = node.name;
|
||||
if (name && name.kind === 65 && isReservedwordInStrictMode(name)) {
|
||||
var nameText = ts.declarationNameToString(name);
|
||||
switch (node.kind) {
|
||||
case 129:
|
||||
case 198:
|
||||
case 200:
|
||||
case 128:
|
||||
case 152:
|
||||
case 202:
|
||||
case 203:
|
||||
case 204:
|
||||
return checkGrammarIdentifierInStrictMode(name);
|
||||
case 201:
|
||||
return grammarErrorOnNode(name, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode, nameText);
|
||||
case 205:
|
||||
return grammarErrorOnNode(name, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
case 208:
|
||||
return grammarErrorOnNode(name, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarTypeReferenceInStrictMode(typeName) {
|
||||
if (typeName.kind === 65) {
|
||||
checkGrammarTypeNameInStrictMode(typeName);
|
||||
}
|
||||
else if (typeName.kind === 126) {
|
||||
checkGrammarTypeNameInStrictMode(typeName.right);
|
||||
checkGrammarTypeReferenceInStrictMode(typeName.left);
|
||||
}
|
||||
}
|
||||
function checkGrammarHeritageClauseElementInStrictMode(expression) {
|
||||
if (expression && expression.kind === 65) {
|
||||
return checkGrammarIdentifierInStrictMode(expression);
|
||||
}
|
||||
else if (expression && expression.kind === 155) {
|
||||
checkGrammarHeritageClauseElementInStrictMode(expression.expression);
|
||||
}
|
||||
}
|
||||
function checkGrammarIdentifierInStrictMode(node, nameText) {
|
||||
if (node && node.kind === 65 && isReservedwordInStrictMode(node)) {
|
||||
if (!nameText) {
|
||||
nameText = ts.declarationNameToString(node);
|
||||
}
|
||||
var errorReport = reportStrictModeGrammarErrorInClassDeclaration(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode, nameText) ||
|
||||
grammarErrorOnNode(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
return errorReport;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarTypeNameInStrictMode(node) {
|
||||
if (node && node.kind === 65 && isReservedwordInStrictMode(node)) {
|
||||
var nameText = ts.declarationNameToString(node);
|
||||
var errorReport = reportStrictModeGrammarErrorInClassDeclaration(node, ts.Diagnostics.Type_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode, nameText) ||
|
||||
grammarErrorOnNode(node, ts.Diagnostics.Type_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
return errorReport;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarDecorators(node) {
|
||||
if (!node.decorators) {
|
||||
return false;
|
||||
@ -18101,17 +18231,17 @@ var ts;
|
||||
var inStrictMode = (node.parserContextFlags & 1) !== 0;
|
||||
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
|
||||
var prop = _a[_i];
|
||||
var name_11 = prop.name;
|
||||
var name_13 = prop.name;
|
||||
if (prop.kind === 175 ||
|
||||
name_11.kind === 127) {
|
||||
checkGrammarComputedPropertyName(name_11);
|
||||
name_13.kind === 127) {
|
||||
checkGrammarComputedPropertyName(name_13);
|
||||
continue;
|
||||
}
|
||||
var currentKind = void 0;
|
||||
if (prop.kind === 224 || prop.kind === 225) {
|
||||
checkGrammarForInvalidQuestionMark(prop, prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional);
|
||||
if (name_11.kind === 7) {
|
||||
checkGrammarNumbericLiteral(name_11);
|
||||
if (name_13.kind === 7) {
|
||||
checkGrammarNumbericLiteral(name_13);
|
||||
}
|
||||
currentKind = Property;
|
||||
}
|
||||
@ -18127,26 +18257,26 @@ var ts;
|
||||
else {
|
||||
ts.Debug.fail("Unexpected syntax kind:" + prop.kind);
|
||||
}
|
||||
if (!ts.hasProperty(seen, name_11.text)) {
|
||||
seen[name_11.text] = currentKind;
|
||||
if (!ts.hasProperty(seen, name_13.text)) {
|
||||
seen[name_13.text] = currentKind;
|
||||
}
|
||||
else {
|
||||
var existingKind = seen[name_11.text];
|
||||
var existingKind = seen[name_13.text];
|
||||
if (currentKind === Property && existingKind === Property) {
|
||||
if (inStrictMode) {
|
||||
grammarErrorOnNode(name_11, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode);
|
||||
grammarErrorOnNode(name_13, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode);
|
||||
}
|
||||
}
|
||||
else if ((currentKind & GetOrSetAccessor) && (existingKind & GetOrSetAccessor)) {
|
||||
if (existingKind !== GetOrSetAccessor && currentKind !== existingKind) {
|
||||
seen[name_11.text] = currentKind | existingKind;
|
||||
seen[name_13.text] = currentKind | existingKind;
|
||||
}
|
||||
else {
|
||||
return grammarErrorOnNode(name_11, ts.Diagnostics.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);
|
||||
return grammarErrorOnNode(name_13, ts.Diagnostics.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);
|
||||
}
|
||||
}
|
||||
else {
|
||||
return grammarErrorOnNode(name_11, ts.Diagnostics.An_object_literal_cannot_have_property_and_accessor_with_the_same_name);
|
||||
return grammarErrorOnNode(name_13, ts.Diagnostics.An_object_literal_cannot_have_property_and_accessor_with_the_same_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -18465,12 +18595,11 @@ var ts;
|
||||
var identifier = name;
|
||||
if (contextNode && (contextNode.parserContextFlags & 1) && ts.isEvalOrArgumentsIdentifier(identifier)) {
|
||||
var nameText = ts.declarationNameToString(identifier);
|
||||
if (ts.getAncestor(name, 201) || ts.getAncestor(name, 174)) {
|
||||
return grammarErrorOnNode(identifier, ts.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode, nameText);
|
||||
}
|
||||
else {
|
||||
var reportErrorInClassDeclaration = reportStrictModeGrammarErrorInClassDeclaration(identifier, ts.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode, nameText);
|
||||
if (!reportErrorInClassDeclaration) {
|
||||
return grammarErrorOnNode(identifier, ts.Diagnostics.Invalid_use_of_0_in_strict_mode, nameText);
|
||||
}
|
||||
return reportErrorInClassDeclaration;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -18919,9 +19048,9 @@ var ts;
|
||||
}
|
||||
var count = 0;
|
||||
while (true) {
|
||||
var name_12 = baseName + "_" + (++count);
|
||||
if (!ts.hasProperty(currentSourceFile.identifiers, name_12)) {
|
||||
return name_12;
|
||||
var name_14 = baseName + "_" + (++count);
|
||||
if (!ts.hasProperty(currentSourceFile.identifiers, name_14)) {
|
||||
return name_14;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -20003,9 +20132,9 @@ var ts;
|
||||
var count = tempFlags & 268435455;
|
||||
tempFlags++;
|
||||
if (count !== 8 && count !== 13) {
|
||||
var name_13 = count < 26 ? "_" + String.fromCharCode(97 + count) : "_" + (count - 26);
|
||||
if (isUniqueName(name_13)) {
|
||||
return name_13;
|
||||
var name_15 = count < 26 ? "_" + String.fromCharCode(97 + count) : "_" + (count - 26);
|
||||
if (isUniqueName(name_15)) {
|
||||
return name_15;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -20033,8 +20162,8 @@ var ts;
|
||||
}
|
||||
function generateNameForModuleOrEnum(node) {
|
||||
if (node.name.kind === 65) {
|
||||
var name_14 = node.name.text;
|
||||
assignGeneratedName(node, isUniqueLocalName(name_14, node) ? name_14 : makeUniqueName(name_14));
|
||||
var name_16 = node.name.text;
|
||||
assignGeneratedName(node, isUniqueLocalName(name_16, node) ? name_16 : makeUniqueName(name_16));
|
||||
}
|
||||
}
|
||||
function generateNameForImportOrExportDeclaration(node) {
|
||||
@ -20214,8 +20343,8 @@ var ts;
|
||||
if (scopeName) {
|
||||
var parentIndex = getSourceMapNameIndex();
|
||||
if (parentIndex !== -1) {
|
||||
var name_15 = node.name;
|
||||
if (!name_15 || name_15.kind !== 127) {
|
||||
var name_17 = node.name;
|
||||
if (!name_17 || name_17.kind !== 127) {
|
||||
scopeName = "." + scopeName;
|
||||
}
|
||||
scopeName = sourceMapData.sourceMapNames[parentIndex] + scopeName;
|
||||
@ -20242,9 +20371,9 @@ var ts;
|
||||
node.kind === 201 ||
|
||||
node.kind === 204) {
|
||||
if (node.name) {
|
||||
var name_16 = node.name;
|
||||
scopeName = name_16.kind === 127
|
||||
? ts.getTextOfNode(name_16)
|
||||
var name_18 = node.name;
|
||||
scopeName = name_18.kind === 127
|
||||
? ts.getTextOfNode(name_18)
|
||||
: node.name.text;
|
||||
}
|
||||
recordScopeNameStart(scopeName);
|
||||
@ -20657,6 +20786,7 @@ var ts;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
case 172:
|
||||
case 170:
|
||||
return -1;
|
||||
default:
|
||||
@ -20828,6 +20958,16 @@ var ts;
|
||||
write("...");
|
||||
emit(node.expression);
|
||||
}
|
||||
function emitYieldExpression(node) {
|
||||
write(ts.tokenToString(111));
|
||||
if (node.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
if (node.expression) {
|
||||
write(" ");
|
||||
emit(node.expression);
|
||||
}
|
||||
}
|
||||
function needsParenthesisForPropertyAccessOrInvocation(node) {
|
||||
switch (node.kind) {
|
||||
case 65:
|
||||
@ -21069,6 +21209,9 @@ var ts;
|
||||
write("]");
|
||||
}
|
||||
function emitMethod(node) {
|
||||
if (languageVersion >= 2 && node.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
emit(node.name, false);
|
||||
if (languageVersion < 2) {
|
||||
write(": function ");
|
||||
@ -22054,12 +22197,12 @@ var ts;
|
||||
function emitParameter(node) {
|
||||
if (languageVersion < 2) {
|
||||
if (ts.isBindingPattern(node.name)) {
|
||||
var name_17 = createTempVariable(0);
|
||||
var name_19 = createTempVariable(0);
|
||||
if (!tempParameters) {
|
||||
tempParameters = [];
|
||||
}
|
||||
tempParameters.push(name_17);
|
||||
emit(name_17);
|
||||
tempParameters.push(name_19);
|
||||
emit(name_19);
|
||||
}
|
||||
else {
|
||||
emit(node.name);
|
||||
@ -22178,7 +22321,11 @@ var ts;
|
||||
write("default ");
|
||||
}
|
||||
}
|
||||
write("function ");
|
||||
write("function");
|
||||
if (languageVersion >= 2 && node.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
write(" ");
|
||||
}
|
||||
if (shouldEmitFunctionName(node)) {
|
||||
emitDeclarationName(node);
|
||||
@ -22510,6 +22657,9 @@ var ts;
|
||||
else if (member.kind === 137) {
|
||||
write("set ");
|
||||
}
|
||||
if (member.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
emit(member.name);
|
||||
emitSignatureAndBody(member);
|
||||
emitEnd(member);
|
||||
@ -23475,8 +23625,8 @@ var ts;
|
||||
else {
|
||||
for (var _c = 0, _d = node.exportClause.elements; _c < _d.length; _c++) {
|
||||
var specifier = _d[_c];
|
||||
var name_18 = (specifier.propertyName || specifier.name).text;
|
||||
(exportSpecifiers[name_18] || (exportSpecifiers[name_18] = [])).push(specifier);
|
||||
var name_20 = (specifier.propertyName || specifier.name).text;
|
||||
(exportSpecifiers[name_20] || (exportSpecifiers[name_20] = [])).push(specifier);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -23787,6 +23937,8 @@ var ts;
|
||||
return emitConditionalExpression(node);
|
||||
case 173:
|
||||
return emitSpreadElementExpression(node);
|
||||
case 172:
|
||||
return emitYieldExpression(node);
|
||||
case 175:
|
||||
return;
|
||||
case 179:
|
||||
@ -24060,7 +24212,7 @@ var ts;
|
||||
}
|
||||
return {
|
||||
getSourceFile: getSourceFile,
|
||||
getDefaultLibFileName: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), ts.getDefaultLibFileName(options)); },
|
||||
getDefaultLibFileName: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), getDefaultLibFileName(options)); },
|
||||
writeFile: writeFile,
|
||||
getCurrentDirectory: function () { return currentDirectory || (currentDirectory = ts.sys.getCurrentDirectory()); },
|
||||
useCaseSensitiveFileNames: function () { return ts.sys.useCaseSensitiveFileNames; },
|
||||
@ -24100,6 +24252,10 @@ var ts;
|
||||
}
|
||||
}
|
||||
ts.flattenDiagnosticMessageText = flattenDiagnosticMessageText;
|
||||
function getDefaultLibFileName(options) {
|
||||
return options.target === 2 ? "lib.es6.d.ts" : "lib.d.ts";
|
||||
}
|
||||
ts.getDefaultLibFileName = getDefaultLibFileName;
|
||||
function createProgram(rootNames, options, host) {
|
||||
var program;
|
||||
var files = [];
|
||||
|
||||
512
bin/tsserver.js
512
bin/tsserver.js
@ -600,10 +600,6 @@ var ts;
|
||||
"\u2029": "\\u2029",
|
||||
"\u0085": "\\u0085"
|
||||
};
|
||||
function getDefaultLibFileName(options) {
|
||||
return options.target === 2 ? "lib.es6.d.ts" : "lib.d.ts";
|
||||
}
|
||||
ts.getDefaultLibFileName = getDefaultLibFileName;
|
||||
function Symbol(flags, name) {
|
||||
this.flags = flags;
|
||||
this.name = name;
|
||||
@ -1076,6 +1072,12 @@ var ts;
|
||||
Ambient_const_enums_are_not_allowed_when_the_separateCompilation_flag_is_provided: { code: 1209, category: ts.DiagnosticCategory.Error, key: "Ambient const enums are not allowed when the '--separateCompilation' flag is provided." },
|
||||
Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode: { code: 1210, category: ts.DiagnosticCategory.Error, key: "Invalid use of '{0}'. Class definitions are automatically in strict mode." },
|
||||
A_class_declaration_without_the_default_modifier_must_have_a_name: { code: 1211, category: ts.DiagnosticCategory.Error, key: "A class declaration without the 'default' modifier must have a name" },
|
||||
Identifier_expected_0_is_a_reserved_word_in_strict_mode: { code: 1212, category: ts.DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode" },
|
||||
Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: { code: 1213, category: ts.DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode." },
|
||||
Identifier_expected_0_is_a_reserved_word_in_strict_mode_External_Module_is_automatically_in_strict_mode: { code: 1214, category: ts.DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode. External Module is automatically in strict mode." },
|
||||
Type_expected_0_is_a_reserved_word_in_strict_mode: { code: 1215, category: ts.DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode" },
|
||||
Type_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: { code: 1216, category: ts.DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode." },
|
||||
Type_expected_0_is_a_reserved_word_in_strict_mode_Module_is_automatically_in_strict_mode: { code: 1217, category: ts.DiagnosticCategory.Error, key: "Type expected. '{0}' is a reserved word in strict mode. Module is automatically in strict mode." },
|
||||
Duplicate_identifier_0: { code: 2300, category: ts.DiagnosticCategory.Error, key: "Duplicate identifier '{0}'." },
|
||||
Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2301, category: ts.DiagnosticCategory.Error, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." },
|
||||
Static_members_cannot_reference_class_type_parameters: { code: 2302, category: ts.DiagnosticCategory.Error, key: "Static members cannot reference class type parameters." },
|
||||
@ -3217,7 +3219,7 @@ var ts;
|
||||
scanner.setTextPos(pos);
|
||||
scanner.scan();
|
||||
var start = scanner.getTokenPos();
|
||||
return createTextSpanFromBounds(start, scanner.getTextPos());
|
||||
return ts.createTextSpanFromBounds(start, scanner.getTextPos());
|
||||
}
|
||||
ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition;
|
||||
function getErrorSpanForNode(sourceFile, node) {
|
||||
@ -3226,7 +3228,7 @@ var ts;
|
||||
case 227:
|
||||
var pos_1 = ts.skipTrivia(sourceFile.text, 0, false);
|
||||
if (pos_1 === sourceFile.text.length) {
|
||||
return createTextSpan(0, 0);
|
||||
return ts.createTextSpan(0, 0);
|
||||
}
|
||||
return getSpanOfTokenAtPosition(sourceFile, pos_1);
|
||||
case 198:
|
||||
@ -3248,7 +3250,7 @@ var ts;
|
||||
var pos = nodeIsMissing(errorNode)
|
||||
? errorNode.pos
|
||||
: ts.skipTrivia(sourceFile.text, errorNode.pos);
|
||||
return createTextSpanFromBounds(pos, errorNode.end);
|
||||
return ts.createTextSpanFromBounds(pos, errorNode.end);
|
||||
}
|
||||
ts.getErrorSpanForNode = getErrorSpanForNode;
|
||||
function isExternalModule(file) {
|
||||
@ -3970,115 +3972,6 @@ var ts;
|
||||
return false;
|
||||
}
|
||||
ts.isModifier = isModifier;
|
||||
function textSpanEnd(span) {
|
||||
return span.start + span.length;
|
||||
}
|
||||
ts.textSpanEnd = textSpanEnd;
|
||||
function textSpanIsEmpty(span) {
|
||||
return span.length === 0;
|
||||
}
|
||||
ts.textSpanIsEmpty = textSpanIsEmpty;
|
||||
function textSpanContainsPosition(span, position) {
|
||||
return position >= span.start && position < textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsPosition = textSpanContainsPosition;
|
||||
function textSpanContainsTextSpan(span, other) {
|
||||
return other.start >= span.start && textSpanEnd(other) <= textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsTextSpan = textSpanContainsTextSpan;
|
||||
function textSpanOverlapsWith(span, other) {
|
||||
var overlapStart = Math.max(span.start, other.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span), textSpanEnd(other));
|
||||
return overlapStart < overlapEnd;
|
||||
}
|
||||
ts.textSpanOverlapsWith = textSpanOverlapsWith;
|
||||
function textSpanOverlap(span1, span2) {
|
||||
var overlapStart = Math.max(span1.start, span2.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (overlapStart < overlapEnd) {
|
||||
return createTextSpanFromBounds(overlapStart, overlapEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanOverlap = textSpanOverlap;
|
||||
function textSpanIntersectsWithTextSpan(span, other) {
|
||||
return other.start <= textSpanEnd(span) && textSpanEnd(other) >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithTextSpan = textSpanIntersectsWithTextSpan;
|
||||
function textSpanIntersectsWith(span, start, length) {
|
||||
var end = start + length;
|
||||
return start <= textSpanEnd(span) && end >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWith = textSpanIntersectsWith;
|
||||
function textSpanIntersectsWithPosition(span, position) {
|
||||
return position <= textSpanEnd(span) && position >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithPosition = textSpanIntersectsWithPosition;
|
||||
function textSpanIntersection(span1, span2) {
|
||||
var intersectStart = Math.max(span1.start, span2.start);
|
||||
var intersectEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (intersectStart <= intersectEnd) {
|
||||
return createTextSpanFromBounds(intersectStart, intersectEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanIntersection = textSpanIntersection;
|
||||
function createTextSpan(start, length) {
|
||||
if (start < 0) {
|
||||
throw new Error("start < 0");
|
||||
}
|
||||
if (length < 0) {
|
||||
throw new Error("length < 0");
|
||||
}
|
||||
return { start: start, length: length };
|
||||
}
|
||||
ts.createTextSpan = createTextSpan;
|
||||
function createTextSpanFromBounds(start, end) {
|
||||
return createTextSpan(start, end - start);
|
||||
}
|
||||
ts.createTextSpanFromBounds = createTextSpanFromBounds;
|
||||
function textChangeRangeNewSpan(range) {
|
||||
return createTextSpan(range.span.start, range.newLength);
|
||||
}
|
||||
ts.textChangeRangeNewSpan = textChangeRangeNewSpan;
|
||||
function textChangeRangeIsUnchanged(range) {
|
||||
return textSpanIsEmpty(range.span) && range.newLength === 0;
|
||||
}
|
||||
ts.textChangeRangeIsUnchanged = textChangeRangeIsUnchanged;
|
||||
function createTextChangeRange(span, newLength) {
|
||||
if (newLength < 0) {
|
||||
throw new Error("newLength < 0");
|
||||
}
|
||||
return { span: span, newLength: newLength };
|
||||
}
|
||||
ts.createTextChangeRange = createTextChangeRange;
|
||||
ts.unchangedTextChangeRange = createTextChangeRange(createTextSpan(0, 0), 0);
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes) {
|
||||
if (changes.length === 0) {
|
||||
return ts.unchangedTextChangeRange;
|
||||
}
|
||||
if (changes.length === 1) {
|
||||
return changes[0];
|
||||
}
|
||||
var change0 = changes[0];
|
||||
var oldStartN = change0.span.start;
|
||||
var oldEndN = textSpanEnd(change0.span);
|
||||
var newEndN = oldStartN + change0.newLength;
|
||||
for (var i = 1; i < changes.length; i++) {
|
||||
var nextChange = changes[i];
|
||||
var oldStart1 = oldStartN;
|
||||
var oldEnd1 = oldEndN;
|
||||
var newEnd1 = newEndN;
|
||||
var oldStart2 = nextChange.span.start;
|
||||
var oldEnd2 = textSpanEnd(nextChange.span);
|
||||
var newEnd2 = oldStart2 + nextChange.newLength;
|
||||
oldStartN = Math.min(oldStart1, oldStart2);
|
||||
oldEndN = Math.max(oldEnd1, oldEnd1 + (oldEnd2 - newEnd1));
|
||||
newEndN = Math.max(newEnd2, newEnd2 + (newEnd1 - oldEnd2));
|
||||
}
|
||||
return createTextChangeRange(createTextSpanFromBounds(oldStartN, oldEndN), newEndN - oldStartN);
|
||||
}
|
||||
ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions;
|
||||
function nodeStartsNewLexicalEnvironment(n) {
|
||||
return isFunctionLike(n) || n.kind === 205 || n.kind === 227;
|
||||
}
|
||||
@ -4475,6 +4368,118 @@ var ts;
|
||||
}
|
||||
ts.getLocalSymbolForExportDefault = getLocalSymbolForExportDefault;
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
function textSpanEnd(span) {
|
||||
return span.start + span.length;
|
||||
}
|
||||
ts.textSpanEnd = textSpanEnd;
|
||||
function textSpanIsEmpty(span) {
|
||||
return span.length === 0;
|
||||
}
|
||||
ts.textSpanIsEmpty = textSpanIsEmpty;
|
||||
function textSpanContainsPosition(span, position) {
|
||||
return position >= span.start && position < textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsPosition = textSpanContainsPosition;
|
||||
function textSpanContainsTextSpan(span, other) {
|
||||
return other.start >= span.start && textSpanEnd(other) <= textSpanEnd(span);
|
||||
}
|
||||
ts.textSpanContainsTextSpan = textSpanContainsTextSpan;
|
||||
function textSpanOverlapsWith(span, other) {
|
||||
var overlapStart = Math.max(span.start, other.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span), textSpanEnd(other));
|
||||
return overlapStart < overlapEnd;
|
||||
}
|
||||
ts.textSpanOverlapsWith = textSpanOverlapsWith;
|
||||
function textSpanOverlap(span1, span2) {
|
||||
var overlapStart = Math.max(span1.start, span2.start);
|
||||
var overlapEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (overlapStart < overlapEnd) {
|
||||
return createTextSpanFromBounds(overlapStart, overlapEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanOverlap = textSpanOverlap;
|
||||
function textSpanIntersectsWithTextSpan(span, other) {
|
||||
return other.start <= textSpanEnd(span) && textSpanEnd(other) >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithTextSpan = textSpanIntersectsWithTextSpan;
|
||||
function textSpanIntersectsWith(span, start, length) {
|
||||
var end = start + length;
|
||||
return start <= textSpanEnd(span) && end >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWith = textSpanIntersectsWith;
|
||||
function textSpanIntersectsWithPosition(span, position) {
|
||||
return position <= textSpanEnd(span) && position >= span.start;
|
||||
}
|
||||
ts.textSpanIntersectsWithPosition = textSpanIntersectsWithPosition;
|
||||
function textSpanIntersection(span1, span2) {
|
||||
var intersectStart = Math.max(span1.start, span2.start);
|
||||
var intersectEnd = Math.min(textSpanEnd(span1), textSpanEnd(span2));
|
||||
if (intersectStart <= intersectEnd) {
|
||||
return createTextSpanFromBounds(intersectStart, intersectEnd);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
ts.textSpanIntersection = textSpanIntersection;
|
||||
function createTextSpan(start, length) {
|
||||
if (start < 0) {
|
||||
throw new Error("start < 0");
|
||||
}
|
||||
if (length < 0) {
|
||||
throw new Error("length < 0");
|
||||
}
|
||||
return { start: start, length: length };
|
||||
}
|
||||
ts.createTextSpan = createTextSpan;
|
||||
function createTextSpanFromBounds(start, end) {
|
||||
return createTextSpan(start, end - start);
|
||||
}
|
||||
ts.createTextSpanFromBounds = createTextSpanFromBounds;
|
||||
function textChangeRangeNewSpan(range) {
|
||||
return createTextSpan(range.span.start, range.newLength);
|
||||
}
|
||||
ts.textChangeRangeNewSpan = textChangeRangeNewSpan;
|
||||
function textChangeRangeIsUnchanged(range) {
|
||||
return textSpanIsEmpty(range.span) && range.newLength === 0;
|
||||
}
|
||||
ts.textChangeRangeIsUnchanged = textChangeRangeIsUnchanged;
|
||||
function createTextChangeRange(span, newLength) {
|
||||
if (newLength < 0) {
|
||||
throw new Error("newLength < 0");
|
||||
}
|
||||
return { span: span, newLength: newLength };
|
||||
}
|
||||
ts.createTextChangeRange = createTextChangeRange;
|
||||
ts.unchangedTextChangeRange = createTextChangeRange(createTextSpan(0, 0), 0);
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes) {
|
||||
if (changes.length === 0) {
|
||||
return ts.unchangedTextChangeRange;
|
||||
}
|
||||
if (changes.length === 1) {
|
||||
return changes[0];
|
||||
}
|
||||
var change0 = changes[0];
|
||||
var oldStartN = change0.span.start;
|
||||
var oldEndN = textSpanEnd(change0.span);
|
||||
var newEndN = oldStartN + change0.newLength;
|
||||
for (var i = 1; i < changes.length; i++) {
|
||||
var nextChange = changes[i];
|
||||
var oldStart1 = oldStartN;
|
||||
var oldEnd1 = oldEndN;
|
||||
var newEnd1 = newEndN;
|
||||
var oldStart2 = nextChange.span.start;
|
||||
var oldEnd2 = textSpanEnd(nextChange.span);
|
||||
var newEnd2 = oldStart2 + nextChange.newLength;
|
||||
oldStartN = Math.min(oldStart1, oldStart2);
|
||||
oldEndN = Math.max(oldEnd1, oldEnd1 + (oldEnd2 - newEnd1));
|
||||
newEndN = Math.max(newEnd2, newEnd2 + (newEnd1 - oldEnd2));
|
||||
}
|
||||
return createTextChangeRange(createTextSpanFromBounds(oldStartN, oldEndN), newEndN - oldStartN);
|
||||
}
|
||||
ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions;
|
||||
})(ts || (ts = {}));
|
||||
/// <reference path="scanner.ts"/>
|
||||
/// <reference path="utilities.ts"/>
|
||||
var ts;
|
||||
@ -5326,7 +5331,7 @@ var ts;
|
||||
if (token === 111 && inYieldContext()) {
|
||||
return false;
|
||||
}
|
||||
return inStrictModeContext() ? token > 111 : token > 101;
|
||||
return token > 101;
|
||||
}
|
||||
function parseExpected(kind, diagnosticMessage) {
|
||||
if (token === kind) {
|
||||
@ -5420,6 +5425,9 @@ var ts;
|
||||
identifierCount++;
|
||||
if (isIdentifier) {
|
||||
var node = createNode(65);
|
||||
if (token !== 65) {
|
||||
node.originalKeywordKind = token;
|
||||
}
|
||||
node.text = internIdentifier(scanner.getTokenValue());
|
||||
nextToken();
|
||||
return finishNode(node);
|
||||
@ -7550,6 +7558,17 @@ var ts;
|
||||
node.body = parseFunctionBlockOrSemicolon(false);
|
||||
return finishNode(node);
|
||||
}
|
||||
function isClassMemberModifier(idToken) {
|
||||
switch (idToken) {
|
||||
case 109:
|
||||
case 107:
|
||||
case 108:
|
||||
case 110:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function isClassMemberStart() {
|
||||
var idToken;
|
||||
if (token === 52) {
|
||||
@ -7557,6 +7576,9 @@ var ts;
|
||||
}
|
||||
while (ts.isModifier(token)) {
|
||||
idToken = token;
|
||||
if (isClassMemberModifier(idToken)) {
|
||||
return true;
|
||||
}
|
||||
nextToken();
|
||||
}
|
||||
if (token === 35) {
|
||||
@ -14513,7 +14535,7 @@ var ts;
|
||||
}
|
||||
function checkFunctionExpressionOrObjectLiteralMethod(node, contextualMapper) {
|
||||
ts.Debug.assert(node.kind !== 134 || ts.isObjectLiteralMethod(node));
|
||||
var hasGrammarError = checkGrammarFunctionLikeDeclaration(node);
|
||||
var hasGrammarError = checkGrammarDeclarationNameInStrictMode(node) || checkGrammarFunctionLikeDeclaration(node);
|
||||
if (!hasGrammarError && node.kind === 162) {
|
||||
checkGrammarFunctionName(node.name) || checkGrammarForGenerator(node);
|
||||
}
|
||||
@ -14550,7 +14572,7 @@ var ts;
|
||||
}
|
||||
function checkFunctionExpressionOrObjectLiteralMethodBody(node) {
|
||||
ts.Debug.assert(node.kind !== 134 || ts.isObjectLiteralMethod(node));
|
||||
if (node.type) {
|
||||
if (node.type && !node.asteriskToken) {
|
||||
checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNodeOrHeritageClauseElement(node.type));
|
||||
}
|
||||
if (node.body) {
|
||||
@ -15021,6 +15043,7 @@ var ts;
|
||||
return type;
|
||||
}
|
||||
function checkExpression(node, contextualMapper) {
|
||||
checkGrammarIdentifierInStrictMode(node);
|
||||
return checkExpressionOrQualifiedName(node, contextualMapper);
|
||||
}
|
||||
function checkExpressionOrQualifiedName(node, contextualMapper) {
|
||||
@ -15115,6 +15138,7 @@ var ts;
|
||||
return unknownType;
|
||||
}
|
||||
function checkTypeParameter(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
if (node.expression) {
|
||||
grammarErrorOnFirstToken(node.expression, ts.Diagnostics.Type_expected);
|
||||
}
|
||||
@ -15317,9 +15341,11 @@ var ts;
|
||||
checkDecorators(node);
|
||||
}
|
||||
function checkTypeReferenceNode(node) {
|
||||
checkGrammarTypeReferenceInStrictMode(node.typeName);
|
||||
return checkTypeReferenceOrHeritageClauseElement(node);
|
||||
}
|
||||
function checkHeritageClauseElement(node) {
|
||||
checkGrammarHeritageClauseElementInStrictMode(node.expression);
|
||||
return checkTypeReferenceOrHeritageClauseElement(node);
|
||||
}
|
||||
function checkTypeReferenceOrHeritageClauseElement(node) {
|
||||
@ -15722,6 +15748,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function checkFunctionLikeDeclaration(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
checkDecorators(node);
|
||||
checkSignatureDeclaration(node);
|
||||
if (node.name && node.name.kind === 127) {
|
||||
@ -15741,7 +15768,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
checkSourceElement(node.body);
|
||||
if (node.type && !isAccessor(node.kind)) {
|
||||
if (node.type && !isAccessor(node.kind) && !node.asteriskToken) {
|
||||
checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNodeOrHeritageClauseElement(node.type));
|
||||
}
|
||||
if (compilerOptions.noImplicitAny && ts.nodeIsMissing(node.body) && !node.type && !isPrivateWithinAmbient(node)) {
|
||||
@ -15907,6 +15934,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function checkVariableLikeDeclaration(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
checkDecorators(node);
|
||||
checkSourceElement(node.type);
|
||||
if (node.name.kind === 127) {
|
||||
@ -16430,6 +16458,7 @@ var ts;
|
||||
return unknownType;
|
||||
}
|
||||
function checkClassDeclaration(node) {
|
||||
checkGrammarDeclarationNameInStrictMode(node);
|
||||
if (node.parent.kind !== 206 && node.parent.kind !== 227) {
|
||||
grammarErrorOnNode(node, ts.Diagnostics.class_declarations_are_only_supported_directly_inside_a_module_or_as_a_top_level_declaration);
|
||||
}
|
||||
@ -16618,7 +16647,7 @@ var ts;
|
||||
return ok;
|
||||
}
|
||||
function checkInterfaceDeclaration(node) {
|
||||
checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarInterfaceDeclaration(node);
|
||||
checkGrammarDeclarationNameInStrictMode(node) || checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarInterfaceDeclaration(node);
|
||||
checkTypeParameters(node.typeParameters);
|
||||
if (produceDiagnostics) {
|
||||
checkTypeNameIsReserved(node.name, ts.Diagnostics.Interface_name_cannot_be_0);
|
||||
@ -16804,7 +16833,7 @@ var ts;
|
||||
if (!produceDiagnostics) {
|
||||
return;
|
||||
}
|
||||
checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarEnumDeclaration(node);
|
||||
checkGrammarDeclarationNameInStrictMode(node) || checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarEnumDeclaration(node);
|
||||
checkTypeNameIsReserved(node.name, ts.Diagnostics.Enum_name_cannot_be_0);
|
||||
checkCollisionWithCapturedThisVariable(node, node.name);
|
||||
checkCollisionWithRequireExportsInGeneratedCode(node, node.name);
|
||||
@ -16857,7 +16886,7 @@ var ts;
|
||||
}
|
||||
function checkModuleDeclaration(node) {
|
||||
if (produceDiagnostics) {
|
||||
if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node)) {
|
||||
if (!checkGrammarDeclarationNameInStrictMode(node) && !checkGrammarDecorators(node) && !checkGrammarModifiers(node)) {
|
||||
if (!ts.isInAmbientContext(node) && node.name.kind === 8) {
|
||||
grammarErrorOnNode(node.name, ts.Diagnostics.Only_ambient_modules_can_use_quoted_names);
|
||||
}
|
||||
@ -16946,7 +16975,7 @@ var ts;
|
||||
checkAliasSymbol(node);
|
||||
}
|
||||
function checkImportDeclaration(node) {
|
||||
if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & 499)) {
|
||||
if (!checkGrammarImportDeclarationNameInStrictMode(node) && !checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & 499)) {
|
||||
grammarErrorOnFirstToken(node, ts.Diagnostics.An_import_declaration_cannot_have_modifiers);
|
||||
}
|
||||
if (checkExternalImportOrExportDeclaration(node)) {
|
||||
@ -16967,7 +16996,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function checkImportEqualsDeclaration(node) {
|
||||
checkGrammarDecorators(node) || checkGrammarModifiers(node);
|
||||
checkGrammarDeclarationNameInStrictMode(node) || checkGrammarDecorators(node) || checkGrammarModifiers(node);
|
||||
if (ts.isInternalModuleImportEqualsDeclaration(node) || checkExternalImportOrExportDeclaration(node)) {
|
||||
checkImportBinding(node);
|
||||
if (node.flags & 1) {
|
||||
@ -17268,6 +17297,8 @@ var ts;
|
||||
if (!(links.flags & 1)) {
|
||||
checkGrammarSourceFile(node);
|
||||
emitExtends = false;
|
||||
emitDecorate = false;
|
||||
emitParam = false;
|
||||
potentialThisCollisions.length = 0;
|
||||
ts.forEach(node.statements, checkSourceElement);
|
||||
checkFunctionExpressionBodies(node);
|
||||
@ -18075,6 +18106,105 @@ var ts;
|
||||
}
|
||||
anyArrayType = createArrayType(anyType);
|
||||
}
|
||||
function isReservedwordInStrictMode(node) {
|
||||
return (node.parserContextFlags & 1) &&
|
||||
(node.originalKeywordKind >= 103 && node.originalKeywordKind <= 111);
|
||||
}
|
||||
function reportStrictModeGrammarErrorInClassDeclaration(identifier, message, arg0, arg1, arg2) {
|
||||
if (ts.getAncestor(identifier, 201) || ts.getAncestor(identifier, 174)) {
|
||||
return grammarErrorOnNode(identifier, message, arg0);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarImportDeclarationNameInStrictMode(node) {
|
||||
if (node.importClause) {
|
||||
var impotClause = node.importClause;
|
||||
if (impotClause.namedBindings) {
|
||||
var nameBindings = impotClause.namedBindings;
|
||||
if (nameBindings.kind === 211) {
|
||||
var name_11 = nameBindings.name;
|
||||
if (name_11.originalKeywordKind) {
|
||||
var nameText = ts.declarationNameToString(name_11);
|
||||
return grammarErrorOnNode(name_11, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
}
|
||||
}
|
||||
else if (nameBindings.kind === 212) {
|
||||
var reportError = false;
|
||||
for (var _i = 0, _a = nameBindings.elements; _i < _a.length; _i++) {
|
||||
var element = _a[_i];
|
||||
var name_12 = element.name;
|
||||
if (name_12.originalKeywordKind) {
|
||||
var nameText = ts.declarationNameToString(name_12);
|
||||
reportError = reportError || grammarErrorOnNode(name_12, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
}
|
||||
}
|
||||
return reportError;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarDeclarationNameInStrictMode(node) {
|
||||
var name = node.name;
|
||||
if (name && name.kind === 65 && isReservedwordInStrictMode(name)) {
|
||||
var nameText = ts.declarationNameToString(name);
|
||||
switch (node.kind) {
|
||||
case 129:
|
||||
case 198:
|
||||
case 200:
|
||||
case 128:
|
||||
case 152:
|
||||
case 202:
|
||||
case 203:
|
||||
case 204:
|
||||
return checkGrammarIdentifierInStrictMode(name);
|
||||
case 201:
|
||||
return grammarErrorOnNode(name, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode, nameText);
|
||||
case 205:
|
||||
return grammarErrorOnNode(name, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
case 208:
|
||||
return grammarErrorOnNode(name, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarTypeReferenceInStrictMode(typeName) {
|
||||
if (typeName.kind === 65) {
|
||||
checkGrammarTypeNameInStrictMode(typeName);
|
||||
}
|
||||
else if (typeName.kind === 126) {
|
||||
checkGrammarTypeNameInStrictMode(typeName.right);
|
||||
checkGrammarTypeReferenceInStrictMode(typeName.left);
|
||||
}
|
||||
}
|
||||
function checkGrammarHeritageClauseElementInStrictMode(expression) {
|
||||
if (expression && expression.kind === 65) {
|
||||
return checkGrammarIdentifierInStrictMode(expression);
|
||||
}
|
||||
else if (expression && expression.kind === 155) {
|
||||
checkGrammarHeritageClauseElementInStrictMode(expression.expression);
|
||||
}
|
||||
}
|
||||
function checkGrammarIdentifierInStrictMode(node, nameText) {
|
||||
if (node && node.kind === 65 && isReservedwordInStrictMode(node)) {
|
||||
if (!nameText) {
|
||||
nameText = ts.declarationNameToString(node);
|
||||
}
|
||||
var errorReport = reportStrictModeGrammarErrorInClassDeclaration(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode, nameText) ||
|
||||
grammarErrorOnNode(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
return errorReport;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarTypeNameInStrictMode(node) {
|
||||
if (node && node.kind === 65 && isReservedwordInStrictMode(node)) {
|
||||
var nameText = ts.declarationNameToString(node);
|
||||
var errorReport = reportStrictModeGrammarErrorInClassDeclaration(node, ts.Diagnostics.Type_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode, nameText) ||
|
||||
grammarErrorOnNode(node, ts.Diagnostics.Type_expected_0_is_a_reserved_word_in_strict_mode, nameText);
|
||||
return errorReport;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkGrammarDecorators(node) {
|
||||
if (!node.decorators) {
|
||||
return false;
|
||||
@ -18444,17 +18574,17 @@ var ts;
|
||||
var inStrictMode = (node.parserContextFlags & 1) !== 0;
|
||||
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
|
||||
var prop = _a[_i];
|
||||
var name_11 = prop.name;
|
||||
var name_13 = prop.name;
|
||||
if (prop.kind === 175 ||
|
||||
name_11.kind === 127) {
|
||||
checkGrammarComputedPropertyName(name_11);
|
||||
name_13.kind === 127) {
|
||||
checkGrammarComputedPropertyName(name_13);
|
||||
continue;
|
||||
}
|
||||
var currentKind = void 0;
|
||||
if (prop.kind === 224 || prop.kind === 225) {
|
||||
checkGrammarForInvalidQuestionMark(prop, prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional);
|
||||
if (name_11.kind === 7) {
|
||||
checkGrammarNumbericLiteral(name_11);
|
||||
if (name_13.kind === 7) {
|
||||
checkGrammarNumbericLiteral(name_13);
|
||||
}
|
||||
currentKind = Property;
|
||||
}
|
||||
@ -18470,26 +18600,26 @@ var ts;
|
||||
else {
|
||||
ts.Debug.fail("Unexpected syntax kind:" + prop.kind);
|
||||
}
|
||||
if (!ts.hasProperty(seen, name_11.text)) {
|
||||
seen[name_11.text] = currentKind;
|
||||
if (!ts.hasProperty(seen, name_13.text)) {
|
||||
seen[name_13.text] = currentKind;
|
||||
}
|
||||
else {
|
||||
var existingKind = seen[name_11.text];
|
||||
var existingKind = seen[name_13.text];
|
||||
if (currentKind === Property && existingKind === Property) {
|
||||
if (inStrictMode) {
|
||||
grammarErrorOnNode(name_11, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode);
|
||||
grammarErrorOnNode(name_13, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode);
|
||||
}
|
||||
}
|
||||
else if ((currentKind & GetOrSetAccessor) && (existingKind & GetOrSetAccessor)) {
|
||||
if (existingKind !== GetOrSetAccessor && currentKind !== existingKind) {
|
||||
seen[name_11.text] = currentKind | existingKind;
|
||||
seen[name_13.text] = currentKind | existingKind;
|
||||
}
|
||||
else {
|
||||
return grammarErrorOnNode(name_11, ts.Diagnostics.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);
|
||||
return grammarErrorOnNode(name_13, ts.Diagnostics.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);
|
||||
}
|
||||
}
|
||||
else {
|
||||
return grammarErrorOnNode(name_11, ts.Diagnostics.An_object_literal_cannot_have_property_and_accessor_with_the_same_name);
|
||||
return grammarErrorOnNode(name_13, ts.Diagnostics.An_object_literal_cannot_have_property_and_accessor_with_the_same_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -18808,12 +18938,11 @@ var ts;
|
||||
var identifier = name;
|
||||
if (contextNode && (contextNode.parserContextFlags & 1) && ts.isEvalOrArgumentsIdentifier(identifier)) {
|
||||
var nameText = ts.declarationNameToString(identifier);
|
||||
if (ts.getAncestor(name, 201) || ts.getAncestor(name, 174)) {
|
||||
return grammarErrorOnNode(identifier, ts.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode, nameText);
|
||||
}
|
||||
else {
|
||||
var reportErrorInClassDeclaration = reportStrictModeGrammarErrorInClassDeclaration(identifier, ts.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode, nameText);
|
||||
if (!reportErrorInClassDeclaration) {
|
||||
return grammarErrorOnNode(identifier, ts.Diagnostics.Invalid_use_of_0_in_strict_mode, nameText);
|
||||
}
|
||||
return reportErrorInClassDeclaration;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -19262,9 +19391,9 @@ var ts;
|
||||
}
|
||||
var count = 0;
|
||||
while (true) {
|
||||
var name_12 = baseName + "_" + (++count);
|
||||
if (!ts.hasProperty(currentSourceFile.identifiers, name_12)) {
|
||||
return name_12;
|
||||
var name_14 = baseName + "_" + (++count);
|
||||
if (!ts.hasProperty(currentSourceFile.identifiers, name_14)) {
|
||||
return name_14;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -20346,9 +20475,9 @@ var ts;
|
||||
var count = tempFlags & 268435455;
|
||||
tempFlags++;
|
||||
if (count !== 8 && count !== 13) {
|
||||
var name_13 = count < 26 ? "_" + String.fromCharCode(97 + count) : "_" + (count - 26);
|
||||
if (isUniqueName(name_13)) {
|
||||
return name_13;
|
||||
var name_15 = count < 26 ? "_" + String.fromCharCode(97 + count) : "_" + (count - 26);
|
||||
if (isUniqueName(name_15)) {
|
||||
return name_15;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -20376,8 +20505,8 @@ var ts;
|
||||
}
|
||||
function generateNameForModuleOrEnum(node) {
|
||||
if (node.name.kind === 65) {
|
||||
var name_14 = node.name.text;
|
||||
assignGeneratedName(node, isUniqueLocalName(name_14, node) ? name_14 : makeUniqueName(name_14));
|
||||
var name_16 = node.name.text;
|
||||
assignGeneratedName(node, isUniqueLocalName(name_16, node) ? name_16 : makeUniqueName(name_16));
|
||||
}
|
||||
}
|
||||
function generateNameForImportOrExportDeclaration(node) {
|
||||
@ -20557,8 +20686,8 @@ var ts;
|
||||
if (scopeName) {
|
||||
var parentIndex = getSourceMapNameIndex();
|
||||
if (parentIndex !== -1) {
|
||||
var name_15 = node.name;
|
||||
if (!name_15 || name_15.kind !== 127) {
|
||||
var name_17 = node.name;
|
||||
if (!name_17 || name_17.kind !== 127) {
|
||||
scopeName = "." + scopeName;
|
||||
}
|
||||
scopeName = sourceMapData.sourceMapNames[parentIndex] + scopeName;
|
||||
@ -20585,9 +20714,9 @@ var ts;
|
||||
node.kind === 201 ||
|
||||
node.kind === 204) {
|
||||
if (node.name) {
|
||||
var name_16 = node.name;
|
||||
scopeName = name_16.kind === 127
|
||||
? ts.getTextOfNode(name_16)
|
||||
var name_18 = node.name;
|
||||
scopeName = name_18.kind === 127
|
||||
? ts.getTextOfNode(name_18)
|
||||
: node.name.text;
|
||||
}
|
||||
recordScopeNameStart(scopeName);
|
||||
@ -21000,6 +21129,7 @@ var ts;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
case 172:
|
||||
case 170:
|
||||
return -1;
|
||||
default:
|
||||
@ -21171,6 +21301,16 @@ var ts;
|
||||
write("...");
|
||||
emit(node.expression);
|
||||
}
|
||||
function emitYieldExpression(node) {
|
||||
write(ts.tokenToString(111));
|
||||
if (node.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
if (node.expression) {
|
||||
write(" ");
|
||||
emit(node.expression);
|
||||
}
|
||||
}
|
||||
function needsParenthesisForPropertyAccessOrInvocation(node) {
|
||||
switch (node.kind) {
|
||||
case 65:
|
||||
@ -21412,6 +21552,9 @@ var ts;
|
||||
write("]");
|
||||
}
|
||||
function emitMethod(node) {
|
||||
if (languageVersion >= 2 && node.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
emit(node.name, false);
|
||||
if (languageVersion < 2) {
|
||||
write(": function ");
|
||||
@ -22397,12 +22540,12 @@ var ts;
|
||||
function emitParameter(node) {
|
||||
if (languageVersion < 2) {
|
||||
if (ts.isBindingPattern(node.name)) {
|
||||
var name_17 = createTempVariable(0);
|
||||
var name_19 = createTempVariable(0);
|
||||
if (!tempParameters) {
|
||||
tempParameters = [];
|
||||
}
|
||||
tempParameters.push(name_17);
|
||||
emit(name_17);
|
||||
tempParameters.push(name_19);
|
||||
emit(name_19);
|
||||
}
|
||||
else {
|
||||
emit(node.name);
|
||||
@ -22521,7 +22664,11 @@ var ts;
|
||||
write("default ");
|
||||
}
|
||||
}
|
||||
write("function ");
|
||||
write("function");
|
||||
if (languageVersion >= 2 && node.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
write(" ");
|
||||
}
|
||||
if (shouldEmitFunctionName(node)) {
|
||||
emitDeclarationName(node);
|
||||
@ -22853,6 +23000,9 @@ var ts;
|
||||
else if (member.kind === 137) {
|
||||
write("set ");
|
||||
}
|
||||
if (member.asteriskToken) {
|
||||
write("*");
|
||||
}
|
||||
emit(member.name);
|
||||
emitSignatureAndBody(member);
|
||||
emitEnd(member);
|
||||
@ -23818,8 +23968,8 @@ var ts;
|
||||
else {
|
||||
for (var _c = 0, _d = node.exportClause.elements; _c < _d.length; _c++) {
|
||||
var specifier = _d[_c];
|
||||
var name_18 = (specifier.propertyName || specifier.name).text;
|
||||
(exportSpecifiers[name_18] || (exportSpecifiers[name_18] = [])).push(specifier);
|
||||
var name_20 = (specifier.propertyName || specifier.name).text;
|
||||
(exportSpecifiers[name_20] || (exportSpecifiers[name_20] = [])).push(specifier);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -24130,6 +24280,8 @@ var ts;
|
||||
return emitConditionalExpression(node);
|
||||
case 173:
|
||||
return emitSpreadElementExpression(node);
|
||||
case 172:
|
||||
return emitYieldExpression(node);
|
||||
case 175:
|
||||
return;
|
||||
case 179:
|
||||
@ -24403,7 +24555,7 @@ var ts;
|
||||
}
|
||||
return {
|
||||
getSourceFile: getSourceFile,
|
||||
getDefaultLibFileName: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), ts.getDefaultLibFileName(options)); },
|
||||
getDefaultLibFileName: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), getDefaultLibFileName(options)); },
|
||||
writeFile: writeFile,
|
||||
getCurrentDirectory: function () { return currentDirectory || (currentDirectory = ts.sys.getCurrentDirectory()); },
|
||||
useCaseSensitiveFileNames: function () { return ts.sys.useCaseSensitiveFileNames; },
|
||||
@ -24443,6 +24595,10 @@ var ts;
|
||||
}
|
||||
}
|
||||
ts.flattenDiagnosticMessageText = flattenDiagnosticMessageText;
|
||||
function getDefaultLibFileName(options) {
|
||||
return options.target === 2 ? "lib.es6.d.ts" : "lib.d.ts";
|
||||
}
|
||||
ts.getDefaultLibFileName = getDefaultLibFileName;
|
||||
function createProgram(rootNames, options, host) {
|
||||
var program;
|
||||
var files = [];
|
||||
@ -25670,9 +25826,9 @@ var ts;
|
||||
case 198:
|
||||
case 152:
|
||||
var variableDeclarationNode;
|
||||
var name_19;
|
||||
var name_21;
|
||||
if (node.kind === 152) {
|
||||
name_19 = node.name;
|
||||
name_21 = node.name;
|
||||
variableDeclarationNode = node;
|
||||
while (variableDeclarationNode && variableDeclarationNode.kind !== 198) {
|
||||
variableDeclarationNode = variableDeclarationNode.parent;
|
||||
@ -25682,16 +25838,16 @@ var ts;
|
||||
else {
|
||||
ts.Debug.assert(!ts.isBindingPattern(node.name));
|
||||
variableDeclarationNode = node;
|
||||
name_19 = node.name;
|
||||
name_21 = node.name;
|
||||
}
|
||||
if (ts.isConst(variableDeclarationNode)) {
|
||||
return createItem(node, getTextOfNode(name_19), ts.ScriptElementKind.constElement);
|
||||
return createItem(node, getTextOfNode(name_21), ts.ScriptElementKind.constElement);
|
||||
}
|
||||
else if (ts.isLet(variableDeclarationNode)) {
|
||||
return createItem(node, getTextOfNode(name_19), ts.ScriptElementKind.letElement);
|
||||
return createItem(node, getTextOfNode(name_21), ts.ScriptElementKind.letElement);
|
||||
}
|
||||
else {
|
||||
return createItem(node, getTextOfNode(name_19), ts.ScriptElementKind.variableElement);
|
||||
return createItem(node, getTextOfNode(name_21), ts.ScriptElementKind.variableElement);
|
||||
}
|
||||
case 135:
|
||||
return createItem(node, "constructor", ts.ScriptElementKind.constructorImplementationElement);
|
||||
@ -27639,9 +27795,9 @@ var ts;
|
||||
}
|
||||
Rules.prototype.getRuleName = function (rule) {
|
||||
var o = this;
|
||||
for (var name_20 in o) {
|
||||
if (o[name_20] === rule) {
|
||||
return name_20;
|
||||
for (var name_22 in o) {
|
||||
if (o[name_22] === rule) {
|
||||
return name_22;
|
||||
}
|
||||
}
|
||||
throw new Error("Unknown rule");
|
||||
@ -31293,10 +31449,10 @@ var ts;
|
||||
for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) {
|
||||
var sourceFile = _a[_i];
|
||||
var nameTable = getNameTable(sourceFile);
|
||||
for (var name_21 in nameTable) {
|
||||
if (!allNames[name_21]) {
|
||||
allNames[name_21] = name_21;
|
||||
var displayName = getCompletionEntryDisplayName(name_21, target, true);
|
||||
for (var name_23 in nameTable) {
|
||||
if (!allNames[name_23]) {
|
||||
allNames[name_23] = name_23;
|
||||
var displayName = getCompletionEntryDisplayName(name_23, target, true);
|
||||
if (displayName) {
|
||||
var entry = {
|
||||
name: displayName,
|
||||
@ -32935,17 +33091,17 @@ var ts;
|
||||
if (isNameOfPropertyAssignment(node)) {
|
||||
var objectLiteral = node.parent.parent;
|
||||
var contextualType = typeInfoResolver.getContextualType(objectLiteral);
|
||||
var name_22 = node.text;
|
||||
var name_24 = node.text;
|
||||
if (contextualType) {
|
||||
if (contextualType.flags & 16384) {
|
||||
var unionProperty = contextualType.getProperty(name_22);
|
||||
var unionProperty = contextualType.getProperty(name_24);
|
||||
if (unionProperty) {
|
||||
return [unionProperty];
|
||||
}
|
||||
else {
|
||||
var result_3 = [];
|
||||
ts.forEach(contextualType.types, function (t) {
|
||||
var symbol = t.getProperty(name_22);
|
||||
var symbol = t.getProperty(name_24);
|
||||
if (symbol) {
|
||||
result_3.push(symbol);
|
||||
}
|
||||
@ -32954,7 +33110,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
else {
|
||||
var symbol_1 = contextualType.getProperty(name_22);
|
||||
var symbol_1 = contextualType.getProperty(name_24);
|
||||
if (symbol_1) {
|
||||
return [symbol_1];
|
||||
}
|
||||
|
||||
29
bin/typescript.d.ts
vendored
29
bin/typescript.d.ts
vendored
@ -310,6 +310,7 @@ declare module "typescript" {
|
||||
}
|
||||
interface Identifier extends PrimaryExpression {
|
||||
text: string;
|
||||
originalKeywordKind?: SyntaxKind;
|
||||
}
|
||||
interface QualifiedName extends Node {
|
||||
left: EntityName;
|
||||
@ -1181,6 +1182,33 @@ declare module "typescript" {
|
||||
function isIdentifierStart(ch: number, languageVersion: ScriptTarget): boolean;
|
||||
function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean;
|
||||
}
|
||||
declare module "typescript" {
|
||||
function textSpanEnd(span: TextSpan): number;
|
||||
function textSpanIsEmpty(span: TextSpan): boolean;
|
||||
function textSpanContainsPosition(span: TextSpan, position: number): boolean;
|
||||
function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean;
|
||||
function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean;
|
||||
function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan;
|
||||
function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean;
|
||||
function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean;
|
||||
function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean;
|
||||
function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan;
|
||||
function createTextSpan(start: number, length: number): TextSpan;
|
||||
function createTextSpanFromBounds(start: number, end: number): TextSpan;
|
||||
function textChangeRangeNewSpan(range: TextChangeRange): TextSpan;
|
||||
function textChangeRangeIsUnchanged(range: TextChangeRange): boolean;
|
||||
function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange;
|
||||
let unchangedTextChangeRange: TextChangeRange;
|
||||
/**
|
||||
* Called to merge all the changes that occurred across several versions of a script snapshot
|
||||
* into a single change. i.e. if a user keeps making successive edits to a script we will
|
||||
* have a text change from V1 to V2, V2 to V3, ..., Vn.
|
||||
*
|
||||
* This function will then merge those changes into a single change range valid between V1 and
|
||||
* Vn.
|
||||
*/
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange;
|
||||
}
|
||||
declare module "typescript" {
|
||||
function getNodeConstructor(kind: SyntaxKind): new () => Node;
|
||||
function createNode(kind: SyntaxKind): Node;
|
||||
@ -1199,6 +1227,7 @@ declare module "typescript" {
|
||||
function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost;
|
||||
function getPreEmitDiagnostics(program: Program): Diagnostic[];
|
||||
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
|
||||
function getDefaultLibFileName(options: CompilerOptions): string;
|
||||
function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program;
|
||||
}
|
||||
declare module "typescript" {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
29
bin/typescriptServices.d.ts
vendored
29
bin/typescriptServices.d.ts
vendored
@ -310,6 +310,7 @@ declare module ts {
|
||||
}
|
||||
interface Identifier extends PrimaryExpression {
|
||||
text: string;
|
||||
originalKeywordKind?: SyntaxKind;
|
||||
}
|
||||
interface QualifiedName extends Node {
|
||||
left: EntityName;
|
||||
@ -1181,6 +1182,33 @@ declare module ts {
|
||||
function isIdentifierStart(ch: number, languageVersion: ScriptTarget): boolean;
|
||||
function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean;
|
||||
}
|
||||
declare module ts {
|
||||
function textSpanEnd(span: TextSpan): number;
|
||||
function textSpanIsEmpty(span: TextSpan): boolean;
|
||||
function textSpanContainsPosition(span: TextSpan, position: number): boolean;
|
||||
function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean;
|
||||
function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean;
|
||||
function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan;
|
||||
function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean;
|
||||
function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean;
|
||||
function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean;
|
||||
function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan;
|
||||
function createTextSpan(start: number, length: number): TextSpan;
|
||||
function createTextSpanFromBounds(start: number, end: number): TextSpan;
|
||||
function textChangeRangeNewSpan(range: TextChangeRange): TextSpan;
|
||||
function textChangeRangeIsUnchanged(range: TextChangeRange): boolean;
|
||||
function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange;
|
||||
let unchangedTextChangeRange: TextChangeRange;
|
||||
/**
|
||||
* Called to merge all the changes that occurred across several versions of a script snapshot
|
||||
* into a single change. i.e. if a user keeps making successive edits to a script we will
|
||||
* have a text change from V1 to V2, V2 to V3, ..., Vn.
|
||||
*
|
||||
* This function will then merge those changes into a single change range valid between V1 and
|
||||
* Vn.
|
||||
*/
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange;
|
||||
}
|
||||
declare module ts {
|
||||
function getNodeConstructor(kind: SyntaxKind): new () => Node;
|
||||
function createNode(kind: SyntaxKind): Node;
|
||||
@ -1199,6 +1227,7 @@ declare module ts {
|
||||
function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost;
|
||||
function getPreEmitDiagnostics(program: Program): Diagnostic[];
|
||||
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
|
||||
function getDefaultLibFileName(options: CompilerOptions): string;
|
||||
function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program;
|
||||
}
|
||||
declare module ts {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user