diff --git a/src/rules/preferFunctionOverMethodRule.ts b/src/rules/preferFunctionOverMethodRule.ts index a3eefc34492..7939efb9cc9 100644 --- a/src/rules/preferFunctionOverMethodRule.ts +++ b/src/rules/preferFunctionOverMethodRule.ts @@ -99,7 +99,7 @@ class PreferFunctionOverMethodWalker extends Lint.RuleWalker { } private shouldWarnForModifiers(node: ts.MethodDeclaration): boolean { - if (Lint.hasModifier(node.modifiers, ts.SyntaxKind.StaticKeyword)) { + if (Lint.hasModifier(node.modifiers, ts.SyntaxKind.StaticKeyword, ts.SyntaxKind.AbstractKeyword)) { return false; } // TODO: Also return false if it's marked "override" (https://github.com/palantir/tslint/pull/2037) diff --git a/test/rules/prefer-function-over-method/default/test.ts.lint b/test/rules/prefer-function-over-method/default/test.ts.lint index 7cc2e39d5ac..2fcc46149a3 100644 --- a/test/rules/prefer-function-over-method/default/test.ts.lint +++ b/test/rules/prefer-function-over-method/default/test.ts.lint @@ -44,6 +44,10 @@ class C { ~~~~~~~~~~~~~~~~~ [0] } +abstract class C2 { + abstract abstract(): void; +} + const o = { x() {} }