提交 67de9b07 编写于 作者: Š Šimon Koníček

Changing InferTypeInLambdaExpression to InferTypeInAnonymousFunctionExpression

上级 4ddd01ac
......@@ -1447,7 +1447,7 @@ private IEnumerable<TypeInferenceInfo> InferTypeInParenthesizedLambdaExpression(
return SpecializedCollections.EmptyEnumerable<TypeInferenceInfo>();
}
return InferTypeInLambdaExpression(lambdaExpression);
return InferTypeInAnonymousFunctionExpression(lambdaExpression);
}
private IEnumerable<TypeInferenceInfo> InferTypeInSimpleLambdaExpression(SimpleLambdaExpressionSyntax lambdaExpression, SyntaxToken? previousToken = null)
......@@ -1458,13 +1458,14 @@ private IEnumerable<TypeInferenceInfo> InferTypeInSimpleLambdaExpression(SimpleL
return SpecializedCollections.EmptyEnumerable<TypeInferenceInfo>();
}
return InferTypeInLambdaExpression(lambdaExpression);
return InferTypeInAnonymousFunctionExpression(lambdaExpression);
}
private IEnumerable<TypeInferenceInfo> InferTypeInLambdaExpression(ExpressionSyntax lambdaExpression)
private IEnumerable<TypeInferenceInfo> InferTypeInAnonymousFunctionExpression(AnonymousFunctionExpressionSyntax anonymousFunction)
{
// Func<int,string> = i => Goo();
var types = InferTypes(lambdaExpression);
// Func<int,string> = delegate (int i) { return Goo(); };
var types = InferTypes(anonymousFunction);
var type = types.FirstOrDefault().InferredType.GetDelegateType(this.Compilation);
if (type != null)
......@@ -1862,7 +1863,7 @@ private IEnumerable<TypeInferenceInfo> InferTypeForReturnStatement(ReturnStateme
{
// If we're in a lambda, then use the return type of the lambda to figure out what to
// infer. i.e. Func<int,string> f = i => { return Goo(); }
types = InferTypeInLambdaExpression(lambdaExpression);
types = InferTypeInAnonymousFunctionExpression(lambdaExpression);
isAsync = lambdaExpression.AsyncKeyword.Kind() != SyntaxKind.None;
return;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册