mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Update LKG
This commit is contained in:
+121
-94
@@ -212,6 +212,12 @@ var ts;
|
||||
return result;
|
||||
}
|
||||
ts.mapToArray = mapToArray;
|
||||
function copyMap(source, target) {
|
||||
for (var p in source) {
|
||||
target[p] = source[p];
|
||||
}
|
||||
}
|
||||
ts.copyMap = copyMap;
|
||||
function arrayToMap(array, makeKey) {
|
||||
var result = {};
|
||||
forEach(array, function (value) {
|
||||
@@ -1219,7 +1225,7 @@ var ts;
|
||||
Unsupported_locale_0: { code: 6049, category: 1 /* Error */, key: "Unsupported locale '{0}'." },
|
||||
Unable_to_open_file_0: { code: 6050, category: 1 /* Error */, key: "Unable to open file '{0}'." },
|
||||
Corrupted_locale_file_0: { code: 6051, category: 1 /* Error */, key: "Corrupted locale file {0}." },
|
||||
Warn_on_expressions_and_declarations_with_an_implied_any_type: { code: 6052, category: 2 /* Message */, key: "Warn on expressions and declarations with an implied 'any' type." },
|
||||
Raise_error_on_expressions_and_declarations_with_an_implied_any_type: { code: 6052, category: 2 /* Message */, key: "Warn on expressions and declarations with an implied 'any' type." },
|
||||
File_0_not_found: { code: 6053, category: 1 /* Error */, key: "File '{0}' not found." },
|
||||
File_0_must_have_extension_ts_or_d_ts: { code: 6054, category: 1 /* Error */, key: "File '{0}' must have extension '.ts' or '.d.ts'." },
|
||||
Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: { code: 6055, category: 2 /* Message */, key: "Suppress noImplicitAny errors for indexing objects lacking index signatures." },
|
||||
@@ -2790,6 +2796,11 @@ var ts;
|
||||
return false;
|
||||
}
|
||||
ts.isExpression = isExpression;
|
||||
function isInstantiatedModule(node, preserveConstEnums) {
|
||||
var moduleState = ts.getModuleInstanceState(node);
|
||||
return moduleState === 1 /* Instantiated */ || (preserveConstEnums && moduleState === 2 /* ConstEnumOnly */);
|
||||
}
|
||||
ts.isInstantiatedModule = isInstantiatedModule;
|
||||
function isExternalModuleImportDeclaration(node) {
|
||||
return node.kind === 197 /* ImportDeclaration */ && node.moduleReference.kind === 199 /* ExternalModuleReference */;
|
||||
}
|
||||
@@ -3180,34 +3191,37 @@ var ts;
|
||||
return new (getNodeConstructor(kind))();
|
||||
}
|
||||
ts.createNode = createNode;
|
||||
function forEachChild(node, cbNode, cbNodes) {
|
||||
function child(node) {
|
||||
if (node) {
|
||||
return cbNode(node);
|
||||
}
|
||||
function visitNode(cbNode, node) {
|
||||
if (node) {
|
||||
return cbNode(node);
|
||||
}
|
||||
function children(nodes) {
|
||||
if (nodes) {
|
||||
if (cbNodes) {
|
||||
return cbNodes(nodes);
|
||||
}
|
||||
for (var i = 0, len = nodes.length; i < len; i++) {
|
||||
var result = cbNode(nodes[i]);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
function visitNodeArray(cbNodes, nodes) {
|
||||
if (nodes) {
|
||||
return cbNodes(nodes);
|
||||
}
|
||||
}
|
||||
function visitEachNode(cbNode, nodes) {
|
||||
if (nodes) {
|
||||
for (var i = 0, len = nodes.length; i < len; i++) {
|
||||
var result = cbNode(nodes[i]);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
function forEachChild(node, cbNode, cbNodeArray) {
|
||||
if (!node) {
|
||||
return;
|
||||
}
|
||||
var visitNodes = cbNodeArray ? visitNodeArray : visitEachNode;
|
||||
var cbNodes = cbNodeArray || cbNode;
|
||||
switch (node.kind) {
|
||||
case 121 /* QualifiedName */:
|
||||
return child(node.left) || child(node.right);
|
||||
return visitNode(cbNode, node.left) || visitNode(cbNode, node.right);
|
||||
case 123 /* TypeParameter */:
|
||||
return child(node.name) || child(node.constraint) || child(node.expression);
|
||||
return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.expression);
|
||||
case 124 /* Parameter */:
|
||||
case 126 /* PropertyDeclaration */:
|
||||
case 125 /* PropertySignature */:
|
||||
@@ -3215,13 +3229,13 @@ var ts;
|
||||
case 205 /* ShorthandPropertyAssignment */:
|
||||
case 188 /* VariableDeclaration */:
|
||||
case 146 /* BindingElement */:
|
||||
return children(node.modifiers) || child(node.propertyName) || child(node.dotDotDotToken) || child(node.name) || child(node.questionToken) || child(node.type) || child(node.initializer);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer);
|
||||
case 136 /* FunctionType */:
|
||||
case 137 /* ConstructorType */:
|
||||
case 132 /* CallSignature */:
|
||||
case 133 /* ConstructSignature */:
|
||||
case 134 /* IndexSignature */:
|
||||
return children(node.modifiers) || children(node.typeParameters) || children(node.parameters) || child(node.type);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.parameters) || visitNode(cbNode, node.type);
|
||||
case 128 /* MethodDeclaration */:
|
||||
case 127 /* MethodSignature */:
|
||||
case 129 /* Constructor */:
|
||||
@@ -3230,127 +3244,127 @@ var ts;
|
||||
case 156 /* FunctionExpression */:
|
||||
case 190 /* FunctionDeclaration */:
|
||||
case 157 /* ArrowFunction */:
|
||||
return children(node.modifiers) || child(node.asteriskToken) || child(node.name) || child(node.questionToken) || children(node.typeParameters) || children(node.parameters) || child(node.type) || child(node.body);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.parameters) || visitNode(cbNode, node.type) || visitNode(cbNode, node.body);
|
||||
case 135 /* TypeReference */:
|
||||
return child(node.typeName) || children(node.typeArguments);
|
||||
return visitNode(cbNode, node.typeName) || visitNodes(cbNodes, node.typeArguments);
|
||||
case 138 /* TypeQuery */:
|
||||
return child(node.exprName);
|
||||
return visitNode(cbNode, node.exprName);
|
||||
case 139 /* TypeLiteral */:
|
||||
return children(node.members);
|
||||
return visitNodes(cbNodes, node.members);
|
||||
case 140 /* ArrayType */:
|
||||
return child(node.elementType);
|
||||
return visitNode(cbNode, node.elementType);
|
||||
case 141 /* TupleType */:
|
||||
return children(node.elementTypes);
|
||||
return visitNodes(cbNodes, node.elementTypes);
|
||||
case 142 /* UnionType */:
|
||||
return children(node.types);
|
||||
return visitNodes(cbNodes, node.types);
|
||||
case 143 /* ParenthesizedType */:
|
||||
return child(node.type);
|
||||
return visitNode(cbNode, node.type);
|
||||
case 144 /* ObjectBindingPattern */:
|
||||
case 145 /* ArrayBindingPattern */:
|
||||
return children(node.elements);
|
||||
return visitNodes(cbNodes, node.elements);
|
||||
case 147 /* ArrayLiteralExpression */:
|
||||
return children(node.elements);
|
||||
return visitNodes(cbNodes, node.elements);
|
||||
case 148 /* ObjectLiteralExpression */:
|
||||
return children(node.properties);
|
||||
return visitNodes(cbNodes, node.properties);
|
||||
case 149 /* PropertyAccessExpression */:
|
||||
return child(node.expression) || child(node.name);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.name);
|
||||
case 150 /* ElementAccessExpression */:
|
||||
return child(node.expression) || child(node.argumentExpression);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.argumentExpression);
|
||||
case 151 /* CallExpression */:
|
||||
case 152 /* NewExpression */:
|
||||
return child(node.expression) || children(node.typeArguments) || children(node.arguments);
|
||||
return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.typeArguments) || visitNodes(cbNodes, node.arguments);
|
||||
case 153 /* TaggedTemplateExpression */:
|
||||
return child(node.tag) || child(node.template);
|
||||
return visitNode(cbNode, node.tag) || visitNode(cbNode, node.template);
|
||||
case 154 /* TypeAssertionExpression */:
|
||||
return child(node.type) || child(node.expression);
|
||||
return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression);
|
||||
case 155 /* ParenthesizedExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 158 /* DeleteExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 159 /* TypeOfExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 160 /* VoidExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 161 /* PrefixUnaryExpression */:
|
||||
return child(node.operand);
|
||||
return visitNode(cbNode, node.operand);
|
||||
case 166 /* YieldExpression */:
|
||||
return child(node.asteriskToken) || child(node.expression);
|
||||
return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression);
|
||||
case 162 /* PostfixUnaryExpression */:
|
||||
return child(node.operand);
|
||||
return visitNode(cbNode, node.operand);
|
||||
case 163 /* BinaryExpression */:
|
||||
return child(node.left) || child(node.right);
|
||||
return visitNode(cbNode, node.left) || visitNode(cbNode, node.right);
|
||||
case 164 /* ConditionalExpression */:
|
||||
return child(node.condition) || child(node.whenTrue) || child(node.whenFalse);
|
||||
return visitNode(cbNode, node.condition) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.whenFalse);
|
||||
case 167 /* SpreadElementExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 170 /* Block */:
|
||||
case 196 /* ModuleBlock */:
|
||||
return children(node.statements);
|
||||
return visitNodes(cbNodes, node.statements);
|
||||
case 207 /* SourceFile */:
|
||||
return children(node.statements) || child(node.endOfFileToken);
|
||||
return visitNodes(cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken);
|
||||
case 171 /* VariableStatement */:
|
||||
return children(node.modifiers) || child(node.declarationList);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList);
|
||||
case 189 /* VariableDeclarationList */:
|
||||
return children(node.declarations);
|
||||
return visitNodes(cbNodes, node.declarations);
|
||||
case 173 /* ExpressionStatement */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 174 /* IfStatement */:
|
||||
return child(node.expression) || child(node.thenStatement) || child(node.elseStatement);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement);
|
||||
case 175 /* DoStatement */:
|
||||
return child(node.statement) || child(node.expression);
|
||||
return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression);
|
||||
case 176 /* WhileStatement */:
|
||||
return child(node.expression) || child(node.statement);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement);
|
||||
case 177 /* ForStatement */:
|
||||
return child(node.initializer) || child(node.condition) || child(node.iterator) || child(node.statement);
|
||||
return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.iterator) || visitNode(cbNode, node.statement);
|
||||
case 178 /* ForInStatement */:
|
||||
return child(node.initializer) || child(node.expression) || child(node.statement);
|
||||
return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement);
|
||||
case 179 /* ContinueStatement */:
|
||||
case 180 /* BreakStatement */:
|
||||
return child(node.label);
|
||||
return visitNode(cbNode, node.label);
|
||||
case 181 /* ReturnStatement */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 182 /* WithStatement */:
|
||||
return child(node.expression) || child(node.statement);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement);
|
||||
case 183 /* SwitchStatement */:
|
||||
return child(node.expression) || children(node.clauses);
|
||||
return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.clauses);
|
||||
case 200 /* CaseClause */:
|
||||
return child(node.expression) || children(node.statements);
|
||||
return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.statements);
|
||||
case 201 /* DefaultClause */:
|
||||
return children(node.statements);
|
||||
return visitNodes(cbNodes, node.statements);
|
||||
case 184 /* LabeledStatement */:
|
||||
return child(node.label) || child(node.statement);
|
||||
return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement);
|
||||
case 185 /* ThrowStatement */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 186 /* TryStatement */:
|
||||
return child(node.tryBlock) || child(node.catchClause) || child(node.finallyBlock);
|
||||
return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock);
|
||||
case 203 /* CatchClause */:
|
||||
return child(node.name) || child(node.type) || child(node.block);
|
||||
return visitNode(cbNode, node.name) || visitNode(cbNode, node.type) || visitNode(cbNode, node.block);
|
||||
case 191 /* ClassDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || children(node.typeParameters) || children(node.heritageClauses) || children(node.members);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.heritageClauses) || visitNodes(cbNodes, node.members);
|
||||
case 192 /* InterfaceDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || children(node.typeParameters) || children(node.heritageClauses) || children(node.members);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.heritageClauses) || visitNodes(cbNodes, node.members);
|
||||
case 193 /* TypeAliasDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || child(node.type);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.type);
|
||||
case 194 /* EnumDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || children(node.members);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.members);
|
||||
case 206 /* EnumMember */:
|
||||
return child(node.name) || child(node.initializer);
|
||||
return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer);
|
||||
case 195 /* ModuleDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || child(node.body);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body);
|
||||
case 197 /* ImportDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || child(node.moduleReference);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference);
|
||||
case 198 /* ExportAssignment */:
|
||||
return children(node.modifiers) || child(node.exportName);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.exportName);
|
||||
case 165 /* TemplateExpression */:
|
||||
return child(node.head) || children(node.templateSpans);
|
||||
return visitNode(cbNode, node.head) || visitNodes(cbNodes, node.templateSpans);
|
||||
case 169 /* TemplateSpan */:
|
||||
return child(node.expression) || child(node.literal);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal);
|
||||
case 122 /* ComputedPropertyName */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 202 /* HeritageClause */:
|
||||
return children(node.types);
|
||||
return visitNodes(cbNodes, node.types);
|
||||
case 199 /* ExternalModuleReference */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
}
|
||||
}
|
||||
ts.forEachChild = forEachChild;
|
||||
@@ -7980,7 +7994,6 @@ var ts;
|
||||
case 134 /* IndexSignature */:
|
||||
case 124 /* Parameter */:
|
||||
case 196 /* ModuleBlock */:
|
||||
case 123 /* TypeParameter */:
|
||||
case 136 /* FunctionType */:
|
||||
case 137 /* ConstructorType */:
|
||||
case 139 /* TypeLiteral */:
|
||||
@@ -7990,6 +8003,7 @@ var ts;
|
||||
case 142 /* UnionType */:
|
||||
case 143 /* ParenthesizedType */:
|
||||
return isDeclarationVisible(node.parent);
|
||||
case 123 /* TypeParameter */:
|
||||
case 207 /* SourceFile */:
|
||||
return true;
|
||||
default:
|
||||
@@ -9745,9 +9759,7 @@ var ts;
|
||||
if (result) {
|
||||
var maybeCache = maybeStack[depth];
|
||||
var destinationCache = result === -1 /* True */ || depth === 0 ? relation : maybeStack[depth - 1];
|
||||
for (var p in maybeCache) {
|
||||
destinationCache[p] = maybeCache[p];
|
||||
}
|
||||
ts.copyMap(maybeCache, destinationCache);
|
||||
}
|
||||
else {
|
||||
relation[id] = false;
|
||||
@@ -10566,7 +10578,7 @@ var ts;
|
||||
}
|
||||
function getNarrowedTypeOfSymbol(symbol, node) {
|
||||
var type = getTypeOfSymbol(symbol);
|
||||
if (node && symbol.flags & 3 /* Variable */ && type.flags & (48128 /* ObjectType */ | 16384 /* Union */ | 512 /* TypeParameter */)) {
|
||||
if (node && symbol.flags & 3 /* Variable */ && type.flags & (1 /* Any */ | 48128 /* ObjectType */ | 16384 /* Union */ | 512 /* TypeParameter */)) {
|
||||
loop: while (node.parent) {
|
||||
var child = node;
|
||||
node = node.parent;
|
||||
@@ -10655,7 +10667,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function narrowTypeByInstanceof(type, expr, assumeTrue) {
|
||||
if (!assumeTrue || expr.left.kind !== 64 /* Identifier */ || getResolvedSymbol(expr.left) !== symbol) {
|
||||
if (type.flags & 1 /* Any */ || !assumeTrue || expr.left.kind !== 64 /* Identifier */ || getResolvedSymbol(expr.left) !== symbol) {
|
||||
return type;
|
||||
}
|
||||
var rightType = checkExpression(expr.right);
|
||||
@@ -13789,7 +13801,7 @@ var ts;
|
||||
checkCollisionWithRequireExportsInGeneratedCode(node, node.name);
|
||||
checkExportsOnMergedDeclarations(node);
|
||||
var symbol = getSymbolOfNode(node);
|
||||
if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !ts.isInAmbientContext(node)) {
|
||||
if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !ts.isInAmbientContext(node) && ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums)) {
|
||||
var classOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol);
|
||||
if (classOrFunc) {
|
||||
if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(classOrFunc)) {
|
||||
@@ -16894,19 +16906,30 @@ var ts;
|
||||
if (emitOuterParens) {
|
||||
write("(");
|
||||
}
|
||||
emitLiteral(node.head);
|
||||
ts.forEach(node.templateSpans, function (templateSpan) {
|
||||
var headEmitted = false;
|
||||
if (shouldEmitTemplateHead()) {
|
||||
emitLiteral(node.head);
|
||||
headEmitted = true;
|
||||
}
|
||||
for (var i = 0; i < node.templateSpans.length; i++) {
|
||||
var templateSpan = node.templateSpans[i];
|
||||
var needsParens = templateSpan.expression.kind !== 155 /* ParenthesizedExpression */ && comparePrecedenceToBinaryPlus(templateSpan.expression) !== 1 /* GreaterThan */;
|
||||
write(" + ");
|
||||
if (i > 0 || headEmitted) {
|
||||
write(" + ");
|
||||
}
|
||||
emitParenthesized(templateSpan.expression, needsParens);
|
||||
if (templateSpan.literal.text.length !== 0) {
|
||||
write(" + ");
|
||||
emitLiteral(templateSpan.literal);
|
||||
}
|
||||
});
|
||||
}
|
||||
if (emitOuterParens) {
|
||||
write(")");
|
||||
}
|
||||
function shouldEmitTemplateHead() {
|
||||
ts.Debug.assert(node.templateSpans.length !== 0);
|
||||
return node.head.text.length !== 0 || node.templateSpans[0].literal.text.length === 0;
|
||||
}
|
||||
function templateNeedsParens(template, parent) {
|
||||
switch (parent.kind) {
|
||||
case 151 /* CallExpression */:
|
||||
@@ -16930,6 +16953,7 @@ var ts;
|
||||
case 37 /* PercentToken */:
|
||||
return 1 /* GreaterThan */;
|
||||
case 33 /* PlusToken */:
|
||||
case 34 /* MinusToken */:
|
||||
return 0 /* EqualTo */;
|
||||
default:
|
||||
return -1 /* LessThan */;
|
||||
@@ -18313,7 +18337,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function emitModuleDeclaration(node) {
|
||||
var shouldEmit = ts.getModuleInstanceState(node) === 1 /* Instantiated */ || (ts.getModuleInstanceState(node) === 2 /* ConstEnumOnly */ && compilerOptions.preserveConstEnums);
|
||||
var shouldEmit = ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums);
|
||||
if (!shouldEmit) {
|
||||
return emitPinnedOrTripleSlashComments(node);
|
||||
}
|
||||
@@ -19033,7 +19057,10 @@ var ts;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!(findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) || findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd))) {
|
||||
if (options.allowNonTsExtensions && !findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) {
|
||||
diagnostic = ts.Diagnostics.File_0_not_found;
|
||||
}
|
||||
else if (!findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) && !findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd)) {
|
||||
diagnostic = ts.Diagnostics.File_0_not_found;
|
||||
filename += ".ts";
|
||||
}
|
||||
@@ -19268,7 +19295,7 @@ var ts;
|
||||
{
|
||||
name: "noImplicitAny",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Warn_on_expressions_and_declarations_with_an_implied_any_type
|
||||
description: ts.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type
|
||||
},
|
||||
{
|
||||
name: "noLib",
|
||||
|
||||
Vendored
+1
-3
@@ -1028,8 +1028,6 @@ declare module "typescript" {
|
||||
}
|
||||
interface GenericType extends InterfaceType, TypeReference {
|
||||
instantiations: Map<TypeReference>;
|
||||
openReferenceTargets: GenericType[];
|
||||
openReferenceChecks: Map<boolean>;
|
||||
}
|
||||
interface TupleType extends ObjectType {
|
||||
elementTypes: Type[];
|
||||
@@ -1370,7 +1368,7 @@ declare module "typescript" {
|
||||
declare module "typescript" {
|
||||
function getNodeConstructor(kind: SyntaxKind): new () => Node;
|
||||
function createNode(kind: SyntaxKind): Node;
|
||||
function forEachChild<T>(node: Node, cbNode: (node: Node) => T, cbNodes?: (nodes: Node[]) => T): T;
|
||||
function forEachChild<T>(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T;
|
||||
function modifierToFlag(token: SyntaxKind): NodeFlags;
|
||||
function isEvalOrArgumentsIdentifier(node: Node): boolean;
|
||||
function createSourceFile(filename: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile;
|
||||
|
||||
Vendored
+1
-3
@@ -1028,8 +1028,6 @@ declare module ts {
|
||||
}
|
||||
interface GenericType extends InterfaceType, TypeReference {
|
||||
instantiations: Map<TypeReference>;
|
||||
openReferenceTargets: GenericType[];
|
||||
openReferenceChecks: Map<boolean>;
|
||||
}
|
||||
interface TupleType extends ObjectType {
|
||||
elementTypes: Type[];
|
||||
@@ -1370,7 +1368,7 @@ declare module ts {
|
||||
declare module ts {
|
||||
function getNodeConstructor(kind: SyntaxKind): new () => Node;
|
||||
function createNode(kind: SyntaxKind): Node;
|
||||
function forEachChild<T>(node: Node, cbNode: (node: Node) => T, cbNodes?: (nodes: Node[]) => T): T;
|
||||
function forEachChild<T>(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T;
|
||||
function modifierToFlag(token: SyntaxKind): NodeFlags;
|
||||
function isEvalOrArgumentsIdentifier(node: Node): boolean;
|
||||
function createSourceFile(filename: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile;
|
||||
|
||||
+363
-93
@@ -763,6 +763,12 @@ var ts;
|
||||
return result;
|
||||
}
|
||||
ts.mapToArray = mapToArray;
|
||||
function copyMap(source, target) {
|
||||
for (var p in source) {
|
||||
target[p] = source[p];
|
||||
}
|
||||
}
|
||||
ts.copyMap = copyMap;
|
||||
function arrayToMap(array, makeKey) {
|
||||
var result = {};
|
||||
forEach(array, function (value) {
|
||||
@@ -1777,7 +1783,7 @@ var ts;
|
||||
Unsupported_locale_0: { code: 6049, category: 1 /* Error */, key: "Unsupported locale '{0}'." },
|
||||
Unable_to_open_file_0: { code: 6050, category: 1 /* Error */, key: "Unable to open file '{0}'." },
|
||||
Corrupted_locale_file_0: { code: 6051, category: 1 /* Error */, key: "Corrupted locale file {0}." },
|
||||
Warn_on_expressions_and_declarations_with_an_implied_any_type: { code: 6052, category: 2 /* Message */, key: "Warn on expressions and declarations with an implied 'any' type." },
|
||||
Raise_error_on_expressions_and_declarations_with_an_implied_any_type: { code: 6052, category: 2 /* Message */, key: "Warn on expressions and declarations with an implied 'any' type." },
|
||||
File_0_not_found: { code: 6053, category: 1 /* Error */, key: "File '{0}' not found." },
|
||||
File_0_must_have_extension_ts_or_d_ts: { code: 6054, category: 1 /* Error */, key: "File '{0}' must have extension '.ts' or '.d.ts'." },
|
||||
Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: { code: 6055, category: 2 /* Message */, key: "Suppress noImplicitAny errors for indexing objects lacking index signatures." },
|
||||
@@ -3348,6 +3354,11 @@ var ts;
|
||||
return false;
|
||||
}
|
||||
ts.isExpression = isExpression;
|
||||
function isInstantiatedModule(node, preserveConstEnums) {
|
||||
var moduleState = ts.getModuleInstanceState(node);
|
||||
return moduleState === 1 /* Instantiated */ || (preserveConstEnums && moduleState === 2 /* ConstEnumOnly */);
|
||||
}
|
||||
ts.isInstantiatedModule = isInstantiatedModule;
|
||||
function isExternalModuleImportDeclaration(node) {
|
||||
return node.kind === 197 /* ImportDeclaration */ && node.moduleReference.kind === 199 /* ExternalModuleReference */;
|
||||
}
|
||||
@@ -3738,34 +3749,37 @@ var ts;
|
||||
return new (getNodeConstructor(kind))();
|
||||
}
|
||||
ts.createNode = createNode;
|
||||
function forEachChild(node, cbNode, cbNodes) {
|
||||
function child(node) {
|
||||
if (node) {
|
||||
return cbNode(node);
|
||||
}
|
||||
function visitNode(cbNode, node) {
|
||||
if (node) {
|
||||
return cbNode(node);
|
||||
}
|
||||
function children(nodes) {
|
||||
if (nodes) {
|
||||
if (cbNodes) {
|
||||
return cbNodes(nodes);
|
||||
}
|
||||
for (var i = 0, len = nodes.length; i < len; i++) {
|
||||
var result = cbNode(nodes[i]);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
function visitNodeArray(cbNodes, nodes) {
|
||||
if (nodes) {
|
||||
return cbNodes(nodes);
|
||||
}
|
||||
}
|
||||
function visitEachNode(cbNode, nodes) {
|
||||
if (nodes) {
|
||||
for (var i = 0, len = nodes.length; i < len; i++) {
|
||||
var result = cbNode(nodes[i]);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
function forEachChild(node, cbNode, cbNodeArray) {
|
||||
if (!node) {
|
||||
return;
|
||||
}
|
||||
var visitNodes = cbNodeArray ? visitNodeArray : visitEachNode;
|
||||
var cbNodes = cbNodeArray || cbNode;
|
||||
switch (node.kind) {
|
||||
case 121 /* QualifiedName */:
|
||||
return child(node.left) || child(node.right);
|
||||
return visitNode(cbNode, node.left) || visitNode(cbNode, node.right);
|
||||
case 123 /* TypeParameter */:
|
||||
return child(node.name) || child(node.constraint) || child(node.expression);
|
||||
return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.expression);
|
||||
case 124 /* Parameter */:
|
||||
case 126 /* PropertyDeclaration */:
|
||||
case 125 /* PropertySignature */:
|
||||
@@ -3773,13 +3787,13 @@ var ts;
|
||||
case 205 /* ShorthandPropertyAssignment */:
|
||||
case 188 /* VariableDeclaration */:
|
||||
case 146 /* BindingElement */:
|
||||
return children(node.modifiers) || child(node.propertyName) || child(node.dotDotDotToken) || child(node.name) || child(node.questionToken) || child(node.type) || child(node.initializer);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer);
|
||||
case 136 /* FunctionType */:
|
||||
case 137 /* ConstructorType */:
|
||||
case 132 /* CallSignature */:
|
||||
case 133 /* ConstructSignature */:
|
||||
case 134 /* IndexSignature */:
|
||||
return children(node.modifiers) || children(node.typeParameters) || children(node.parameters) || child(node.type);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.parameters) || visitNode(cbNode, node.type);
|
||||
case 128 /* MethodDeclaration */:
|
||||
case 127 /* MethodSignature */:
|
||||
case 129 /* Constructor */:
|
||||
@@ -3788,127 +3802,127 @@ var ts;
|
||||
case 156 /* FunctionExpression */:
|
||||
case 190 /* FunctionDeclaration */:
|
||||
case 157 /* ArrowFunction */:
|
||||
return children(node.modifiers) || child(node.asteriskToken) || child(node.name) || child(node.questionToken) || children(node.typeParameters) || children(node.parameters) || child(node.type) || child(node.body);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.parameters) || visitNode(cbNode, node.type) || visitNode(cbNode, node.body);
|
||||
case 135 /* TypeReference */:
|
||||
return child(node.typeName) || children(node.typeArguments);
|
||||
return visitNode(cbNode, node.typeName) || visitNodes(cbNodes, node.typeArguments);
|
||||
case 138 /* TypeQuery */:
|
||||
return child(node.exprName);
|
||||
return visitNode(cbNode, node.exprName);
|
||||
case 139 /* TypeLiteral */:
|
||||
return children(node.members);
|
||||
return visitNodes(cbNodes, node.members);
|
||||
case 140 /* ArrayType */:
|
||||
return child(node.elementType);
|
||||
return visitNode(cbNode, node.elementType);
|
||||
case 141 /* TupleType */:
|
||||
return children(node.elementTypes);
|
||||
return visitNodes(cbNodes, node.elementTypes);
|
||||
case 142 /* UnionType */:
|
||||
return children(node.types);
|
||||
return visitNodes(cbNodes, node.types);
|
||||
case 143 /* ParenthesizedType */:
|
||||
return child(node.type);
|
||||
return visitNode(cbNode, node.type);
|
||||
case 144 /* ObjectBindingPattern */:
|
||||
case 145 /* ArrayBindingPattern */:
|
||||
return children(node.elements);
|
||||
return visitNodes(cbNodes, node.elements);
|
||||
case 147 /* ArrayLiteralExpression */:
|
||||
return children(node.elements);
|
||||
return visitNodes(cbNodes, node.elements);
|
||||
case 148 /* ObjectLiteralExpression */:
|
||||
return children(node.properties);
|
||||
return visitNodes(cbNodes, node.properties);
|
||||
case 149 /* PropertyAccessExpression */:
|
||||
return child(node.expression) || child(node.name);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.name);
|
||||
case 150 /* ElementAccessExpression */:
|
||||
return child(node.expression) || child(node.argumentExpression);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.argumentExpression);
|
||||
case 151 /* CallExpression */:
|
||||
case 152 /* NewExpression */:
|
||||
return child(node.expression) || children(node.typeArguments) || children(node.arguments);
|
||||
return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.typeArguments) || visitNodes(cbNodes, node.arguments);
|
||||
case 153 /* TaggedTemplateExpression */:
|
||||
return child(node.tag) || child(node.template);
|
||||
return visitNode(cbNode, node.tag) || visitNode(cbNode, node.template);
|
||||
case 154 /* TypeAssertionExpression */:
|
||||
return child(node.type) || child(node.expression);
|
||||
return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression);
|
||||
case 155 /* ParenthesizedExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 158 /* DeleteExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 159 /* TypeOfExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 160 /* VoidExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 161 /* PrefixUnaryExpression */:
|
||||
return child(node.operand);
|
||||
return visitNode(cbNode, node.operand);
|
||||
case 166 /* YieldExpression */:
|
||||
return child(node.asteriskToken) || child(node.expression);
|
||||
return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression);
|
||||
case 162 /* PostfixUnaryExpression */:
|
||||
return child(node.operand);
|
||||
return visitNode(cbNode, node.operand);
|
||||
case 163 /* BinaryExpression */:
|
||||
return child(node.left) || child(node.right);
|
||||
return visitNode(cbNode, node.left) || visitNode(cbNode, node.right);
|
||||
case 164 /* ConditionalExpression */:
|
||||
return child(node.condition) || child(node.whenTrue) || child(node.whenFalse);
|
||||
return visitNode(cbNode, node.condition) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.whenFalse);
|
||||
case 167 /* SpreadElementExpression */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 170 /* Block */:
|
||||
case 196 /* ModuleBlock */:
|
||||
return children(node.statements);
|
||||
return visitNodes(cbNodes, node.statements);
|
||||
case 207 /* SourceFile */:
|
||||
return children(node.statements) || child(node.endOfFileToken);
|
||||
return visitNodes(cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken);
|
||||
case 171 /* VariableStatement */:
|
||||
return children(node.modifiers) || child(node.declarationList);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList);
|
||||
case 189 /* VariableDeclarationList */:
|
||||
return children(node.declarations);
|
||||
return visitNodes(cbNodes, node.declarations);
|
||||
case 173 /* ExpressionStatement */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 174 /* IfStatement */:
|
||||
return child(node.expression) || child(node.thenStatement) || child(node.elseStatement);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement);
|
||||
case 175 /* DoStatement */:
|
||||
return child(node.statement) || child(node.expression);
|
||||
return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression);
|
||||
case 176 /* WhileStatement */:
|
||||
return child(node.expression) || child(node.statement);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement);
|
||||
case 177 /* ForStatement */:
|
||||
return child(node.initializer) || child(node.condition) || child(node.iterator) || child(node.statement);
|
||||
return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.iterator) || visitNode(cbNode, node.statement);
|
||||
case 178 /* ForInStatement */:
|
||||
return child(node.initializer) || child(node.expression) || child(node.statement);
|
||||
return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement);
|
||||
case 179 /* ContinueStatement */:
|
||||
case 180 /* BreakStatement */:
|
||||
return child(node.label);
|
||||
return visitNode(cbNode, node.label);
|
||||
case 181 /* ReturnStatement */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 182 /* WithStatement */:
|
||||
return child(node.expression) || child(node.statement);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement);
|
||||
case 183 /* SwitchStatement */:
|
||||
return child(node.expression) || children(node.clauses);
|
||||
return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.clauses);
|
||||
case 200 /* CaseClause */:
|
||||
return child(node.expression) || children(node.statements);
|
||||
return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.statements);
|
||||
case 201 /* DefaultClause */:
|
||||
return children(node.statements);
|
||||
return visitNodes(cbNodes, node.statements);
|
||||
case 184 /* LabeledStatement */:
|
||||
return child(node.label) || child(node.statement);
|
||||
return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement);
|
||||
case 185 /* ThrowStatement */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 186 /* TryStatement */:
|
||||
return child(node.tryBlock) || child(node.catchClause) || child(node.finallyBlock);
|
||||
return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock);
|
||||
case 203 /* CatchClause */:
|
||||
return child(node.name) || child(node.type) || child(node.block);
|
||||
return visitNode(cbNode, node.name) || visitNode(cbNode, node.type) || visitNode(cbNode, node.block);
|
||||
case 191 /* ClassDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || children(node.typeParameters) || children(node.heritageClauses) || children(node.members);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.heritageClauses) || visitNodes(cbNodes, node.members);
|
||||
case 192 /* InterfaceDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || children(node.typeParameters) || children(node.heritageClauses) || children(node.members);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.heritageClauses) || visitNodes(cbNodes, node.members);
|
||||
case 193 /* TypeAliasDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || child(node.type);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.type);
|
||||
case 194 /* EnumDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || children(node.members);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.members);
|
||||
case 206 /* EnumMember */:
|
||||
return child(node.name) || child(node.initializer);
|
||||
return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer);
|
||||
case 195 /* ModuleDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || child(node.body);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body);
|
||||
case 197 /* ImportDeclaration */:
|
||||
return children(node.modifiers) || child(node.name) || child(node.moduleReference);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference);
|
||||
case 198 /* ExportAssignment */:
|
||||
return children(node.modifiers) || child(node.exportName);
|
||||
return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.exportName);
|
||||
case 165 /* TemplateExpression */:
|
||||
return child(node.head) || children(node.templateSpans);
|
||||
return visitNode(cbNode, node.head) || visitNodes(cbNodes, node.templateSpans);
|
||||
case 169 /* TemplateSpan */:
|
||||
return child(node.expression) || child(node.literal);
|
||||
return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal);
|
||||
case 122 /* ComputedPropertyName */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
case 202 /* HeritageClause */:
|
||||
return children(node.types);
|
||||
return visitNodes(cbNodes, node.types);
|
||||
case 199 /* ExternalModuleReference */:
|
||||
return child(node.expression);
|
||||
return visitNode(cbNode, node.expression);
|
||||
}
|
||||
}
|
||||
ts.forEachChild = forEachChild;
|
||||
@@ -8578,7 +8592,6 @@ var ts;
|
||||
case 134 /* IndexSignature */:
|
||||
case 124 /* Parameter */:
|
||||
case 196 /* ModuleBlock */:
|
||||
case 123 /* TypeParameter */:
|
||||
case 136 /* FunctionType */:
|
||||
case 137 /* ConstructorType */:
|
||||
case 139 /* TypeLiteral */:
|
||||
@@ -8588,6 +8601,7 @@ var ts;
|
||||
case 142 /* UnionType */:
|
||||
case 143 /* ParenthesizedType */:
|
||||
return isDeclarationVisible(node.parent);
|
||||
case 123 /* TypeParameter */:
|
||||
case 207 /* SourceFile */:
|
||||
return true;
|
||||
default:
|
||||
@@ -10343,9 +10357,7 @@ var ts;
|
||||
if (result) {
|
||||
var maybeCache = maybeStack[depth];
|
||||
var destinationCache = result === -1 /* True */ || depth === 0 ? relation : maybeStack[depth - 1];
|
||||
for (var p in maybeCache) {
|
||||
destinationCache[p] = maybeCache[p];
|
||||
}
|
||||
ts.copyMap(maybeCache, destinationCache);
|
||||
}
|
||||
else {
|
||||
relation[id] = false;
|
||||
@@ -11164,7 +11176,7 @@ var ts;
|
||||
}
|
||||
function getNarrowedTypeOfSymbol(symbol, node) {
|
||||
var type = getTypeOfSymbol(symbol);
|
||||
if (node && symbol.flags & 3 /* Variable */ && type.flags & (48128 /* ObjectType */ | 16384 /* Union */ | 512 /* TypeParameter */)) {
|
||||
if (node && symbol.flags & 3 /* Variable */ && type.flags & (1 /* Any */ | 48128 /* ObjectType */ | 16384 /* Union */ | 512 /* TypeParameter */)) {
|
||||
loop: while (node.parent) {
|
||||
var child = node;
|
||||
node = node.parent;
|
||||
@@ -11253,7 +11265,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function narrowTypeByInstanceof(type, expr, assumeTrue) {
|
||||
if (!assumeTrue || expr.left.kind !== 64 /* Identifier */ || getResolvedSymbol(expr.left) !== symbol) {
|
||||
if (type.flags & 1 /* Any */ || !assumeTrue || expr.left.kind !== 64 /* Identifier */ || getResolvedSymbol(expr.left) !== symbol) {
|
||||
return type;
|
||||
}
|
||||
var rightType = checkExpression(expr.right);
|
||||
@@ -14387,7 +14399,7 @@ var ts;
|
||||
checkCollisionWithRequireExportsInGeneratedCode(node, node.name);
|
||||
checkExportsOnMergedDeclarations(node);
|
||||
var symbol = getSymbolOfNode(node);
|
||||
if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !ts.isInAmbientContext(node)) {
|
||||
if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !ts.isInAmbientContext(node) && ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums)) {
|
||||
var classOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol);
|
||||
if (classOrFunc) {
|
||||
if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(classOrFunc)) {
|
||||
@@ -17492,19 +17504,30 @@ var ts;
|
||||
if (emitOuterParens) {
|
||||
write("(");
|
||||
}
|
||||
emitLiteral(node.head);
|
||||
ts.forEach(node.templateSpans, function (templateSpan) {
|
||||
var headEmitted = false;
|
||||
if (shouldEmitTemplateHead()) {
|
||||
emitLiteral(node.head);
|
||||
headEmitted = true;
|
||||
}
|
||||
for (var i = 0; i < node.templateSpans.length; i++) {
|
||||
var templateSpan = node.templateSpans[i];
|
||||
var needsParens = templateSpan.expression.kind !== 155 /* ParenthesizedExpression */ && comparePrecedenceToBinaryPlus(templateSpan.expression) !== 1 /* GreaterThan */;
|
||||
write(" + ");
|
||||
if (i > 0 || headEmitted) {
|
||||
write(" + ");
|
||||
}
|
||||
emitParenthesized(templateSpan.expression, needsParens);
|
||||
if (templateSpan.literal.text.length !== 0) {
|
||||
write(" + ");
|
||||
emitLiteral(templateSpan.literal);
|
||||
}
|
||||
});
|
||||
}
|
||||
if (emitOuterParens) {
|
||||
write(")");
|
||||
}
|
||||
function shouldEmitTemplateHead() {
|
||||
ts.Debug.assert(node.templateSpans.length !== 0);
|
||||
return node.head.text.length !== 0 || node.templateSpans[0].literal.text.length === 0;
|
||||
}
|
||||
function templateNeedsParens(template, parent) {
|
||||
switch (parent.kind) {
|
||||
case 151 /* CallExpression */:
|
||||
@@ -17528,6 +17551,7 @@ var ts;
|
||||
case 37 /* PercentToken */:
|
||||
return 1 /* GreaterThan */;
|
||||
case 33 /* PlusToken */:
|
||||
case 34 /* MinusToken */:
|
||||
return 0 /* EqualTo */;
|
||||
default:
|
||||
return -1 /* LessThan */;
|
||||
@@ -18911,7 +18935,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
function emitModuleDeclaration(node) {
|
||||
var shouldEmit = ts.getModuleInstanceState(node) === 1 /* Instantiated */ || (ts.getModuleInstanceState(node) === 2 /* ConstEnumOnly */ && compilerOptions.preserveConstEnums);
|
||||
var shouldEmit = ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums);
|
||||
if (!shouldEmit) {
|
||||
return emitPinnedOrTripleSlashComments(node);
|
||||
}
|
||||
@@ -19631,7 +19655,10 @@ var ts;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!(findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) || findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd))) {
|
||||
if (options.allowNonTsExtensions && !findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) {
|
||||
diagnostic = ts.Diagnostics.File_0_not_found;
|
||||
}
|
||||
else if (!findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) && !findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd)) {
|
||||
diagnostic = ts.Diagnostics.File_0_not_found;
|
||||
filename += ".ts";
|
||||
}
|
||||
@@ -19802,6 +19829,249 @@ var ts;
|
||||
ts.createProgram = createProgram;
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
ts.optionDeclarations = [
|
||||
{
|
||||
name: "charset",
|
||||
type: "string"
|
||||
},
|
||||
{
|
||||
name: "codepage",
|
||||
type: "number"
|
||||
},
|
||||
{
|
||||
name: "declaration",
|
||||
shortName: "d",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Generates_corresponding_d_ts_file
|
||||
},
|
||||
{
|
||||
name: "diagnostics",
|
||||
type: "boolean"
|
||||
},
|
||||
{
|
||||
name: "emitBOM",
|
||||
type: "boolean"
|
||||
},
|
||||
{
|
||||
name: "help",
|
||||
shortName: "h",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Print_this_message
|
||||
},
|
||||
{
|
||||
name: "locale",
|
||||
type: "string"
|
||||
},
|
||||
{
|
||||
name: "mapRoot",
|
||||
type: "string",
|
||||
description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations,
|
||||
paramType: ts.Diagnostics.LOCATION
|
||||
},
|
||||
{
|
||||
name: "module",
|
||||
shortName: "m",
|
||||
type: {
|
||||
"commonjs": 1 /* CommonJS */,
|
||||
"amd": 2 /* AMD */
|
||||
},
|
||||
description: ts.Diagnostics.Specify_module_code_generation_Colon_commonjs_or_amd,
|
||||
paramType: ts.Diagnostics.KIND,
|
||||
error: ts.Diagnostics.Argument_for_module_option_must_be_commonjs_or_amd
|
||||
},
|
||||
{
|
||||
name: "noEmit",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Do_not_emit_outputs
|
||||
},
|
||||
{
|
||||
name: "noEmitOnError",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Do_not_emit_outputs_if_any_type_checking_errors_were_reported
|
||||
},
|
||||
{
|
||||
name: "noImplicitAny",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type
|
||||
},
|
||||
{
|
||||
name: "noLib",
|
||||
type: "boolean"
|
||||
},
|
||||
{
|
||||
name: "noLibCheck",
|
||||
type: "boolean"
|
||||
},
|
||||
{
|
||||
name: "noResolve",
|
||||
type: "boolean"
|
||||
},
|
||||
{
|
||||
name: "out",
|
||||
type: "string",
|
||||
description: ts.Diagnostics.Concatenate_and_emit_output_to_single_file,
|
||||
paramType: ts.Diagnostics.FILE
|
||||
},
|
||||
{
|
||||
name: "outDir",
|
||||
type: "string",
|
||||
description: ts.Diagnostics.Redirect_output_structure_to_the_directory,
|
||||
paramType: ts.Diagnostics.DIRECTORY
|
||||
},
|
||||
{
|
||||
name: "preserveConstEnums",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code
|
||||
},
|
||||
{
|
||||
name: "removeComments",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Do_not_emit_comments_to_output
|
||||
},
|
||||
{
|
||||
name: "sourceMap",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Generates_corresponding_map_file
|
||||
},
|
||||
{
|
||||
name: "sourceRoot",
|
||||
type: "string",
|
||||
description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,
|
||||
paramType: ts.Diagnostics.LOCATION
|
||||
},
|
||||
{
|
||||
name: "suppressImplicitAnyIndexErrors",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures
|
||||
},
|
||||
{
|
||||
name: "target",
|
||||
shortName: "t",
|
||||
type: { "es3": 0 /* ES3 */, "es5": 1 /* ES5 */, "es6": 2 /* ES6 */ },
|
||||
description: ts.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES6_experimental,
|
||||
paramType: ts.Diagnostics.VERSION,
|
||||
error: ts.Diagnostics.Argument_for_target_option_must_be_es3_es5_or_es6
|
||||
},
|
||||
{
|
||||
name: "version",
|
||||
shortName: "v",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Print_the_compiler_s_version
|
||||
},
|
||||
{
|
||||
name: "watch",
|
||||
shortName: "w",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Watch_input_files
|
||||
}
|
||||
];
|
||||
var shortOptionNames = {};
|
||||
var optionNameMap = {};
|
||||
ts.forEach(ts.optionDeclarations, function (option) {
|
||||
optionNameMap[option.name.toLowerCase()] = option;
|
||||
if (option.shortName) {
|
||||
shortOptionNames[option.shortName] = option.name;
|
||||
}
|
||||
});
|
||||
function parseCommandLine(commandLine) {
|
||||
var options = {
|
||||
target: 0 /* ES3 */,
|
||||
module: 0 /* None */
|
||||
};
|
||||
var filenames = [];
|
||||
var errors = [];
|
||||
parseStrings(commandLine);
|
||||
return {
|
||||
options: options,
|
||||
filenames: filenames,
|
||||
errors: errors
|
||||
};
|
||||
function parseStrings(args) {
|
||||
var i = 0;
|
||||
while (i < args.length) {
|
||||
var s = args[i++];
|
||||
if (s.charCodeAt(0) === 64 /* at */) {
|
||||
parseResponseFile(s.slice(1));
|
||||
}
|
||||
else if (s.charCodeAt(0) === 45 /* minus */) {
|
||||
s = s.slice(s.charCodeAt(1) === 45 /* minus */ ? 2 : 1).toLowerCase();
|
||||
if (ts.hasProperty(shortOptionNames, s)) {
|
||||
s = shortOptionNames[s];
|
||||
}
|
||||
if (ts.hasProperty(optionNameMap, s)) {
|
||||
var opt = optionNameMap[s];
|
||||
if (!args[i] && opt.type !== "boolean") {
|
||||
errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Compiler_option_0_expects_an_argument, opt.name));
|
||||
}
|
||||
switch (opt.type) {
|
||||
case "number":
|
||||
options[opt.name] = parseInt(args[i++]);
|
||||
break;
|
||||
case "boolean":
|
||||
options[opt.name] = true;
|
||||
break;
|
||||
case "string":
|
||||
options[opt.name] = args[i++] || "";
|
||||
break;
|
||||
default:
|
||||
var map = opt.type;
|
||||
var key = (args[i++] || "").toLowerCase();
|
||||
if (ts.hasProperty(map, key)) {
|
||||
options[opt.name] = map[key];
|
||||
}
|
||||
else {
|
||||
errors.push(ts.createCompilerDiagnostic(opt.error));
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unknown_compiler_option_0, s));
|
||||
}
|
||||
}
|
||||
else {
|
||||
filenames.push(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
function parseResponseFile(filename) {
|
||||
var text = ts.sys.readFile(filename);
|
||||
if (!text) {
|
||||
errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, filename));
|
||||
return;
|
||||
}
|
||||
var args = [];
|
||||
var pos = 0;
|
||||
while (true) {
|
||||
while (pos < text.length && text.charCodeAt(pos) <= 32 /* space */)
|
||||
pos++;
|
||||
if (pos >= text.length)
|
||||
break;
|
||||
var start = pos;
|
||||
if (text.charCodeAt(start) === 34 /* doubleQuote */) {
|
||||
pos++;
|
||||
while (pos < text.length && text.charCodeAt(pos) !== 34 /* doubleQuote */)
|
||||
pos++;
|
||||
if (pos < text.length) {
|
||||
args.push(text.substring(start + 1, pos));
|
||||
pos++;
|
||||
}
|
||||
else {
|
||||
errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unterminated_quoted_string_in_response_file_0, filename));
|
||||
}
|
||||
}
|
||||
else {
|
||||
while (text.charCodeAt(pos) > 32 /* space */)
|
||||
pos++;
|
||||
args.push(text.substring(start, pos));
|
||||
}
|
||||
}
|
||||
parseStrings(args);
|
||||
}
|
||||
}
|
||||
ts.parseCommandLine = parseCommandLine;
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
var OutliningElementsCollector;
|
||||
(function (OutliningElementsCollector) {
|
||||
|
||||
Vendored
+14
@@ -48,6 +48,7 @@ declare module ts {
|
||||
function forEachKey<T, U>(map: Map<T>, callback: (key: string) => U): U;
|
||||
function lookUp<T>(map: Map<T>, key: string): T;
|
||||
function mapToArray<T>(map: Map<T>): T[];
|
||||
function copyMap<T>(source: Map<T>, target: Map<T>): void;
|
||||
/**
|
||||
* Creates a map from the elements of an array.
|
||||
*
|
||||
@@ -142,6 +143,14 @@ declare module ts {
|
||||
interface StringSymbolWriter extends SymbolWriter {
|
||||
string(): string;
|
||||
}
|
||||
interface EmitHost extends ScriptReferenceHost {
|
||||
getSourceFiles(): SourceFile[];
|
||||
isEmitBlocked(sourceFile?: SourceFile): boolean;
|
||||
getCommonSourceDirectory(): string;
|
||||
getCanonicalFileName(fileName: string): string;
|
||||
getNewLine(): string;
|
||||
writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void;
|
||||
}
|
||||
function getSingleLineStringWriter(): StringSymbolWriter;
|
||||
function releaseStringWriter(writer: StringSymbolWriter): void;
|
||||
function getFullWidth(node: Node): number;
|
||||
@@ -180,6 +189,7 @@ declare module ts {
|
||||
function getSuperContainer(node: Node): Node;
|
||||
function getInvokedExpression(node: CallLikeExpression): Expression;
|
||||
function isExpression(node: Node): boolean;
|
||||
function isInstantiatedModule(node: ModuleDeclaration, preserveConstEnums: boolean): boolean;
|
||||
function isExternalModuleImportDeclaration(node: Node): boolean;
|
||||
function getExternalModuleImportDeclarationExpression(node: Node): Expression;
|
||||
function isInternalModuleImportDeclaration(node: Node): boolean;
|
||||
@@ -231,6 +241,10 @@ declare module ts {
|
||||
*/
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange;
|
||||
}
|
||||
declare module ts {
|
||||
var optionDeclarations: CommandLineOption[];
|
||||
function parseCommandLine(commandLine: string[]): ParsedCommandLine;
|
||||
}
|
||||
declare module ts {
|
||||
interface ListItemInfo {
|
||||
listItemIndex: number;
|
||||
|
||||
Vendored
+14
@@ -48,6 +48,7 @@ declare module "typescript" {
|
||||
function forEachKey<T, U>(map: Map<T>, callback: (key: string) => U): U;
|
||||
function lookUp<T>(map: Map<T>, key: string): T;
|
||||
function mapToArray<T>(map: Map<T>): T[];
|
||||
function copyMap<T>(source: Map<T>, target: Map<T>): void;
|
||||
/**
|
||||
* Creates a map from the elements of an array.
|
||||
*
|
||||
@@ -142,6 +143,14 @@ declare module "typescript" {
|
||||
interface StringSymbolWriter extends SymbolWriter {
|
||||
string(): string;
|
||||
}
|
||||
interface EmitHost extends ScriptReferenceHost {
|
||||
getSourceFiles(): SourceFile[];
|
||||
isEmitBlocked(sourceFile?: SourceFile): boolean;
|
||||
getCommonSourceDirectory(): string;
|
||||
getCanonicalFileName(fileName: string): string;
|
||||
getNewLine(): string;
|
||||
writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void;
|
||||
}
|
||||
function getSingleLineStringWriter(): StringSymbolWriter;
|
||||
function releaseStringWriter(writer: StringSymbolWriter): void;
|
||||
function getFullWidth(node: Node): number;
|
||||
@@ -180,6 +189,7 @@ declare module "typescript" {
|
||||
function getSuperContainer(node: Node): Node;
|
||||
function getInvokedExpression(node: CallLikeExpression): Expression;
|
||||
function isExpression(node: Node): boolean;
|
||||
function isInstantiatedModule(node: ModuleDeclaration, preserveConstEnums: boolean): boolean;
|
||||
function isExternalModuleImportDeclaration(node: Node): boolean;
|
||||
function getExternalModuleImportDeclarationExpression(node: Node): Expression;
|
||||
function isInternalModuleImportDeclaration(node: Node): boolean;
|
||||
@@ -231,6 +241,10 @@ declare module "typescript" {
|
||||
*/
|
||||
function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange;
|
||||
}
|
||||
declare module "typescript" {
|
||||
var optionDeclarations: CommandLineOption[];
|
||||
function parseCommandLine(commandLine: string[]): ParsedCommandLine;
|
||||
}
|
||||
declare module "typescript" {
|
||||
interface ListItemInfo {
|
||||
listItemIndex: number;
|
||||
|
||||
Reference in New Issue
Block a user