Fix contextual typing of object literal methods

This commit is contained in:
Jason Freeman 2015-04-30 15:27:58 -07:00
parent d163f8326d
commit a9055b8729

View File

@ -5952,8 +5952,10 @@ module ts {
}
function getContextualSignatureForFunctionLikeDeclaration(node: FunctionLikeDeclaration): Signature {
// Only function expressions and arrow functions are contextually typed.
return isFunctionExpressionOrArrowFunction(node) ? getContextualSignature(<FunctionExpression>node) : undefined;
// Only function expressions, arrow functions, and object literal methods are contextually typed.
return isFunctionExpressionOrArrowFunction(node) || isObjectLiteralMethod(node)
? getContextualSignature(<FunctionExpression>node)
: undefined;
}
// Return the contextual signature for a given expression node. A contextual type provides a