mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-14 16:56:06 -05:00
Update LKG.
This commit is contained in:
51
lib/tsc.js
51
lib/tsc.js
@@ -15554,7 +15554,7 @@ var ts;
|
||||
}
|
||||
function parseLeftHandSideExpressionOrHigher() {
|
||||
var expression;
|
||||
if (token() === 91) {
|
||||
if (token() === 91 && lookAhead(nextTokenIsOpenParenOrLessThan)) {
|
||||
sourceFile.flags |= 524288;
|
||||
expression = parseTokenNode();
|
||||
}
|
||||
@@ -18760,7 +18760,20 @@ var ts;
|
||||
ts.forEachChild(node, bind, bindEach);
|
||||
}
|
||||
function bindChildrenWorker(node) {
|
||||
ts.forEach(node.jsDoc, bind);
|
||||
if (node.jsDoc) {
|
||||
if (ts.isInJavaScriptFile(node)) {
|
||||
for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) {
|
||||
var j = _a[_i];
|
||||
bind(j);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (var _b = 0, _c = node.jsDoc; _b < _c.length; _b++) {
|
||||
var j = _c[_b];
|
||||
setParentPointers(node, j);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (checkUnreachable(node)) {
|
||||
bindEachChild(node);
|
||||
return;
|
||||
@@ -19805,7 +19818,8 @@ var ts;
|
||||
}
|
||||
node.parent = parent;
|
||||
var saveInStrictMode = inStrictMode;
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
bindWorker(node);
|
||||
if (node.kind > 142) {
|
||||
var saveParent = parent;
|
||||
@@ -19865,7 +19879,7 @@ var ts;
|
||||
function bindWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 71:
|
||||
if (ts.isInJavaScriptFile(node) && node.isInJSDocNamespace) {
|
||||
if (node.isInJSDocNamespace) {
|
||||
var parentNode = node.parent;
|
||||
while (parentNode && parentNode.kind !== 291) {
|
||||
parentNode = parentNode.parent;
|
||||
@@ -19925,10 +19939,7 @@ var ts;
|
||||
case 158:
|
||||
return checkTypePredicate(node);
|
||||
case 145:
|
||||
if (node.parent.kind !== 290 || ts.isInJavaScriptFile(node)) {
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144, 530920);
|
||||
}
|
||||
return;
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144, 530920);
|
||||
case 146:
|
||||
return bindParameter(node);
|
||||
case 226:
|
||||
@@ -19999,10 +20010,7 @@ var ts;
|
||||
case 232:
|
||||
return bindEnumDeclaration(node);
|
||||
case 233:
|
||||
if (node.parent.kind !== 291 || ts.isInJavaScriptFile(node)) {
|
||||
return bindModuleDeclaration(node);
|
||||
}
|
||||
return undefined;
|
||||
return bindModuleDeclaration(node);
|
||||
case 254:
|
||||
return bindJsxAttributes(node);
|
||||
case 253:
|
||||
@@ -20029,13 +20037,6 @@ var ts;
|
||||
}
|
||||
case 234:
|
||||
return updateStrictModeStatementList(node.statements);
|
||||
default:
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
return bindJSDocWorker(node);
|
||||
}
|
||||
}
|
||||
function bindJSDocWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 276:
|
||||
return bindPropertyWorker(node);
|
||||
case 292:
|
||||
@@ -21021,6 +21022,10 @@ var ts;
|
||||
}
|
||||
}
|
||||
ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions;
|
||||
function setParentPointers(parent, child) {
|
||||
child.parent = parent;
|
||||
ts.forEachChild(child, function (childsChild) { return setParentPointers(child, childsChild); });
|
||||
}
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
@@ -22632,8 +22637,9 @@ var ts;
|
||||
error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), typeof nameArg === "string" ? nameArg : ts.declarationNameToString(nameArg));
|
||||
return undefined;
|
||||
}
|
||||
if (meaning & 2 ||
|
||||
((meaning & 32 || meaning & 384) && (meaning & 107455) === 107455)) {
|
||||
if (errorLocation &&
|
||||
(meaning & 2 ||
|
||||
((meaning & 32 || meaning & 384) && (meaning & 107455) === 107455))) {
|
||||
var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result);
|
||||
if (exportOrLocalSymbol.flags & 2 || exportOrLocalSymbol.flags & 32 || exportOrLocalSymbol.flags & 384) {
|
||||
checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation);
|
||||
@@ -55596,6 +55602,9 @@ var ts;
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.moduleAugmentations, newSourceFile.moduleAugmentations, moduleNameIsEqualTo)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
if ((oldSourceFile.flags & 524288) !== (newSourceFile.flags & 524288)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
|
||||
@@ -17391,7 +17391,7 @@ var ts;
|
||||
}
|
||||
function parseLeftHandSideExpressionOrHigher() {
|
||||
var expression;
|
||||
if (token() === 91) {
|
||||
if (token() === 91 && lookAhead(nextTokenIsOpenParenOrLessThan)) {
|
||||
sourceFile.flags |= 524288;
|
||||
expression = parseTokenNode();
|
||||
}
|
||||
@@ -20662,7 +20662,20 @@ var ts;
|
||||
ts.forEachChild(node, bind, bindEach);
|
||||
}
|
||||
function bindChildrenWorker(node) {
|
||||
ts.forEach(node.jsDoc, bind);
|
||||
if (node.jsDoc) {
|
||||
if (ts.isInJavaScriptFile(node)) {
|
||||
for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) {
|
||||
var j = _a[_i];
|
||||
bind(j);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (var _b = 0, _c = node.jsDoc; _b < _c.length; _b++) {
|
||||
var j = _c[_b];
|
||||
setParentPointers(node, j);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (checkUnreachable(node)) {
|
||||
bindEachChild(node);
|
||||
return;
|
||||
@@ -21712,7 +21725,8 @@ var ts;
|
||||
}
|
||||
node.parent = parent;
|
||||
var saveInStrictMode = inStrictMode;
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
bindWorker(node);
|
||||
if (node.kind > 142) {
|
||||
var saveParent = parent;
|
||||
@@ -21772,7 +21786,7 @@ var ts;
|
||||
function bindWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 71:
|
||||
if (ts.isInJavaScriptFile(node) && node.isInJSDocNamespace) {
|
||||
if (node.isInJSDocNamespace) {
|
||||
var parentNode = node.parent;
|
||||
while (parentNode && parentNode.kind !== 291) {
|
||||
parentNode = parentNode.parent;
|
||||
@@ -21832,10 +21846,7 @@ var ts;
|
||||
case 158:
|
||||
return checkTypePredicate(node);
|
||||
case 145:
|
||||
if (node.parent.kind !== 290 || ts.isInJavaScriptFile(node)) {
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144, 530920);
|
||||
}
|
||||
return;
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144, 530920);
|
||||
case 146:
|
||||
return bindParameter(node);
|
||||
case 226:
|
||||
@@ -21906,10 +21917,7 @@ var ts;
|
||||
case 232:
|
||||
return bindEnumDeclaration(node);
|
||||
case 233:
|
||||
if (node.parent.kind !== 291 || ts.isInJavaScriptFile(node)) {
|
||||
return bindModuleDeclaration(node);
|
||||
}
|
||||
return undefined;
|
||||
return bindModuleDeclaration(node);
|
||||
case 254:
|
||||
return bindJsxAttributes(node);
|
||||
case 253:
|
||||
@@ -21936,13 +21944,6 @@ var ts;
|
||||
}
|
||||
case 234:
|
||||
return updateStrictModeStatementList(node.statements);
|
||||
default:
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
return bindJSDocWorker(node);
|
||||
}
|
||||
}
|
||||
function bindJSDocWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 276:
|
||||
return bindPropertyWorker(node);
|
||||
case 292:
|
||||
@@ -22928,6 +22929,10 @@ var ts;
|
||||
}
|
||||
}
|
||||
ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions;
|
||||
function setParentPointers(parent, child) {
|
||||
child.parent = parent;
|
||||
ts.forEachChild(child, function (childsChild) { return setParentPointers(child, childsChild); });
|
||||
}
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
@@ -23826,8 +23831,9 @@ var ts;
|
||||
error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), typeof nameArg === "string" ? nameArg : ts.declarationNameToString(nameArg));
|
||||
return undefined;
|
||||
}
|
||||
if (meaning & 2 ||
|
||||
((meaning & 32 || meaning & 384) && (meaning & 107455) === 107455)) {
|
||||
if (errorLocation &&
|
||||
(meaning & 2 ||
|
||||
((meaning & 32 || meaning & 384) && (meaning & 107455) === 107455))) {
|
||||
var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result);
|
||||
if (exportOrLocalSymbol.flags & 2 || exportOrLocalSymbol.flags & 32 || exportOrLocalSymbol.flags & 384) {
|
||||
checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation);
|
||||
@@ -57028,6 +57034,9 @@ var ts;
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.moduleAugmentations, newSourceFile.moduleAugmentations, moduleNameIsEqualTo)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
if ((oldSourceFile.flags & 524288) !== (newSourceFile.flags & 524288)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
|
||||
@@ -18788,7 +18788,7 @@ var ts;
|
||||
}
|
||||
function parseLeftHandSideExpressionOrHigher() {
|
||||
var expression;
|
||||
if (token() === 91) {
|
||||
if (token() === 91 && lookAhead(nextTokenIsOpenParenOrLessThan)) {
|
||||
sourceFile.flags |= 524288;
|
||||
expression = parseTokenNode();
|
||||
}
|
||||
@@ -22059,7 +22059,20 @@ var ts;
|
||||
ts.forEachChild(node, bind, bindEach);
|
||||
}
|
||||
function bindChildrenWorker(node) {
|
||||
ts.forEach(node.jsDoc, bind);
|
||||
if (node.jsDoc) {
|
||||
if (ts.isInJavaScriptFile(node)) {
|
||||
for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) {
|
||||
var j = _a[_i];
|
||||
bind(j);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (var _b = 0, _c = node.jsDoc; _b < _c.length; _b++) {
|
||||
var j = _c[_b];
|
||||
setParentPointers(node, j);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (checkUnreachable(node)) {
|
||||
bindEachChild(node);
|
||||
return;
|
||||
@@ -23109,7 +23122,8 @@ var ts;
|
||||
}
|
||||
node.parent = parent;
|
||||
var saveInStrictMode = inStrictMode;
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
bindWorker(node);
|
||||
if (node.kind > 142) {
|
||||
var saveParent = parent;
|
||||
@@ -23169,7 +23183,7 @@ var ts;
|
||||
function bindWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 71:
|
||||
if (ts.isInJavaScriptFile(node) && node.isInJSDocNamespace) {
|
||||
if (node.isInJSDocNamespace) {
|
||||
var parentNode = node.parent;
|
||||
while (parentNode && parentNode.kind !== 291) {
|
||||
parentNode = parentNode.parent;
|
||||
@@ -23229,10 +23243,7 @@ var ts;
|
||||
case 158:
|
||||
return checkTypePredicate(node);
|
||||
case 145:
|
||||
if (node.parent.kind !== 290 || ts.isInJavaScriptFile(node)) {
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144, 530920);
|
||||
}
|
||||
return;
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144, 530920);
|
||||
case 146:
|
||||
return bindParameter(node);
|
||||
case 226:
|
||||
@@ -23303,10 +23314,7 @@ var ts;
|
||||
case 232:
|
||||
return bindEnumDeclaration(node);
|
||||
case 233:
|
||||
if (node.parent.kind !== 291 || ts.isInJavaScriptFile(node)) {
|
||||
return bindModuleDeclaration(node);
|
||||
}
|
||||
return undefined;
|
||||
return bindModuleDeclaration(node);
|
||||
case 254:
|
||||
return bindJsxAttributes(node);
|
||||
case 253:
|
||||
@@ -23333,13 +23341,6 @@ var ts;
|
||||
}
|
||||
case 234:
|
||||
return updateStrictModeStatementList(node.statements);
|
||||
default:
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
return bindJSDocWorker(node);
|
||||
}
|
||||
}
|
||||
function bindJSDocWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 276:
|
||||
return bindPropertyWorker(node);
|
||||
case 292:
|
||||
@@ -24325,6 +24326,10 @@ var ts;
|
||||
}
|
||||
}
|
||||
ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions;
|
||||
function setParentPointers(parent, child) {
|
||||
child.parent = parent;
|
||||
ts.forEachChild(child, function (childsChild) { return setParentPointers(child, childsChild); });
|
||||
}
|
||||
})(ts || (ts = {}));
|
||||
var ts;
|
||||
(function (ts) {
|
||||
@@ -25223,8 +25228,9 @@ var ts;
|
||||
error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), typeof nameArg === "string" ? nameArg : ts.declarationNameToString(nameArg));
|
||||
return undefined;
|
||||
}
|
||||
if (meaning & 2 ||
|
||||
((meaning & 32 || meaning & 384) && (meaning & 107455) === 107455)) {
|
||||
if (errorLocation &&
|
||||
(meaning & 2 ||
|
||||
((meaning & 32 || meaning & 384) && (meaning & 107455) === 107455))) {
|
||||
var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result);
|
||||
if (exportOrLocalSymbol.flags & 2 || exportOrLocalSymbol.flags & 32 || exportOrLocalSymbol.flags & 384) {
|
||||
checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation);
|
||||
@@ -58425,6 +58431,9 @@ var ts;
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.moduleAugmentations, newSourceFile.moduleAugmentations, moduleNameIsEqualTo)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
if ((oldSourceFile.flags & 524288) !== (newSourceFile.flags & 524288)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) {
|
||||
oldProgram.structureIsReused = 1;
|
||||
}
|
||||
|
||||
@@ -19198,7 +19198,7 @@ var ts;
|
||||
// 3)we have a MemberExpression which either completes the LeftHandSideExpression,
|
||||
// or starts the beginning of the first four CallExpression productions.
|
||||
var expression;
|
||||
if (token() === 91 /* ImportKeyword */) {
|
||||
if (token() === 91 /* ImportKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) {
|
||||
// We don't want to eagerly consume all import keyword as import call expression so we look a head to find "("
|
||||
// For example:
|
||||
// var foo3 = require("subfolder
|
||||
@@ -23094,7 +23094,20 @@ var ts;
|
||||
// Binding of JsDocComment should be done before the current block scope container changes.
|
||||
// because the scope of JsDocComment should not be affected by whether the current node is a
|
||||
// container or not.
|
||||
ts.forEach(node.jsDoc, bind);
|
||||
if (node.jsDoc) {
|
||||
if (ts.isInJavaScriptFile(node)) {
|
||||
for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) {
|
||||
var j = _a[_i];
|
||||
bind(j);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (var _b = 0, _c = node.jsDoc; _b < _c.length; _b++) {
|
||||
var j = _c[_b];
|
||||
setParentPointers(node, j);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (checkUnreachable(node)) {
|
||||
bindEachChild(node);
|
||||
return;
|
||||
@@ -24280,7 +24293,8 @@ var ts;
|
||||
// Here the current node is "foo", which is a container, but the scope of "MyType" should
|
||||
// not be inside "foo". Therefore we always bind @typedef before bind the parent node,
|
||||
// and skip binding this tag later when binding all the other jsdoc tags.
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
// First we bind declaration nodes to a symbol if possible. We'll both create a symbol
|
||||
// and then potentially add the symbol to an appropriate symbol table. Possible
|
||||
// destination symbol tables are:
|
||||
@@ -24362,7 +24376,7 @@ var ts;
|
||||
// for typedef type names with namespaces, bind the new jsdoc type symbol here
|
||||
// because it requires all containing namespaces to be in effect, namely the
|
||||
// current "blockScopeContainer" needs to be set to its immediate namespace parent.
|
||||
if (ts.isInJavaScriptFile(node) && node.isInJSDocNamespace) {
|
||||
if (node.isInJSDocNamespace) {
|
||||
var parentNode = node.parent;
|
||||
while (parentNode && parentNode.kind !== 291 /* JSDocTypedefTag */) {
|
||||
parentNode = parentNode.parent;
|
||||
@@ -24424,10 +24438,7 @@ var ts;
|
||||
case 158 /* TypePredicate */:
|
||||
return checkTypePredicate(node);
|
||||
case 145 /* TypeParameter */:
|
||||
if (node.parent.kind !== 290 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node)) {
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 530920 /* TypeParameterExcludes */);
|
||||
}
|
||||
return;
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 530920 /* TypeParameterExcludes */);
|
||||
case 146 /* Parameter */:
|
||||
return bindParameter(node);
|
||||
case 226 /* VariableDeclaration */:
|
||||
@@ -24504,10 +24515,7 @@ var ts;
|
||||
case 232 /* EnumDeclaration */:
|
||||
return bindEnumDeclaration(node);
|
||||
case 233 /* ModuleDeclaration */:
|
||||
if (node.parent.kind !== 291 /* JSDocTypedefTag */ || ts.isInJavaScriptFile(node)) {
|
||||
return bindModuleDeclaration(node);
|
||||
}
|
||||
return undefined;
|
||||
return bindModuleDeclaration(node);
|
||||
// Jsx-attributes
|
||||
case 254 /* JsxAttributes */:
|
||||
return bindJsxAttributes(node);
|
||||
@@ -24537,13 +24545,6 @@ var ts;
|
||||
// falls through
|
||||
case 234 /* ModuleBlock */:
|
||||
return updateStrictModeStatementList(node.statements);
|
||||
default:
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
return bindJSDocWorker(node);
|
||||
}
|
||||
}
|
||||
function bindJSDocWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 276 /* JSDocRecordMember */:
|
||||
return bindPropertyWorker(node);
|
||||
case 292 /* JSDocPropertyTag */:
|
||||
@@ -25739,6 +25740,14 @@ var ts;
|
||||
}
|
||||
}
|
||||
ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions;
|
||||
/**
|
||||
* "Binds" JSDoc nodes in TypeScript code.
|
||||
* Since we will never create symbols for JSDoc, we just set parent pointers instead.
|
||||
*/
|
||||
function setParentPointers(parent, child) {
|
||||
child.parent = parent;
|
||||
ts.forEachChild(child, function (childsChild) { return setParentPointers(child, childsChild); });
|
||||
}
|
||||
})(ts || (ts = {}));
|
||||
/// <reference path="core.ts" />
|
||||
/// <reference path="diagnosticInformationMap.generated.ts" />
|
||||
@@ -27723,7 +27732,7 @@ var ts;
|
||||
error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), typeof nameArg === "string" ? nameArg : ts.declarationNameToString(nameArg));
|
||||
return undefined;
|
||||
}
|
||||
// Only check for block-scoped variable if we are looking for the
|
||||
// Only check for block-scoped variable if we have an error location and are looking for the
|
||||
// name with variable meaning
|
||||
// For example,
|
||||
// declare module foo {
|
||||
@@ -27734,8 +27743,9 @@ var ts;
|
||||
// block-scoped variable and namespace module. However, only when we
|
||||
// try to resolve name in /*1*/ which is used in variable position,
|
||||
// we want to check for block-scoped
|
||||
if (meaning & 2 /* BlockScopedVariable */ ||
|
||||
((meaning & 32 /* Class */ || meaning & 384 /* Enum */) && (meaning & 107455 /* Value */) === 107455 /* Value */)) {
|
||||
if (errorLocation &&
|
||||
(meaning & 2 /* BlockScopedVariable */ ||
|
||||
((meaning & 32 /* Class */ || meaning & 384 /* Enum */) && (meaning & 107455 /* Value */) === 107455 /* Value */))) {
|
||||
var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result);
|
||||
if (exportOrLocalSymbol.flags & 2 /* BlockScopedVariable */ || exportOrLocalSymbol.flags & 32 /* Class */ || exportOrLocalSymbol.flags & 384 /* Enum */) {
|
||||
checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation);
|
||||
@@ -69580,6 +69590,10 @@ var ts;
|
||||
// moduleAugmentations has changed
|
||||
oldProgram.structureIsReused = 1 /* SafeModules */;
|
||||
}
|
||||
if ((oldSourceFile.flags & 524288 /* PossiblyContainsDynamicImport */) !== (newSourceFile.flags & 524288 /* PossiblyContainsDynamicImport */)) {
|
||||
// dynamicImport has changed
|
||||
oldProgram.structureIsReused = 1 /* SafeModules */;
|
||||
}
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) {
|
||||
// 'types' references has changed
|
||||
oldProgram.structureIsReused = 1 /* SafeModules */;
|
||||
|
||||
@@ -19198,7 +19198,7 @@ var ts;
|
||||
// 3)we have a MemberExpression which either completes the LeftHandSideExpression,
|
||||
// or starts the beginning of the first four CallExpression productions.
|
||||
var expression;
|
||||
if (token() === 91 /* ImportKeyword */) {
|
||||
if (token() === 91 /* ImportKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) {
|
||||
// We don't want to eagerly consume all import keyword as import call expression so we look a head to find "("
|
||||
// For example:
|
||||
// var foo3 = require("subfolder
|
||||
@@ -23094,7 +23094,20 @@ var ts;
|
||||
// Binding of JsDocComment should be done before the current block scope container changes.
|
||||
// because the scope of JsDocComment should not be affected by whether the current node is a
|
||||
// container or not.
|
||||
ts.forEach(node.jsDoc, bind);
|
||||
if (node.jsDoc) {
|
||||
if (ts.isInJavaScriptFile(node)) {
|
||||
for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) {
|
||||
var j = _a[_i];
|
||||
bind(j);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (var _b = 0, _c = node.jsDoc; _b < _c.length; _b++) {
|
||||
var j = _c[_b];
|
||||
setParentPointers(node, j);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (checkUnreachable(node)) {
|
||||
bindEachChild(node);
|
||||
return;
|
||||
@@ -24280,7 +24293,8 @@ var ts;
|
||||
// Here the current node is "foo", which is a container, but the scope of "MyType" should
|
||||
// not be inside "foo". Therefore we always bind @typedef before bind the parent node,
|
||||
// and skip binding this tag later when binding all the other jsdoc tags.
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
bindJSDocTypedefTagIfAny(node);
|
||||
// First we bind declaration nodes to a symbol if possible. We'll both create a symbol
|
||||
// and then potentially add the symbol to an appropriate symbol table. Possible
|
||||
// destination symbol tables are:
|
||||
@@ -24362,7 +24376,7 @@ var ts;
|
||||
// for typedef type names with namespaces, bind the new jsdoc type symbol here
|
||||
// because it requires all containing namespaces to be in effect, namely the
|
||||
// current "blockScopeContainer" needs to be set to its immediate namespace parent.
|
||||
if (ts.isInJavaScriptFile(node) && node.isInJSDocNamespace) {
|
||||
if (node.isInJSDocNamespace) {
|
||||
var parentNode = node.parent;
|
||||
while (parentNode && parentNode.kind !== 291 /* JSDocTypedefTag */) {
|
||||
parentNode = parentNode.parent;
|
||||
@@ -24424,10 +24438,7 @@ var ts;
|
||||
case 158 /* TypePredicate */:
|
||||
return checkTypePredicate(node);
|
||||
case 145 /* TypeParameter */:
|
||||
if (node.parent.kind !== 290 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node)) {
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 530920 /* TypeParameterExcludes */);
|
||||
}
|
||||
return;
|
||||
return declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 530920 /* TypeParameterExcludes */);
|
||||
case 146 /* Parameter */:
|
||||
return bindParameter(node);
|
||||
case 226 /* VariableDeclaration */:
|
||||
@@ -24504,10 +24515,7 @@ var ts;
|
||||
case 232 /* EnumDeclaration */:
|
||||
return bindEnumDeclaration(node);
|
||||
case 233 /* ModuleDeclaration */:
|
||||
if (node.parent.kind !== 291 /* JSDocTypedefTag */ || ts.isInJavaScriptFile(node)) {
|
||||
return bindModuleDeclaration(node);
|
||||
}
|
||||
return undefined;
|
||||
return bindModuleDeclaration(node);
|
||||
// Jsx-attributes
|
||||
case 254 /* JsxAttributes */:
|
||||
return bindJsxAttributes(node);
|
||||
@@ -24537,13 +24545,6 @@ var ts;
|
||||
// falls through
|
||||
case 234 /* ModuleBlock */:
|
||||
return updateStrictModeStatementList(node.statements);
|
||||
default:
|
||||
if (ts.isInJavaScriptFile(node))
|
||||
return bindJSDocWorker(node);
|
||||
}
|
||||
}
|
||||
function bindJSDocWorker(node) {
|
||||
switch (node.kind) {
|
||||
case 276 /* JSDocRecordMember */:
|
||||
return bindPropertyWorker(node);
|
||||
case 292 /* JSDocPropertyTag */:
|
||||
@@ -25739,6 +25740,14 @@ var ts;
|
||||
}
|
||||
}
|
||||
ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions;
|
||||
/**
|
||||
* "Binds" JSDoc nodes in TypeScript code.
|
||||
* Since we will never create symbols for JSDoc, we just set parent pointers instead.
|
||||
*/
|
||||
function setParentPointers(parent, child) {
|
||||
child.parent = parent;
|
||||
ts.forEachChild(child, function (childsChild) { return setParentPointers(child, childsChild); });
|
||||
}
|
||||
})(ts || (ts = {}));
|
||||
/// <reference path="core.ts" />
|
||||
/// <reference path="diagnosticInformationMap.generated.ts" />
|
||||
@@ -27723,7 +27732,7 @@ var ts;
|
||||
error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), typeof nameArg === "string" ? nameArg : ts.declarationNameToString(nameArg));
|
||||
return undefined;
|
||||
}
|
||||
// Only check for block-scoped variable if we are looking for the
|
||||
// Only check for block-scoped variable if we have an error location and are looking for the
|
||||
// name with variable meaning
|
||||
// For example,
|
||||
// declare module foo {
|
||||
@@ -27734,8 +27743,9 @@ var ts;
|
||||
// block-scoped variable and namespace module. However, only when we
|
||||
// try to resolve name in /*1*/ which is used in variable position,
|
||||
// we want to check for block-scoped
|
||||
if (meaning & 2 /* BlockScopedVariable */ ||
|
||||
((meaning & 32 /* Class */ || meaning & 384 /* Enum */) && (meaning & 107455 /* Value */) === 107455 /* Value */)) {
|
||||
if (errorLocation &&
|
||||
(meaning & 2 /* BlockScopedVariable */ ||
|
||||
((meaning & 32 /* Class */ || meaning & 384 /* Enum */) && (meaning & 107455 /* Value */) === 107455 /* Value */))) {
|
||||
var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result);
|
||||
if (exportOrLocalSymbol.flags & 2 /* BlockScopedVariable */ || exportOrLocalSymbol.flags & 32 /* Class */ || exportOrLocalSymbol.flags & 384 /* Enum */) {
|
||||
checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation);
|
||||
@@ -69580,6 +69590,10 @@ var ts;
|
||||
// moduleAugmentations has changed
|
||||
oldProgram.structureIsReused = 1 /* SafeModules */;
|
||||
}
|
||||
if ((oldSourceFile.flags & 524288 /* PossiblyContainsDynamicImport */) !== (newSourceFile.flags & 524288 /* PossiblyContainsDynamicImport */)) {
|
||||
// dynamicImport has changed
|
||||
oldProgram.structureIsReused = 1 /* SafeModules */;
|
||||
}
|
||||
if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) {
|
||||
// 'types' references has changed
|
||||
oldProgram.structureIsReused = 1 /* SafeModules */;
|
||||
|
||||
Reference in New Issue
Block a user