Skip to content

Commit 5a2153a

Browse files
authored
Fix position of keyword in "Add 'override' modifier" code fix (microsoft#45274)
fixes microsoft#45270
1 parent ceef6f7 commit 5a2153a

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

src/compiler/factory/nodeTests.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ namespace ts {
129129
return node.kind === SyntaxKind.StaticKeyword;
130130
}
131131

132+
/* @internal */
133+
export function isAbstractModifier(node: Node): node is AbstractKeyword {
134+
return node.kind === SyntaxKind.AbstractKeyword;
135+
}
136+
132137
/*@internal*/
133138
export function isSuperKeyword(node: Node): node is SuperExpression {
134139
return node.kind === SyntaxKind.SuperKeyword;

src/services/codefixes/fixOverrideModifier.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,13 @@ namespace ts.codefix {
8989
const classElement = findContainerClassElementLike(sourceFile, pos);
9090
const modifiers = classElement.modifiers || emptyArray;
9191
const staticModifier = find(modifiers, isStaticModifier);
92+
const abstractModifier = find(modifiers, isAbstractModifier);
9293
const accessibilityModifier = find(modifiers, m => isAccessibilityModifier(m.kind));
93-
const modifierPos = staticModifier ? staticModifier.end :
94+
const modifierPos = abstractModifier ? abstractModifier.end :
95+
staticModifier ? staticModifier.end :
9496
accessibilityModifier ? accessibilityModifier.end :
9597
classElement.decorators ? skipTrivia(sourceFile.text, classElement.decorators.end) : classElement.getStart(sourceFile);
96-
const options = accessibilityModifier || staticModifier ? { prefix: " " } : { suffix: " " };
98+
const options = accessibilityModifier || staticModifier || abstractModifier ? { prefix: " " } : { suffix: " " };
9799
changeTracker.insertModifierAt(sourceFile, modifierPos, SyntaxKind.OverrideKeyword, options);
98100
}
99101

tests/cases/fourslash/codeFixOverrideModifier12.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111

1212
verify.codeFix({
1313
description: "Add 'override' modifier",
14-
newRangeContent: "override abstract bar() {}",
14+
newRangeContent: "abstract override bar() {}",
1515
index: 0
1616
})

0 commit comments

Comments
 (0)