From 79d18bc4ed067a45ebe39b939cb064cba58a018a Mon Sep 17 00:00:00 2001 From: majie77 Date: Sat, 26 Apr 2025 23:16:02 +0800 Subject: [PATCH] Fix memory leakage Pass ignoreErrors=true to more resolveEntityName callers Signed-off-by: majie77 Change-Id: I9373fec37a8c3bcb4fe2ec69729b5caaaf9cfd57 --- lib/tsc.js | 20 ++++++++--------- lib/tsserver.js | 22 ++++++++++--------- lib/tsserverlibrary.js | 22 ++++++++++--------- lib/typescript.js | 22 ++++++++++--------- lib/typescriptServices.js | 22 ++++++++++--------- lib/typingsInstaller.js | 22 ++++++++++--------- src/compiler/checker.ts | 22 ++++++++++--------- .../classMemberInitializerScoping.symbols | 1 + ...017,usedefineforclassfields=false).symbols | 1 + ...2017,usedefineforclassfields=true).symbols | 1 + ...ext,usedefineforclassfields=false).symbols | 1 + ...sMemberInitializerWithLamdaScoping.symbols | 1 + ...MemberInitializerWithLamdaScoping2.symbols | 1 + ...MemberInitializerWithLamdaScoping3.symbols | 1 + ...tructorParameterShadowsOuterScopes.symbols | 2 ++ ...xternalNamesInVariableDeclarations.symbols | 2 ++ 16 files changed, 93 insertions(+), 70 deletions(-) diff --git a/lib/tsc.js b/lib/tsc.js index 907a9903a4..417508cbbb 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -73568,7 +73568,7 @@ var ts; if (!ident) { return undefined; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, true); + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return undefined; } @@ -77029,7 +77029,7 @@ var ts; if (!ident) { return; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, true); + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return; } @@ -77771,7 +77771,7 @@ var ts; } return undefined; } - function getSymbolOfNameOrPropertyAccessExpression(name, ignoreErrors) { + function getSymbolOfNameOrPropertyAccessExpression(name) { if (ts.isDeclarationName(name)) { return getSymbolOfNode(name.parent); } @@ -77843,11 +77843,11 @@ var ts; var symbol = getIntrinsicTagSymbol(name.parent); return symbol === unknownSymbol ? undefined : symbol; } - var result = resolveEntityName(name, meaning, ignoreErrors, true, ts.getHostSignatureFromJSDoc(name)); + var result = resolveEntityName(name, meaning, true, true, ts.getHostSignatureFromJSDoc(name)); if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, false, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, true, getSymbolOfNode(container)); } } if (result && isJSDoc_1) { @@ -77912,11 +77912,11 @@ var ts; } else if (isTypeReferenceIdentifier(name)) { var meaning = name.parent.kind === 183 ? 788968 : 1920; - var symbol = resolveEntityName(name, meaning, false, true); + var symbol = resolveEntityName(name, meaning, true, true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } if (name.parent.kind === 182) { - return resolveEntityName(name, 1); + return resolveEntityName(name, 1, true); } return undefined; } @@ -78056,7 +78056,7 @@ var ts; } function getShorthandAssignmentValueSymbol(location) { if (location && location.kind === 306) { - return resolveEntityName(location.name, 111551 | 2097152); + return resolveEntityName(location.name, 111551 | 2097152, true); } return undefined; } @@ -78064,10 +78064,10 @@ var ts; if (ts.isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, 111551 | 788968 | 1920 | 2097152); + resolveEntityName(node.propertyName || node.name, 111551 | 788968 | 1920 | 2097152, true); } else { - return resolveEntityName(node, 111551 | 788968 | 1920 | 2097152); + return resolveEntityName(node, 111551 | 788968 | 1920 | 2097152, true); } } function getTypeOfNode(node) { diff --git a/lib/tsserver.js b/lib/tsserver.js index c6ec18aed4..ac1f730cee 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -87359,7 +87359,8 @@ var ts; if (!ident) { return undefined; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return undefined; } @@ -91379,7 +91380,8 @@ var ts; if (!ident) { return; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return; } @@ -92202,7 +92204,7 @@ var ts; } return undefined; } - function getSymbolOfNameOrPropertyAccessExpression(name, ignoreErrors) { + function getSymbolOfNameOrPropertyAccessExpression(name) { if (ts.isDeclarationName(name)) { return getSymbolOfNode(name.parent); } @@ -92281,11 +92283,11 @@ var ts; var symbol = getIntrinsicTagSymbol(name.parent); return symbol === unknownSymbol ? undefined : symbol; } - var result = resolveEntityName(name, meaning, /*ignoreErrors*/ ignoreErrors, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); + var result = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, /*ignoreErrors*/ true, getSymbolOfNode(container)); } } if (result && isJSDoc_1) { @@ -92350,11 +92352,11 @@ var ts; } else if (isTypeReferenceIdentifier(name)) { var meaning = name.parent.kind === 183 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; - var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); + var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } if (name.parent.kind === 182 /* SyntaxKind.TypePredicate */) { - return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */); + return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */, /*ignoreErrors*/ true); } return undefined; } @@ -92520,7 +92522,7 @@ var ts; } function getShorthandAssignmentValueSymbol(location) { if (location && location.kind === 306 /* SyntaxKind.ShorthandPropertyAssignment */) { - return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } return undefined; } @@ -92529,10 +92531,10 @@ var ts; if (ts.isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } else { - return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } } function getTypeOfNode(node) { diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index 278c27e7b9..4352e22a9f 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -87358,7 +87358,8 @@ var ts; if (!ident) { return undefined; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return undefined; } @@ -91378,7 +91379,8 @@ var ts; if (!ident) { return; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return; } @@ -92201,7 +92203,7 @@ var ts; } return undefined; } - function getSymbolOfNameOrPropertyAccessExpression(name, ignoreErrors) { + function getSymbolOfNameOrPropertyAccessExpression(name) { if (ts.isDeclarationName(name)) { return getSymbolOfNode(name.parent); } @@ -92280,11 +92282,11 @@ var ts; var symbol = getIntrinsicTagSymbol(name.parent); return symbol === unknownSymbol ? undefined : symbol; } - var result = resolveEntityName(name, meaning, /*ignoreErrors*/ ignoreErrors, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); + var result = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, /*ignoreErrors*/ true, getSymbolOfNode(container)); } } if (result && isJSDoc_1) { @@ -92349,11 +92351,11 @@ var ts; } else if (isTypeReferenceIdentifier(name)) { var meaning = name.parent.kind === 183 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; - var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); + var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } if (name.parent.kind === 182 /* SyntaxKind.TypePredicate */) { - return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */); + return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */, /*ignoreErrors*/ true); } return undefined; } @@ -92519,7 +92521,7 @@ var ts; } function getShorthandAssignmentValueSymbol(location) { if (location && location.kind === 306 /* SyntaxKind.ShorthandPropertyAssignment */) { - return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } return undefined; } @@ -92528,10 +92530,10 @@ var ts; if (ts.isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } else { - return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } } function getTypeOfNode(node) { diff --git a/lib/typescript.js b/lib/typescript.js index 93caf957d8..d6d08ebc5e 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -87349,7 +87349,8 @@ var ts; if (!ident) { return undefined; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return undefined; } @@ -91369,7 +91370,8 @@ var ts; if (!ident) { return; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return; } @@ -92192,7 +92194,7 @@ var ts; } return undefined; } - function getSymbolOfNameOrPropertyAccessExpression(name, ignoreErrors) { + function getSymbolOfNameOrPropertyAccessExpression(name) { if (ts.isDeclarationName(name)) { return getSymbolOfNode(name.parent); } @@ -92271,11 +92273,11 @@ var ts; var symbol = getIntrinsicTagSymbol(name.parent); return symbol === unknownSymbol ? undefined : symbol; } - var result = resolveEntityName(name, meaning, /*ignoreErrors*/ ignoreErrors, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); + var result = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, /*ignoreErrors*/ true, getSymbolOfNode(container)); } } if (result && isJSDoc_1) { @@ -92340,11 +92342,11 @@ var ts; } else if (isTypeReferenceIdentifier(name)) { var meaning = name.parent.kind === 183 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; - var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); + var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } if (name.parent.kind === 182 /* SyntaxKind.TypePredicate */) { - return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */); + return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */, /*ignoreErrors*/ true); } return undefined; } @@ -92510,7 +92512,7 @@ var ts; } function getShorthandAssignmentValueSymbol(location) { if (location && location.kind === 306 /* SyntaxKind.ShorthandPropertyAssignment */) { - return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } return undefined; } @@ -92519,10 +92521,10 @@ var ts; if (ts.isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } else { - return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } } function getTypeOfNode(node) { diff --git a/lib/typescriptServices.js b/lib/typescriptServices.js index 2b67b7e0c1..676a2f12d3 100644 --- a/lib/typescriptServices.js +++ b/lib/typescriptServices.js @@ -87349,7 +87349,8 @@ var ts; if (!ident) { return undefined; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return undefined; } @@ -91369,7 +91370,8 @@ var ts; if (!ident) { return; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return; } @@ -92192,7 +92194,7 @@ var ts; } return undefined; } - function getSymbolOfNameOrPropertyAccessExpression(name, ignoreErrors) { + function getSymbolOfNameOrPropertyAccessExpression(name) { if (ts.isDeclarationName(name)) { return getSymbolOfNode(name.parent); } @@ -92271,11 +92273,11 @@ var ts; var symbol = getIntrinsicTagSymbol(name.parent); return symbol === unknownSymbol ? undefined : symbol; } - var result = resolveEntityName(name, meaning, /*ignoreErrors*/ ignoreErrors, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); + var result = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, /*ignoreErrors*/ true, getSymbolOfNode(container)); } } if (result && isJSDoc_1) { @@ -92340,11 +92342,11 @@ var ts; } else if (isTypeReferenceIdentifier(name)) { var meaning = name.parent.kind === 183 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; - var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); + var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } if (name.parent.kind === 182 /* SyntaxKind.TypePredicate */) { - return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */); + return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */, /*ignoreErrors*/ true); } return undefined; } @@ -92510,7 +92512,7 @@ var ts; } function getShorthandAssignmentValueSymbol(location) { if (location && location.kind === 306 /* SyntaxKind.ShorthandPropertyAssignment */) { - return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } return undefined; } @@ -92519,10 +92521,10 @@ var ts; if (ts.isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } else { - return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } } function getTypeOfNode(node) { diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index 0f22525e48..a87503f6d2 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -87339,7 +87339,8 @@ var ts; if (!ident) { return undefined; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return undefined; } @@ -91359,7 +91360,8 @@ var ts; if (!ident) { return; } - var symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + var symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return; } @@ -92182,7 +92184,7 @@ var ts; } return undefined; } - function getSymbolOfNameOrPropertyAccessExpression(name, ignoreErrors) { + function getSymbolOfNameOrPropertyAccessExpression(name) { if (ts.isDeclarationName(name)) { return getSymbolOfNode(name.parent); } @@ -92261,11 +92263,11 @@ var ts; var symbol = getIntrinsicTagSymbol(name.parent); return symbol === unknownSymbol ? undefined : symbol; } - var result = resolveEntityName(name, meaning, /*ignoreErrors*/ ignoreErrors, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); + var result = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, /*ignoreErrors*/ true, getSymbolOfNode(container)); } } if (result && isJSDoc_1) { @@ -92330,11 +92332,11 @@ var ts; } else if (isTypeReferenceIdentifier(name)) { var meaning = name.parent.kind === 183 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; - var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); + var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } if (name.parent.kind === 182 /* SyntaxKind.TypePredicate */) { - return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */); + return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */, /*ignoreErrors*/ true); } return undefined; } @@ -92500,7 +92502,7 @@ var ts; } function getShorthandAssignmentValueSymbol(location) { if (location && location.kind === 306 /* SyntaxKind.ShorthandPropertyAssignment */) { - return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } return undefined; } @@ -92509,10 +92511,10 @@ var ts; if (ts.isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } else { - return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); + return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); } } function getTypeOfNode(node) { diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0338d9ef18..6d9314decb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -38786,7 +38786,8 @@ namespace ts { if (!ident) { return undefined; } - const symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + const symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return undefined; } @@ -43273,7 +43274,8 @@ namespace ts { if (!ident) { return; } - const symbol = getSymbolOfNameOrPropertyAccessExpression(ident, /*ignoreErrors*/ true); + //The default value of ignoreErrors in getSymbolOfNameOrPropertyAccessExpression is already true. + const symbol = getSymbolOfNameOrPropertyAccessExpression(ident); if (!symbol) { return; } @@ -44179,7 +44181,7 @@ namespace ts { return undefined; } - function getSymbolOfNameOrPropertyAccessExpression(name: EntityName | PrivateIdentifier | PropertyAccessExpression | JSDocMemberName, ignoreErrors?: boolean): Symbol | undefined { + function getSymbolOfNameOrPropertyAccessExpression(name: EntityName | PrivateIdentifier | PropertyAccessExpression | JSDocMemberName): Symbol | undefined { if (isDeclarationName(name)) { return getSymbolOfNode(name.parent); } @@ -44269,11 +44271,11 @@ namespace ts { const symbol = getIntrinsicTagSymbol(name.parent as JsxOpeningLikeElement); return symbol === unknownSymbol ? undefined : symbol; } - const result = resolveEntityName(name, meaning, /*ignoreErrors*/ ignoreErrors, /* dontResolveAlias */ true, getHostSignatureFromJSDoc(name)); + const result = resolveEntityName(name, meaning, /*ignoreErrors*/ true, /* dontResolveAlias */ true, getHostSignatureFromJSDoc(name)); if (!result && isJSDoc) { const container = findAncestor(name, or(isClassLike, isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, /*ignoreErrors*/ true, getSymbolOfNode(container)); } } if (result && isJSDoc) { @@ -44339,11 +44341,11 @@ namespace ts { } else if (isTypeReferenceIdentifier(name as EntityName)) { const meaning = name.parent.kind === SyntaxKind.TypeReference ? SymbolFlags.Type : SymbolFlags.Namespace; - const symbol = resolveEntityName(name as EntityName, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); + const symbol = resolveEntityName(name as EntityName, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name as EntityName); } if (name.parent.kind === SyntaxKind.TypePredicate) { - return resolveEntityName(name as Identifier, /*meaning*/ SymbolFlags.FunctionScopedVariable); + return resolveEntityName(name as Identifier, /*meaning*/ SymbolFlags.FunctionScopedVariable, /*ignoreErrors*/ true); } return undefined; @@ -44530,7 +44532,7 @@ namespace ts { function getShorthandAssignmentValueSymbol(location: Node | undefined): Symbol | undefined { if (location && location.kind === SyntaxKind.ShorthandPropertyAssignment) { - return resolveEntityName((location as ShorthandPropertyAssignment).name, SymbolFlags.Value | SymbolFlags.Alias); + return resolveEntityName((location as ShorthandPropertyAssignment).name, SymbolFlags.Value | SymbolFlags.Alias, /*ignoreErrors*/ true); } return undefined; } @@ -44540,10 +44542,10 @@ namespace ts { if (isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Alias); + resolveEntityName(node.propertyName || node.name, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Alias, /*ignoreErrors*/ true); } else { - return resolveEntityName(node, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Alias); + return resolveEntityName(node, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Alias, /*ignoreErrors*/ true); } } diff --git a/tests/baselines/reference/classMemberInitializerScoping.symbols b/tests/baselines/reference/classMemberInitializerScoping.symbols index dbd0e66b87..2c07479240 100644 --- a/tests/baselines/reference/classMemberInitializerScoping.symbols +++ b/tests/baselines/reference/classMemberInitializerScoping.symbols @@ -7,6 +7,7 @@ class CCC { y: number = aaa; >y : Symbol(CCC.y, Decl(classMemberInitializerScoping.ts, 1, 11)) +>aaa : Symbol(aaa, Decl(classMemberInitializerScoping.ts, 0, 3)) static staticY: number = aaa; // This shouldnt be error >staticY : Symbol(CCC.staticY, Decl(classMemberInitializerScoping.ts, 2, 20)) diff --git a/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=false).symbols b/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=false).symbols index 78c0208826..cf486c1e6f 100644 --- a/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=false).symbols +++ b/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=false).symbols @@ -7,6 +7,7 @@ class C { p = x >p : Symbol(C.p, Decl(classMemberInitializerScoping2.ts, 1, 9)) +>x : Symbol(x, Decl(classMemberInitializerScoping2.ts, 0, 5)) constructor(x: string) { } >x : Symbol(x, Decl(classMemberInitializerScoping2.ts, 3, 16)) diff --git a/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=true).symbols b/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=true).symbols index 78c0208826..cf486c1e6f 100644 --- a/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=true).symbols +++ b/tests/baselines/reference/classMemberInitializerScoping2(target=es2017,usedefineforclassfields=true).symbols @@ -7,6 +7,7 @@ class C { p = x >p : Symbol(C.p, Decl(classMemberInitializerScoping2.ts, 1, 9)) +>x : Symbol(x, Decl(classMemberInitializerScoping2.ts, 0, 5)) constructor(x: string) { } >x : Symbol(x, Decl(classMemberInitializerScoping2.ts, 3, 16)) diff --git a/tests/baselines/reference/classMemberInitializerScoping2(target=esnext,usedefineforclassfields=false).symbols b/tests/baselines/reference/classMemberInitializerScoping2(target=esnext,usedefineforclassfields=false).symbols index 78c0208826..cf486c1e6f 100644 --- a/tests/baselines/reference/classMemberInitializerScoping2(target=esnext,usedefineforclassfields=false).symbols +++ b/tests/baselines/reference/classMemberInitializerScoping2(target=esnext,usedefineforclassfields=false).symbols @@ -7,6 +7,7 @@ class C { p = x >p : Symbol(C.p, Decl(classMemberInitializerScoping2.ts, 1, 9)) +>x : Symbol(x, Decl(classMemberInitializerScoping2.ts, 0, 5)) constructor(x: string) { } >x : Symbol(x, Decl(classMemberInitializerScoping2.ts, 3, 16)) diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.symbols b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.symbols index a8ee1b3498..7ce7643a34 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.symbols +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.symbols @@ -66,6 +66,7 @@ class Test1 { >console.log : Symbol(log, Decl(classMemberInitializerWithLamdaScoping.ts, 0, 22)) >console : Symbol(console, Decl(classMemberInitializerWithLamdaScoping.ts, 0, 11)) >log : Symbol(log, Decl(classMemberInitializerWithLamdaScoping.ts, 0, 22)) +>field1 : Symbol(field1, Decl(classMemberInitializerWithLamdaScoping.ts, 17, 3)) // but since this code would be generated inside constructor, in generated js // it would resolve to private field1 and thats not what user intended here. diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.symbols b/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.symbols index 430264cf69..117f61f3d6 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.symbols +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.symbols @@ -24,6 +24,7 @@ class Test1 { >console.log : Symbol(log, Decl(classMemberInitializerWithLamdaScoping2_1.ts, 0, 22)) >console : Symbol(console, Decl(classMemberInitializerWithLamdaScoping2_1.ts, 0, 11)) >log : Symbol(log, Decl(classMemberInitializerWithLamdaScoping2_1.ts, 0, 22)) +>field1 : Symbol(field1, Decl(classMemberInitializerWithLamdaScoping2_0.ts, 0, 3)) // but since this code would be generated inside constructor, in generated js // it would resolve to private field1 and thats not what user intended here. diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.symbols b/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.symbols index ed96c8e088..9311a07ed6 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.symbols +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.symbols @@ -24,6 +24,7 @@ export class Test1 { >console.log : Symbol(log, Decl(classMemberInitializerWithLamdaScoping3_1.ts, 0, 22)) >console : Symbol(console, Decl(classMemberInitializerWithLamdaScoping3_1.ts, 0, 11)) >log : Symbol(log, Decl(classMemberInitializerWithLamdaScoping3_1.ts, 0, 22)) +>field1 : Symbol(field1, Decl(classMemberInitializerWithLamdaScoping3_0.ts, 0, 3)) // but since this code would be generated inside constructor, in generated js // it would resolve to private field1 and thats not what user intended here. diff --git a/tests/baselines/reference/constructorParameterShadowsOuterScopes.symbols b/tests/baselines/reference/constructorParameterShadowsOuterScopes.symbols index 4834b39b47..f715088b07 100644 --- a/tests/baselines/reference/constructorParameterShadowsOuterScopes.symbols +++ b/tests/baselines/reference/constructorParameterShadowsOuterScopes.symbols @@ -12,6 +12,7 @@ class C { b = x; // error, evaluated in scope of constructor, cannot reference x >b : Symbol(C.b, Decl(constructorParameterShadowsOuterScopes.ts, 6, 9)) +>x : Symbol(x, Decl(constructorParameterShadowsOuterScopes.ts, 5, 3)) constructor(x: string) { >x : Symbol(x, Decl(constructorParameterShadowsOuterScopes.ts, 8, 16)) @@ -29,6 +30,7 @@ class D { b = y; // error, evaluated in scope of constructor, cannot reference y >b : Symbol(D.b, Decl(constructorParameterShadowsOuterScopes.ts, 14, 9)) +>y : Symbol(y, Decl(constructorParameterShadowsOuterScopes.ts, 13, 3)) constructor(x: string) { >x : Symbol(x, Decl(constructorParameterShadowsOuterScopes.ts, 16, 16)) diff --git a/tests/baselines/reference/constructorParametersThatShadowExternalNamesInVariableDeclarations.symbols b/tests/baselines/reference/constructorParametersThatShadowExternalNamesInVariableDeclarations.symbols index 34acc71ef7..2b74b09475 100644 --- a/tests/baselines/reference/constructorParametersThatShadowExternalNamesInVariableDeclarations.symbols +++ b/tests/baselines/reference/constructorParametersThatShadowExternalNamesInVariableDeclarations.symbols @@ -7,6 +7,7 @@ class A { private a = x; >a : Symbol(A.a, Decl(constructorParametersThatShadowExternalNamesInVariableDeclarations.ts, 1, 9)) +>x : Symbol(x, Decl(constructorParametersThatShadowExternalNamesInVariableDeclarations.ts, 0, 3)) constructor(x: number) { >x : Symbol(x, Decl(constructorParametersThatShadowExternalNamesInVariableDeclarations.ts, 3, 16)) @@ -18,6 +19,7 @@ class B { private a = x; >a : Symbol(B.a, Decl(constructorParametersThatShadowExternalNamesInVariableDeclarations.ts, 7, 9)) +>x : Symbol(x, Decl(constructorParametersThatShadowExternalNamesInVariableDeclarations.ts, 0, 3)) constructor() { var x = ""; -- Gitee