提交 47de3a66 编写于 作者: C CyrusNajmabadi

Remove usage of TypeSwitch.

上级 f39346c8
......@@ -1366,9 +1366,12 @@ private IEnumerable<TypeInferenceInfo> InferTypeInIfStatement(IfStatementSyntax
private IEnumerable<TypeInferenceInfo> GetPatternTypes(PatternSyntax pattern)
{
return pattern.TypeSwitch(
(DeclarationPatternSyntax declarationPattern) => GetTypes(declarationPattern.Type),
(ConstantPatternSyntax constantPattern) => GetTypes(constantPattern.Expression));
switch (pattern)
{
case DeclarationPatternSyntax declarationPattern: return GetTypes(declarationPattern.Type);
case ConstantPatternSyntax constantPattern: return GetTypes(constantPattern.Expression);
default: return null;
}
}
private IEnumerable<TypeInferenceInfo> InferTypeInLockStatement(LockStatementSyntax lockStatement, SyntaxToken? previousToken = null)
......@@ -1740,9 +1743,12 @@ private IEnumerable<TypeInferenceInfo> InferTypeInYieldStatement(YieldStatementS
var memberSymbol = GetDeclaredMemberSymbolFromOriginalSemanticModel(SemanticModel, yieldStatement.GetAncestorOrThis<MemberDeclarationSyntax>());
var memberType = memberSymbol.TypeSwitch(
(IMethodSymbol method) => method.ReturnType,
(IPropertySymbol property) => property.Type);
var memberType = (ITypeSymbol)null;
switch (memberSymbol)
{
case IMethodSymbol method: memberType = method.ReturnType; break;
case IPropertySymbol property: memberType = property.Type; break;
}
if (memberType is INamedTypeSymbol)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册