mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-20 21:22:28 -05:00
Avoid incorrectly reusing assertion nodes from property assignments (#60576)
This commit is contained in:
committed by
GitHub
parent
6b1ea96b94
commit
676d329948
@@ -706,12 +706,12 @@ export function createSyntacticTypeNodeBuilder(
|
||||
}
|
||||
if (!result && node.kind === SyntaxKind.PropertyAssignment) {
|
||||
const initializer = node.initializer;
|
||||
const type = isJSDocTypeAssertion(initializer) ? getJSDocTypeAssertionType(initializer) :
|
||||
const assertionNode = isJSDocTypeAssertion(initializer) ? getJSDocTypeAssertionType(initializer) :
|
||||
initializer.kind === SyntaxKind.AsExpression || initializer.kind === SyntaxKind.TypeAssertionExpression ? (initializer as AsExpression | TypeAssertion).type :
|
||||
undefined;
|
||||
|
||||
if (type && !isConstTypeReference(type)) {
|
||||
result = serializeExistingTypeNode(type, context);
|
||||
if (assertionNode && !isConstTypeReference(assertionNode) && resolver.canReuseTypeNodeAnnotation(context, node, assertionNode, symbol)) {
|
||||
result = serializeExistingTypeNode(assertionNode, context);
|
||||
}
|
||||
}
|
||||
return result ?? inferTypeOfDeclaration(node, symbol, context, /*reportFallback*/ false);
|
||||
|
||||
Reference in New Issue
Block a user