From 2fb9ab798c2c3615bb51dba22b6855fe41eea4bc Mon Sep 17 00:00:00 2001 From: Arthur Ozga Date: Thu, 1 Jun 2017 16:03:11 -0700 Subject: [PATCH] repond to feedback --- src/compiler/checker.ts | 1 - src/compiler/types.ts | 1 - src/services/codefixes/fixAddMissingMember.ts | 3 ++- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e9b197f2863..f7450bb6da6 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -110,7 +110,6 @@ namespace ts { getParameterType: getTypeAtPosition, getReturnTypeOfSignature, getNonNullableType, - getBaseTypeVariableOfClass, typeToTypeNode: nodeBuilder.typeToTypeNode, indexInfoToIndexSignatureDeclaration: nodeBuilder.indexInfoToIndexSignatureDeclaration, signatureToSignatureDeclaration: nodeBuilder.signatureToSignatureDeclaration, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index ee02d37addb..561d84b5d71 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2530,7 +2530,6 @@ namespace ts { */ /* @internal */ getParameterType(signature: Signature, parameterIndex: number): Type; getNonNullableType(type: Type): Type; - /* @internal */ getBaseTypeVariableOfClass(symbol: Symbol): Type | undefined; /** Note that the resulting nodes cannot be checked. */ typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode; diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index 80dd16c5f58..1587b47c01b 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -49,7 +49,8 @@ namespace ts.codefix { const symbol = leftExpressionType.symbol; if (symbol.flags & SymbolFlags.Class) { classDeclaration = symbol.declarations && symbol.declarations[0]; - if (getObjectFlags(leftExpressionType) & ObjectFlags.Anonymous && symbol.flags & SymbolFlags.Class && !checker.getBaseTypeVariableOfClass(symbol)) { + if (leftExpressionType !== checker.getDeclaredTypeOfSymbol(symbol)) { + // The expression is a class symbol but the type is not the instance-side. makeStatic = true; } }