mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-15 04:43:37 -05:00
Fix position of keyword in "Add 'override' modifier" code fix (#45274)
fixes #45270
This commit is contained in:
@@ -129,6 +129,11 @@ namespace ts {
|
||||
return node.kind === SyntaxKind.StaticKeyword;
|
||||
}
|
||||
|
||||
/* @internal */
|
||||
export function isAbstractModifier(node: Node): node is AbstractKeyword {
|
||||
return node.kind === SyntaxKind.AbstractKeyword;
|
||||
}
|
||||
|
||||
/*@internal*/
|
||||
export function isSuperKeyword(node: Node): node is SuperExpression {
|
||||
return node.kind === SyntaxKind.SuperKeyword;
|
||||
|
||||
@@ -89,11 +89,13 @@ namespace ts.codefix {
|
||||
const classElement = findContainerClassElementLike(sourceFile, pos);
|
||||
const modifiers = classElement.modifiers || emptyArray;
|
||||
const staticModifier = find(modifiers, isStaticModifier);
|
||||
const abstractModifier = find(modifiers, isAbstractModifier);
|
||||
const accessibilityModifier = find(modifiers, m => isAccessibilityModifier(m.kind));
|
||||
const modifierPos = staticModifier ? staticModifier.end :
|
||||
const modifierPos = abstractModifier ? abstractModifier.end :
|
||||
staticModifier ? staticModifier.end :
|
||||
accessibilityModifier ? accessibilityModifier.end :
|
||||
classElement.decorators ? skipTrivia(sourceFile.text, classElement.decorators.end) : classElement.getStart(sourceFile);
|
||||
const options = accessibilityModifier || staticModifier ? { prefix: " " } : { suffix: " " };
|
||||
const options = accessibilityModifier || staticModifier || abstractModifier ? { prefix: " " } : { suffix: " " };
|
||||
changeTracker.insertModifierAt(sourceFile, modifierPos, SyntaxKind.OverrideKeyword, options);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
|
||||
verify.codeFix({
|
||||
description: "Add 'override' modifier",
|
||||
newRangeContent: "override abstract bar() {}",
|
||||
newRangeContent: "abstract override bar() {}",
|
||||
index: 0
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user