diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index 3c09c850ce5..6cd6d0d7f18 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -190,7 +190,7 @@ namespace ts.codefix { return { kind: InfoKind.JsxAttributes, token, attributes, parentDeclaration: token.parent }; } - if (isIdentifier(token) && isCallExpression(parent)) { + if (isIdentifier(token) && isCallExpression(parent) && parent.expression === token) { return { kind: InfoKind.Function, token, call: parent, sourceFile, modifierFlags: ModifierFlags.None, parentDeclaration: sourceFile }; } diff --git a/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration19.ts b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration19.ts new file mode 100644 index 00000000000..72caa99c572 --- /dev/null +++ b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration19.ts @@ -0,0 +1,6 @@ +/// + +////declare function f(x: number): any; +////f(foo); + +verify.not.codeFixAvailable("fixMissingFunctionDeclaration"); diff --git a/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration20.ts b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration20.ts new file mode 100644 index 00000000000..e8a77670a22 --- /dev/null +++ b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration20.ts @@ -0,0 +1,8 @@ +/// + +////const a = { +//// b: { f(x: number) {} } +////} +////a.b.f(foo); + +verify.not.codeFixAvailable("fixMissingFunctionDeclaration");