mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-30 01:04:49 -05:00
Fixed accidentally reused comments between files in the emitter (#61261)
Co-authored-by: michaelm <michael.mitchell@airtable.com>
This commit is contained in:
committed by
GitHub
parent
afc463980f
commit
b97eafbf3b
@@ -6207,6 +6207,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
const context = syntacticContext as NodeBuilderContext;
|
||||
if (context.bundled || context.enclosingFile !== getSourceFileOfNode(lit)) {
|
||||
let name = lit.text;
|
||||
const originalName = name;
|
||||
const nodeSymbol = getNodeLinks(parent).resolvedSymbol;
|
||||
const meaning = parent.isTypeOf ? SymbolFlags.Value : SymbolFlags.Type;
|
||||
const parentSymbol = nodeSymbol
|
||||
@@ -6227,7 +6228,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
context.tracker.reportLikelyUnsafeImportRequiredError(name);
|
||||
}
|
||||
}
|
||||
return name;
|
||||
if (name !== originalName) {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
},
|
||||
canReuseTypeNode(context, typeNode) {
|
||||
@@ -8831,10 +8834,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
return setTextRange(context, setEmitFlags(name, EmitFlags.NoAsciiEscaping), node);
|
||||
}
|
||||
const updated = visitEachChildWorker(node, c => attachSymbolToLeftmostIdentifier(c), /*context*/ undefined);
|
||||
if (updated !== node) {
|
||||
setTextRange(context, updated, node);
|
||||
}
|
||||
return updated;
|
||||
return setTextRange(context, updated, node);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -435,9 +435,11 @@ export function createSyntacticTypeNodeBuilder(
|
||||
if (!resolver.canReuseTypeNode(context, node)) {
|
||||
return resolver.serializeExistingTypeNode(context, node);
|
||||
}
|
||||
const specifier = rewriteModuleSpecifier(node, node.argument.literal);
|
||||
const literal = specifier === node.argument.literal ? reuseNode(context, node.argument.literal) : specifier;
|
||||
return factory.updateImportTypeNode(
|
||||
node,
|
||||
factory.updateLiteralTypeNode(node.argument, rewriteModuleSpecifier(node, node.argument.literal)),
|
||||
literal === node.argument.literal ? reuseNode(context, node.argument) : factory.createLiteralTypeNode(literal),
|
||||
visitNode(node.attributes, visitExistingNodeTreeSymbols, isImportAttributes),
|
||||
visitNode(node.qualifier, visitExistingNodeTreeSymbols, isEntityName),
|
||||
visitNodes(node.typeArguments, visitExistingNodeTreeSymbols, isTypeNode),
|
||||
@@ -612,10 +614,7 @@ export function createSyntacticTypeNodeBuilder(
|
||||
|
||||
function rewriteModuleSpecifier(parent: ImportTypeNode, lit: StringLiteral) {
|
||||
const newName = resolver.getModuleSpecifierOverride(context, parent, lit);
|
||||
if (newName) {
|
||||
return setOriginalNode(factory.createStringLiteral(newName), lit);
|
||||
}
|
||||
return visitNode(lit, visitExistingNodeTreeSymbols, isStringLiteral)!;
|
||||
return newName ? setOriginalNode(factory.createStringLiteral(newName), lit) : lit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user