提交 59abf2eb 编写于 作者: Š Šimon Koníček

Using IsReturnableConstruct

上级 69a752f5
......@@ -1771,7 +1771,7 @@ private IEnumerable<TypeInferenceInfo> InferTypeInYieldStatement(YieldStatementS
return SpecializedCollections.EmptyEnumerable<TypeInferenceInfo>();
}
var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(e => e is LocalFunctionStatementSyntax || e is MemberDeclarationSyntax);
var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct());
var memberSymbol = GetDeclaredMemberSymbolFromOriginalSemanticModel(declaration);
var memberType = GetMemberType(memberSymbol, out _);
......@@ -1825,10 +1825,7 @@ private ITypeSymbol UnwrapTaskLike(ITypeSymbol type, bool isAsync)
return SpecializedCollections.EmptyEnumerable<TypeInferenceInfo>();
}
var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(e =>
e is AnonymousFunctionExpressionSyntax ||
e is LocalFunctionStatementSyntax ||
e is MemberDeclarationSyntax);
var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct());
return ancestor is AnonymousFunctionExpressionSyntax anonymousFunction
? InferTypeInAnonymousFunctionExpression(anonymousFunction)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册