mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-24 11:43:18 -05:00
fix(40632): skip emitting abstract members (#40699)
This commit is contained in:
@@ -579,7 +579,7 @@ namespace ts {
|
||||
}
|
||||
|
||||
function isPropertyDeclarationThatRequiresConstructorStatement(member: ClassElement): member is PropertyDeclaration {
|
||||
if (!isPropertyDeclaration(member) || hasStaticModifier(member)) {
|
||||
if (!isPropertyDeclaration(member) || hasStaticModifier(member) || hasSyntacticModifier(getOriginalNode(member), ModifierFlags.Abstract)) {
|
||||
return false;
|
||||
}
|
||||
if (context.getCompilerOptions().useDefineForClassFields) {
|
||||
@@ -779,6 +779,9 @@ namespace ts {
|
||||
}
|
||||
|
||||
const propertyOriginalNode = getOriginalNode(property);
|
||||
if (hasSyntacticModifier(propertyOriginalNode, ModifierFlags.Abstract)) {
|
||||
return undefined;
|
||||
}
|
||||
const initializer = property.initializer || emitAssignment ? visitNode(property.initializer, visitor, isExpression) ?? factory.createVoidZero()
|
||||
: isParameterPropertyDeclaration(propertyOriginalNode, propertyOriginalNode.parent) && isIdentifier(propertyName) ? propertyName
|
||||
: factory.createVoidZero();
|
||||
|
||||
@@ -1900,7 +1900,7 @@ namespace ts {
|
||||
}
|
||||
|
||||
function visitPropertyDeclaration(node: PropertyDeclaration) {
|
||||
if (node.flags & NodeFlags.Ambient) {
|
||||
if (node.flags & NodeFlags.Ambient || hasSyntacticModifier(node, ModifierFlags.Abstract)) {
|
||||
return undefined;
|
||||
}
|
||||
const updated = factory.updatePropertyDeclaration(
|
||||
|
||||
Reference in New Issue
Block a user