Skip to content

Commit 19cdd5b

Browse files
Simplify
1 parent 10eabcb commit 19cdd5b

File tree

1 file changed

+15
-21
lines changed

1 file changed

+15
-21
lines changed

src/Features/Core/Portable/ExtractMethod/MethodExtractor.Analyzer.cs

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ private void GenerateVariableInfoMap(
483483
if (symbol is IParameterSymbol && variableDeclared)
484484
continue;
485485

486-
var type = GetSymbolType(symbol);
486+
var type = GetSymbolTypeWithUpdatedNullability(symbol);
487487
if (type == null)
488488
continue;
489489

@@ -527,16 +527,9 @@ PooledDisposer<PooledHashSet<ISymbol>> GetPooledSymbolSet(ImmutableArray<ISymbol
527527
return disposer;
528528
}
529529

530-
ITypeSymbol? GetSymbolType(ISymbol symbol)
530+
ITypeSymbol? GetSymbolTypeWithUpdatedNullability(ISymbol symbol)
531531
{
532-
var type = symbol switch
533-
{
534-
ILocalSymbol local => local.Type,
535-
IParameterSymbol parameter => parameter.Type,
536-
IRangeVariableSymbol rangeVariable => GetRangeVariableType(rangeVariable),
537-
_ => throw ExceptionUtilities.UnexpectedValue(symbol)
538-
};
539-
532+
var type = GetUnderlyingSymbolType(symbol);
540533
if (type is null)
541534
return type;
542535

@@ -578,6 +571,17 @@ static VariableInfo CreateFromSymbol(
578571
}
579572
}
580573

574+
private ITypeSymbol? GetUnderlyingSymbolType(ISymbol symbol)
575+
{
576+
return symbol switch
577+
{
578+
ILocalSymbol local => local.Type,
579+
IParameterSymbol parameter => parameter.Type,
580+
IRangeVariableSymbol rangeVariable => GetRangeVariableType(rangeVariable),
581+
_ => throw ExceptionUtilities.UnexpectedValue(symbol)
582+
};
583+
}
584+
581585
private static void AddVariableToMap(IDictionary<ISymbol, VariableInfo> variableInfoMap, ISymbol localOrParameter, VariableInfo variableInfo)
582586
=> variableInfoMap.Add(localOrParameter, variableInfo);
583587

@@ -745,17 +749,7 @@ private void AppendMethodTypeVariableFromDataFlowAnalysis(
745749
IDictionary<int, ITypeParameterSymbol> sortedMap)
746750
{
747751
foreach (var symbol in variableInfoMap.Keys)
748-
{
749-
var type = symbol switch
750-
{
751-
IParameterSymbol parameter => parameter.Type,
752-
ILocalSymbol local => local.Type,
753-
IRangeVariableSymbol rangeVariable => GetRangeVariableType(rangeVariable),
754-
_ => throw ExceptionUtilities.UnexpectedValue(symbol),
755-
};
756-
757-
AddTypeParametersToMap(TypeParameterCollector.Collect(type), sortedMap);
758-
}
752+
AddTypeParametersToMap(TypeParameterCollector.Collect(GetUnderlyingSymbolType(symbol)), sortedMap);
759753
}
760754

761755
private void AppendMethodTypeParameterFromConstraint(SortedDictionary<int, ITypeParameterSymbol> sortedMap)

0 commit comments

Comments
 (0)