1 write to Type
Microsoft.CodeAnalysis (1)
Compilation\TypeInfo.cs (1)
45this.Type = type;
875 references to Type
GenerateDocumentationAndConfigFiles (26)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
58return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
220if (typeInfo.Type != null) 222return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (6)
36if (innerTypeInfo is { Type: not null, ConvertedType: not null } && 37!innerTypeInfo.Type.Equals(innerTypeInfo.ConvertedType)) 43if (innerTypeInfo.Type is IDynamicTypeSymbol) 51if (!Equals(semanticModel.GetTypeInfo(parentBinaryLeft).Type, 52semanticModel.GetTypeInfo(parentBinaryRight).Type)) 116=> IsFloatingPoint(typeInfo.Type) || IsFloatingPoint(typeInfo.ConvertedType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (17)
246if (originalTypeInfo.Type == null) 252if (newTypeInfo.Type == null) 268if (SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.Type)) 274if (originalTypeInfo.Type != null && newTypeInfo.Type == null && 636if (newTypeInfo.Type.IsErrorType() && !originalTypeInfo.Type.IsErrorType()) 740var previousOriginalType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode).Type; 741var previousReplacedType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode).Type; 847var originalThrowExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalThrowExpression).Type; 849var newThrowExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(newThrowExpression).Type; 959var originalTargetType = this.OriginalSemanticModel.GetTypeInfo(originalLeft).Type; 962var newTargetType = this.SpeculativeSemanticModel.GetTypeInfo(newLeft).Type; 1034var receiverType = semanticModel.GetTypeInfo(receiver).Type; 1195if (this.OriginalSemanticModel.GetTypeInfo(originalExpression).Type != null && 1196this.SpeculativeSemanticModel.GetTypeInfo(newExpression).Type != null)
ILLink.CodeFixProvider (2)
RequiresUnsafeCodeFixProvider.cs (2)
183if (typeInfo.Type is not null and not IErrorTypeSymbol) 185typeSyntax = SyntaxFactory.ParseTypeName(typeInfo.Type.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat))
Microsoft.Analyzers.Extra (1)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (1)
404var type = e.SemanticModel?.GetTypeInfo(e.Syntax).Type!;
Microsoft.AspNetCore.App.Analyzers (1)
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
206return typeInfo?.Type as INamedTypeSymbol;
Microsoft.AspNetCore.Mvc.Analyzers (1)
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
206return typeInfo?.Type as INamedTypeSymbol;
Microsoft.AspNetCore.Mvc.Api.Analyzers (1)
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
206return typeInfo?.Type as INamedTypeSymbol;
Microsoft.CodeAnalysis (3)
Compilation\TypeInfo.cs (3)
53return object.Equals(this.Type, other.Type) 67Hash.Combine(this.Type,
Microsoft.CodeAnalysis.Analyzers (29)
MetaAnalyzers\DiagnosticAnalyzerAPIUsageAnalyzer.cs (1)
220AddUsedNamedTypeCore(typeInfo.Type, builder, ref hasAccessToTypeFromWorkspaceAssemblies);
MetaAnalyzers\DiagnosticAnalyzerFieldsAnalyzer.cs (1)
135ITypeSymbol? type = semanticModel.GetTypeInfo(typeNode, symbolContext.CancellationToken).Type;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
255AddCoupledNamedTypesCore(builder, typeInfo.Type, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
58return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
220if (typeInfo.Type != null) 222return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (6)
36if (innerTypeInfo is { Type: not null, ConvertedType: not null } && 37!innerTypeInfo.Type.Equals(innerTypeInfo.ConvertedType)) 43if (innerTypeInfo.Type is IDynamicTypeSymbol) 51if (!Equals(semanticModel.GetTypeInfo(parentBinaryLeft).Type, 52semanticModel.GetTypeInfo(parentBinaryRight).Type)) 116=> IsFloatingPoint(typeInfo.Type) || IsFloatingPoint(typeInfo.ConvertedType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (17)
246if (originalTypeInfo.Type == null) 252if (newTypeInfo.Type == null) 268if (SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.Type)) 274if (originalTypeInfo.Type != null && newTypeInfo.Type == null && 636if (newTypeInfo.Type.IsErrorType() && !originalTypeInfo.Type.IsErrorType()) 740var previousOriginalType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode).Type; 741var previousReplacedType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode).Type; 847var originalThrowExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalThrowExpression).Type; 849var newThrowExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(newThrowExpression).Type; 959var originalTargetType = this.OriginalSemanticModel.GetTypeInfo(originalLeft).Type; 962var newTargetType = this.SpeculativeSemanticModel.GetTypeInfo(newLeft).Type; 1034var receiverType = semanticModel.GetTypeInfo(receiver).Type; 1195if (this.OriginalSemanticModel.GetTypeInfo(originalExpression).Type != null && 1196this.SpeculativeSemanticModel.GetTypeInfo(newExpression).Type != null)
Microsoft.CodeAnalysis.AnalyzerUtilities (27)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
255AddCoupledNamedTypesCore(builder, typeInfo.Type, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
58return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
220if (typeInfo.Type != null) 222return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (6)
36if (innerTypeInfo is { Type: not null, ConvertedType: not null } && 37!innerTypeInfo.Type.Equals(innerTypeInfo.ConvertedType)) 43if (innerTypeInfo.Type is IDynamicTypeSymbol) 51if (!Equals(semanticModel.GetTypeInfo(parentBinaryLeft).Type, 52semanticModel.GetTypeInfo(parentBinaryRight).Type)) 116=> IsFloatingPoint(typeInfo.Type) || IsFloatingPoint(typeInfo.ConvertedType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (17)
246if (originalTypeInfo.Type == null) 252if (newTypeInfo.Type == null) 268if (SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.Type)) 274if (originalTypeInfo.Type != null && newTypeInfo.Type == null && 636if (newTypeInfo.Type.IsErrorType() && !originalTypeInfo.Type.IsErrorType()) 740var previousOriginalType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode).Type; 741var previousReplacedType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode).Type; 847var originalThrowExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalThrowExpression).Type; 849var newThrowExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(newThrowExpression).Type; 959var originalTargetType = this.OriginalSemanticModel.GetTypeInfo(originalLeft).Type; 962var newTargetType = this.SpeculativeSemanticModel.GetTypeInfo(newLeft).Type; 1034var receiverType = semanticModel.GetTypeInfo(receiver).Type; 1195if (this.OriginalSemanticModel.GetTypeInfo(originalExpression).Type != null && 1196this.SpeculativeSemanticModel.GetTypeInfo(newExpression).Type != null)
Microsoft.CodeAnalysis.CodeStyle (44)
src\roslyn\src\Analyzers\Core\Analyzers\ForEachCast\AbstractForEachCastDiagnosticAnalyzer.cs (1)
73var collectionType = semanticModel.GetTypeInfo(syntaxFacts.GetExpressionOfForeachStatement(node), cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyBooleanExpression\AbstractSimplifyConditionalDiagnosticAnalyzer.cs (1)
154typeInfo.Type?.SpecialType == SpecialType.System_Boolean &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
215return invocation.SemanticModel?.GetTypeInfo(expression).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForIfNullCheckDiagnosticAnalyzer.cs (1)
138var exprType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
115if (!nullableType.Equals(type.Type?.OriginalDefinition))
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
105conditionLeftIsNull ? conditionRightLow : conditionLeftLow, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractObjectCreationExpressionAnalyzer.cs (1)
157if (typeInfo.Type is IDynamicTypeSymbol || typeInfo.ConvertedType is IDynamicTypeSymbol)
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerAnalyzer.cs (1)
223var type = this.SemanticModel.GetTypeInfo(_objectCreationExpression, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerDiagnosticAnalyzer.cs (2)
149if (objectType.Type == null || !objectType.Type.AllInterfaces.Contains(ienumerableType))
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (1)
202var instanceType = SemanticModel.GetTypeInfo(instance, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (1)
154var parameterType = semanticModel.GetTypeInfo(argumentExpression, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer.cs (4)
192var whenPartType = semanticModel.GetTypeInfo(whenPartMatch, cancellationToken).Type; 196var type = semanticModel.GetTypeInfo(conditionalExpression, cancellationToken).Type; 221var memberType = semanticModel.GetTypeInfo(whenPartToCheck, cancellationToken).Type; 418var typeSymbol = semanticModel.GetTypeInfo(type, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (2)
140var whenPartType = semanticModel.GetTypeInfo(whenPartMatch, cancellationToken).Type; 144var whenPartIsNullable = semanticModel.GetTypeInfo(whenPartMatch, cancellationToken).Type?.OriginalDefinition.SpecialType == SpecialType.System_Nullable_T;
src\roslyn\src\Analyzers\Core\Analyzers\UseObjectInitializer\UseNamedMemberInitializerAnalyzer.cs (1)
126var type = this.SemanticModel.GetTypeInfo(_objectCreationExpression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
220if (typeInfo.Type != null) 222return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (6)
36if (innerTypeInfo is { Type: not null, ConvertedType: not null } && 37!innerTypeInfo.Type.Equals(innerTypeInfo.ConvertedType)) 43if (innerTypeInfo.Type is IDynamicTypeSymbol) 51if (!Equals(semanticModel.GetTypeInfo(parentBinaryLeft).Type, 52semanticModel.GetTypeInfo(parentBinaryRight).Type)) 116=> IsFloatingPoint(typeInfo.Type) || IsFloatingPoint(typeInfo.ConvertedType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (17)
246if (originalTypeInfo.Type == null) 252if (newTypeInfo.Type == null) 268if (SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.Type)) 274if (originalTypeInfo.Type != null && newTypeInfo.Type == null && 636if (newTypeInfo.Type.IsErrorType() && !originalTypeInfo.Type.IsErrorType()) 740var previousOriginalType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode).Type; 741var previousReplacedType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode).Type; 847var originalThrowExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalThrowExpression).Type; 849var newThrowExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(newThrowExpression).Type; 959var originalTargetType = this.OriginalSemanticModel.GetTypeInfo(originalLeft).Type; 962var newTargetType = this.SpeculativeSemanticModel.GetTypeInfo(newLeft).Type; 1034var receiverType = semanticModel.GetTypeInfo(receiver).Type; 1195if (this.OriginalSemanticModel.GetTypeInfo(originalExpression).Type != null && 1196this.SpeculativeSemanticModel.GetTypeInfo(newExpression).Type != null)
Microsoft.CodeAnalysis.CodeStyle.Fixes (16)
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\AbstractAddExplicitCastCodeFixProvider.cs (1)
141var castType = semanticModel.GetTypeInfo(castTypeNode, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (1)
169&& semanticModel.GetTypeInfo(argumentExpression, cancellationToken).Type is ITypeSymbol argumentType
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\InheritanceDistanceComparer.cs (1)
49var baseType = _semanticModel.GetTypeInfo(x.syntax).Type;
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (4)
484if (argumentTypeInfo is { Type: null, ConvertedType: null }) 540if (parameterType.Equals(argumentTypeInfo.Type) || parameterType.Equals(argumentTypeInfo.ConvertedType)) 561if (argumentTypeInfo.Type != null) 563var conversion = compilation.ClassifyCommonConversion(argumentTypeInfo.Type, parameterType);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberService.cs (8)
118if (typeInfo.Type is IPointerTypeSymbol pointerType) 132typeToGenerateIn = attributeType.Type as INamedTypeSymbol; 137typeToGenerateIn = semanticModel.GetTypeInfo(initializedObject, cancellationToken).Type as INamedTypeSymbol; 156typeToGenerateIn = semanticModel.GetTypeInfo(target, cancellationToken).Type as INamedTypeSymbol; 193typeToGenerateIn = typeInfo.Type is ITypeParameterSymbol typeParameter 195: typeInfo.Type as INamedTypeSymbol; 198isColorColorCase = typeInfo.Type != null && semanticInfo.Symbol != null && semanticInfo.Symbol.Name == typeInfo.Type.Name;
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (1)
601var type = semanticModel.GetTypeInfo(node, cancellationToken).Type;
Microsoft.CodeAnalysis.CSharp (2)
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (2)
257queryBody.SelectOrGroup.Span.End - 1, identifierName, SpeculativeBindingOption.BindAsExpression).Type; 263type = SemanticModelOpt.GetTypeInfo(identifier).Type;
Microsoft.CodeAnalysis.CSharp.CodeStyle (87)
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (2)
90if (syntaxContext.SemanticModel.GetTypeInfo(invocationExpression.Expression, syntaxContext.CancellationToken).Type is { TypeKind: TypeKind.FunctionPointer }) 157var type = context.SemanticModel.GetTypeInfo(expression, context.CancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqTypeCheckAndCastDiagnosticAnalyzer.cs (2)
85whereType = semanticModel.GetTypeInfo(whereTypeSyntax, cancellationToken).Type; 201var castType = semanticModel.GetTypeInfo(castTypeArgument, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (4)
171var expressionType = semanticModel.GetTypeInfo(memberAccess.Expression, cancellationToken).Type; 238var argumentType = semanticModel.GetTypeInfo(objectCreation.ArgumentList.Arguments[0].Expression, cancellationToken).Type; 328var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 394var type = state.SemanticModel.GetTypeInfo(memberAccess.Expression, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (7)
113if (originalTypeInfo.Type is IErrorTypeSymbol) 130if (originalTypeInfo.Type != null && 131!originalTypeInfo.Type.Equals(originalTypeInfo.ConvertedType) && 146return CollectionExpressionUtilities.IsConstructibleCollectionType(compilation, semanticModel.GetTypeInfo(parent, cancellationToken).Type); 195var type = originalTypeInfo.Type; 595semanticModel.GetTypeInfo(expression, cancellationToken).Type?.IsValueType == true; 1061var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
159if (semanticModel.GetTypeInfo(testedExpression, cancellationToken).Type is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (1)
164var type = semanticModel.GetTypeInfo(typeNode, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseImplicitObjectCreation\CSharpUseImplicitObjectCreationDiagnosticAnalyzer.cs (2)
146var leftType = semanticModel.GetTypeInfo(typeNode, cancellationToken).Type; 147var rightType = semanticModel.GetTypeInfo(objectCreation, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
76if (semanticModel.GetTypeInfo(castExpression.Type).Type?.SpecialType == SpecialType.System_Object) 78var expressionType = semanticModel.GetTypeInfo(castExpression.Expression).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (3)
87var castType = semanticModel.GetTypeInfo(castExpression.Type).Type; 121var asType = semanticModel.GetTypeInfo(typeNode, cancellationToken).Type; 245if (rightType.Type is null or { NullableAnnotation: NullableAnnotation.Annotated })
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
112var isType = semanticModel.GetTypeInfo(castExpression.Type).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
82=> semanticModel.GetTypeInfo(type, cancellationToken).Type.IsNullable()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (1)
126if (semanticModel.GetTypeInfo(containingTypeName, cancellationToken).Type is not INamedTypeSymbol containingType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DefaultExpressionSyntaxExtensions.cs (2)
52var entityType = semanticModel.GetTypeInfo(typeSyntax, cancellationToken).Type; 53var defaultType = semanticModel.GetTypeInfo(defaultExpression.Type, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (3)
388expressionTypes.Type.IsInlineArray()) 938type = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 996=> semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (2)
74if (semanticModel.GetTypeInfo(varDecl.Type, cancellationToken).Type.IsSpanOrReadOnlySpan()) 376var potentialType = semanticModel.GetSpeculativeTypeInfo(expression.SpanStart, expression, SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (4)
115if (typeInfo.Type != null) 117symbol = typeInfo.Type; 420if (info.Type == null) 425return semanticModel.GenerateNameFromType(info.Type, CSharpSyntaxFacts.Instance, capitalize);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\TypeSyntaxExtensions.cs (1)
38var type = semanticModel.GetTypeInfo(typeSyntax).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
377var type = semanticModel.GetTypeInfo(node, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (22)
128var enumType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type as INamedTypeSymbol; 129var castedType = semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type; 163var enumType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type as INamedTypeSymbol; 164var castedType = semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type; 168var parentCastType = semanticModel.GetTypeInfo(parentCast.Type, cancellationToken).Type; 507var castedExpressionType = originalSemanticModel.GetTypeInfo(castedExpressionNode, cancellationToken).Type; 508var isType = originalSemanticModel.GetTypeInfo(isExpression.Right, cancellationToken).Type; 540var originalExpressionType = originalSemanticModel.GetTypeInfo(castNode, cancellationToken).Type; 541var rewrittenExpressionType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type; 640var castedType = originalSemanticModel.GetTypeInfo(castNode, cancellationToken).Type; 715var castType = semanticModel.GetTypeInfo(castNode, cancellationToken).Type; 971var castType = originalSemanticModel.GetTypeInfo(castExpression, cancellationToken).Type; 1005var otherSideType = originalSemanticModel.GetTypeInfo(otherSide, cancellationToken).Type; 1006var thisSideRewrittenType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type; 1051=> IsNullOrErrorType(info.Type) || IsNullOrErrorType(info.ConvertedType); 1196var castSideType = semanticModel.GetTypeInfo(castSide, cancellationToken).Type; 1197var castedExpressionType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type; 1201var otherSideType = semanticModel.GetTypeInfo(otherSide, cancellationToken).Type; 1219var castType = semanticModel.GetTypeInfo(castNode, cancellationToken).Type; 1220var castedExpressionType = semanticModel.GetTypeInfo(castedExpressionNode, cancellationToken).Type; 1261return typeInfo.Type?.Kind == SymbolKind.ArrayType; 1446var rewrittenType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (15)
386var originalExpressionType = originalExpressionTypeInfo.Type; 387var newExpressionType = newExpressionTypeInfo.Type; 435var originalCaseType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode, this.CancellationToken).Type; 436var newCaseType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode, this.CancellationToken).Type; 494if (!Equals(originalExprType.Type, replacedExprType.Type)) 545if (!Equals(originalExpressionTypeInfo.Type, newExpressionTypeInfo.Type)) 561var originalExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalAnonymousObjectMemberDeclarator.Expression, this.CancellationToken).Type; 562var newExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(replacedAnonymousObjectMemberDeclarator.Expression, this.CancellationToken).Type; 702var originalConvertedType = this.OriginalSemanticModel.GetTypeInfo(originalIsOrAsExpression.Right).Type; 703var newConvertedType = this.SpeculativeSemanticModel.GetTypeInfo(newIsOrAsExpression.Right).Type; 758SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType)) 785SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType)) 804SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (3)
94var declaredTypeSymbol = semanticModel.GetTypeInfo(variableDeclaration.Type.StripRefIfNeeded(), cancellationToken).Type; 112? IsMadeOfSpecialTypes(semanticModel.GetTypeInfo(typeSyntax.StripRefIfNeeded()).Type) 152semanticModel.GetTypeInfo(typeSyntax).Type?.IsSpecialType() == true;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (2)
146return !initializerTypeInfo.Type.IsErrorType(); 155var declaredType = semanticModel.GetTypeInfo(typeName.StripRefIfNeeded(), cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
173var declarationType = semanticModel.GetTypeInfo(declarationTypeNode, cancellationToken).Type; 183var newDeclarationType = newSemanticModel.GetTypeInfo(newDeclarationTypeNode, cancellationToken).Type; 256var declaredType = semanticModel.GetTypeInfo(typeName.StripRefIfNeeded(), cancellationToken).Type; 296var initializerType = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 304var initializerType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (49)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\CSharpAddExplicitCastCodeFixProvider.cs (2)
97var leftType = semanticModel.GetTypeInfo(assignmentExpression.Left).Type; 98var rightType = semanticModel.GetTypeInfo(assignmentExpression.Right).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (3)
194typeInfo.Type is not null && 195!Equals(typeInfo.ConvertedType, typeInfo.Type)) 197var conversion = _semanticModel.Compilation.ClassifyConversion(typeInfo.Type, typeInfo.ConvertedType);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
290=> iEquatable.Equals(semanticModel.GetTypeInfo(baseItem.Type, cancellationToken).Type));
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (3)
77var returnedType = semanticModel.GetTypeInfo(returnedValue, cancellationToken).Type; 93var previousReturnType = semanticModel.GetTypeInfo(declarationTypeToFix, cancellationToken).Type; 167var type = semanticModel.GetTypeInfo(argumentExpression, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (1)
158if (typeInfo.Type is INamedTypeSymbol typeSymbol)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (2)
68type = model.GetTypeInfo(assignment.Right).Type; 73type = model.GetTypeInfo(deconstruction.GetRequiredParent()).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (3)
142typeToGenerateIn = document.SemanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type as INamedTypeSymbol; 144|| document.SemanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type is not INamedTypeSymbol parameterSymbol 175|| document.SemanticModel.GetTypeInfo(expression, cancellationToken).Type is not INamedTypeSymbol parameterSymbol
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (2)
53type: semanticModel.GetTypeInfo(((ConstantPatternSyntax)positionalPattern.Subpatterns[i].Pattern).Expression, cancellationToken).Type ?? semanticModel.Compilation.GetSpecialType(SpecialType.System_Object), 58var targetType = semanticModel.GetTypeInfo(target, cancellationToken: cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateMethodService.cs (1)
66typeToGenerateIn = semanticInfo.Type as INamedTypeSymbol;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (2)
117if (info.Type is ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method } typeParameter) 154result.Add(typeInfo.Type ?? Document.SemanticModel.Compilation.ObjectType);
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
98returnExpressionType = info.Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (1)
125semanticModel.GetTypeInfo(implicitObjectCreation).Type is { } type)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckCodeFixProvider.cs (3)
26var leftPartTypeSymbol = semanticModel.GetTypeInfo(expressionToCoalesce, cancellationToken).Type; 27var rightPartTypeSymbol = semanticModel.GetTypeInfo(rightAssignmentPart, cancellationToken).Type; 28var finalDestinationTypeSymbol = semanticModel.GetTypeInfo(leftAssignmentPart, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (1)
96var type = semanticModel.GetTypeInfo(coalesce, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
134a => a.Expression.Kind() != SyntaxKind.DefaultLiteralExpression && Equals(arrayElementType, semanticModel.GetTypeInfo(a.Expression).Type));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (2)
125var type = semanticModel.GetTypeInfo(expr).Type; 139var governingType = semanticModel.GetTypeInfo(p.Target.Syntax).Type.RemoveNullableIfPresent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (2)
140if (asExpressionTypeInfo.Type != null) 144var asType = asExpressionTypeInfo.Type.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
693return typeInfo.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
119SpeculativeBindingOption.BindAsTypeOrNamespace).Type; 176name.SpanStart, name, SpeculativeBindingOption.BindAsExpression).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (4)
26return typeInfo.Type?.IsErrorType() == false ? typeInfo.Type : semanticModel.Compilation.ObjectType; 33if (typeInfo.Type != null && typeInfo.Type.SpecialType == SpecialType.System_Void)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
63return Equals(localSymbol.Type, rightType.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (1)
130var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (8)
106var typeInferenceInfo = new TypeInferenceInfo(typeInfo.Type); 444if (info.Type is not INamedTypeSymbol type) 465if (info.Type is not INamedTypeSymbol type) 505if (typeInfo.Type != null && typeInfo.Type.IsEnumType()) 507return CreateResult(typeInfo.Type); 571if (info.Type is INamedTypeSymbol type) 1238return CreateResult(typeInfo.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\NullableHelpers\NullableExtensions.cs (1)
13=> typeInfo.Type?.WithNullableAnnotation(typeInfo.Nullability.Annotation);
Microsoft.CodeAnalysis.CSharp.Features (116)
AddImport\CSharpAddImportFeatureService.cs (2)
256return semanticModel.GetTypeInfo(node, cancellationToken).Type; 285return semanticModel.GetTypeInfo(fromClause.Expression, cancellationToken).Type;
Completion\CompletionProviders\AttributeNamedParameterCompletionProvider.cs (2)
225if (within != null && semanticModel.GetTypeInfo(attribute, cancellationToken).Type is INamedTypeSymbol attributeType) 241var attributeType = (INamedTypeSymbol?)semanticModel.GetTypeInfo(attribute, cancellationToken).Type;
Completion\CompletionProviders\AwaitCompletionProvider.cs (3)
92var returnType = semanticModel.GetTypeInfo(existingReturnType, cancellationToken).Type; 210return symbol is ITypeSymbol ? null : semanticModel.GetTypeInfo(memberAccessExpression, cancellationToken).Type; 219return semanticModel.GetTypeInfo(potentialAwaitableExpression, cancellationToken).Type;
Completion\CompletionProviders\CrefCompletionProvider.cs (1)
212var leftType = semanticModel.GetTypeInfo(parent.Container, cancellationToken).Type;
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (3)
152if (typeInfo.Type != null) 157type: typeInfo.Type); 371var type = semanticModel.GetTypeInfo(typeSyntax, cancellationToken).Type;
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (1)
307var methodParameterType = semanticModel.GetTypeInfo(parameterType, cancellationToken).Type;
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (4)
156if (semanticModel.GetTypeInfo(objectCreationExpression, cancellationToken).Type is not INamedTypeSymbol { TypeKind: not TypeKind.Delegate } type) 170var expressionType = semanticModel.GetTypeInfo(elementAccessExpression.Expression, cancellationToken).Type; 215var type = semanticModel.GetTypeInfo(baseType.Type, cancellationToken).Type as INamedTypeSymbol; 231var expressionType = semanticModel.GetTypeInfo(invocationExpression.Expression, cancellationToken).Type as INamedTypeSymbol;
Completion\CompletionProviders\ObjectAndWithInitializerCompletionProvider.cs (3)
74var initializedType = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 130return semanticModel.GetTypeInfo(parent, cancellationToken).Type; 145return semanticModel.GetTypeInfo(withExpression.Expression, cancellationToken).Type;
Completion\CompletionProviders\OverrideCompletionProvider.cs (1)
64returnType = semanticModel.GetTypeInfo(typeSyntax, cancellationToken).Type;
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (1)
69model.GetTypeInfo(foreachCollectionExpression, cancellationToken).Type ??
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (6)
431if (typeCheckMethod(_semanticModel.GetTypeInfo(expressionToVerifyType, _cancellationToken).Type) && 554if (returnTypeInfo.Type.OriginalDefinition?.SpecialType == SpecialType.System_Collections_Generic_IEnumerable_T) 556returnedType = returnTypeInfo.Type; 664var forEachStatementTypeSymbolType = _semanticModel.GetTypeInfo(forEachStatement.Type, _cancellationToken).Type; 666if (Equals(lastSelectExpressionTypeInfo.ConvertedType, lastSelectExpressionTypeInfo.Type) && 880if (_semanticModel.GetTypeInfo(selectClause.Expression, _cancellationToken).Type.ContainsAnonymousType())
Debugging\DataTipInfoGetter.cs (2)
40var type = semanticModel.GetTypeInfo(typeSyntax, cancellationToken).Type; 51var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
ExtractMethod\CSharpMethodExtractor.Analyzer.cs (4)
29if (info.Type is IErrorTypeSymbol) 32return info.Type == null || info.Type.SpecialType == SpecialType.System_Object 33? info.Type
ExtractMethod\CSharpMethodExtractor.PostProcessor.cs (2)
122var type = _semanticModel.GetSpeculativeTypeInfo(_contextPosition, statement.Declaration.Type, SpeculativeBindingOption.BindAsTypeOrNamespace).Type; 187var semanticInfo = _semanticModel.GetSpeculativeTypeInfo(_contextPosition, declarationStatement.Declaration.Type, SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
ExtractMethod\CSharpSelectionResult.ExpressionResult.cs (4)
61return (model.GetTypeInfo(variableDeclExpression.Type, cancellationToken).Type, returnsByRef: false); 76return (model.GetTypeInfo(castExpression, cancellationToken).Type, returnsByRef: false); 122if (info.Type?.SpecialType == SpecialType.System_String && 129return !info.Type.IsObjectType() ? info.GetTypeWithAnnotatedNullability() : info.GetConvertedTypeWithAnnotatedNullability();
GenerateMember\GenerateVariable\CSharpGenerateVariableService.cs (1)
77typeToGenerateIn = info.Type as INamedTypeSymbol;
GenerateType\CSharpGenerateTypeService.cs (1)
437var expressionType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
InlineHints\CSharpInlineTypeHintsService.cs (3)
37var type = semanticModel.GetTypeInfo(variableDeclaration.Type, cancellationToken).Type; 47var type = semanticModel.GetTypeInfo(declarationExpression.Type, cancellationToken).Type; 91var type = semanticModel.GetTypeInfo(implicitNew, cancellationToken).Type;
QuickInfo\CSharpSemanticQuickInfoProvider.cs (1)
262if (typeInfo.Type is { IsValueType: true })
SignatureHelp\AbstractGenericNameSignatureHelpProvider.cs (1)
62: semanticModel.GetTypeInfo(beforeDotExpression, cancellationToken).Type as INamespaceOrTypeSymbol;
SignatureHelp\AttributeSignatureHelpProvider.cs (1)
81if (semanticModel.GetTypeInfo(attribute, cancellationToken).Type is not INamedTypeSymbol attributeType)
SignatureHelp\ElementAccessExpressionSignatureHelpProvider.cs (2)
186expressionType = semanticModel.GetTypeInfo(memberAccessExpression.Expression, cancellationToken).Type; 198expressionType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
SignatureHelp\InvocationExpressionSignatureHelpProvider.cs (2)
71var invokedType = semanticModel.GetTypeInfo(invocationExpression.Expression, cancellationToken).Type; 118var invokedType = semanticModel.GetTypeInfo(invocationExpression.Expression, cancellationToken).Type;
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_MethodGroup.cs (1)
54throughType = semanticModel.GetTypeInfo(throughExpression, cancellationToken).Type;
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.cs (1)
61if (semanticModel.GetTypeInfo(objectCreationExpression, cancellationToken).Type is not INamedTypeSymbol type)
SignatureHelp\PrimaryConstructorBaseTypeSignatureHelpProvider.cs (1)
85if (semanticModel.GetTypeInfo(baseTypeSyntax.Type, cancellationToken).Type is not INamedTypeSymbol baseType)
Snippets\AbstractCSharpForLoopSnippetProvider.cs (1)
99var inlineExpressionType = inlineExpressionInfo.TypeInfo.Type;
Snippets\CSharpForEachLoopSnippetProvider.cs (1)
85typeInfo.Type!.CanBeAsynchronouslyEnumerated(semanticModel.Compilation))
Snippets\CSharpSnippetFunctionService.cs (1)
42var typeSymbol = model.GetTypeInfo(expressionNode, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (2)
90if (syntaxContext.SemanticModel.GetTypeInfo(invocationExpression.Expression, syntaxContext.CancellationToken).Type is { TypeKind: TypeKind.FunctionPointer }) 157var type = context.SemanticModel.GetTypeInfo(expression, context.CancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqTypeCheckAndCastDiagnosticAnalyzer.cs (2)
85whereType = semanticModel.GetTypeInfo(whereTypeSyntax, cancellationToken).Type; 201var castType = semanticModel.GetTypeInfo(castTypeArgument, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (4)
171var expressionType = semanticModel.GetTypeInfo(memberAccess.Expression, cancellationToken).Type; 238var argumentType = semanticModel.GetTypeInfo(objectCreation.ArgumentList.Arguments[0].Expression, cancellationToken).Type; 328var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 394var type = state.SemanticModel.GetTypeInfo(memberAccess.Expression, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (7)
113if (originalTypeInfo.Type is IErrorTypeSymbol) 130if (originalTypeInfo.Type != null && 131!originalTypeInfo.Type.Equals(originalTypeInfo.ConvertedType) && 146return CollectionExpressionUtilities.IsConstructibleCollectionType(compilation, semanticModel.GetTypeInfo(parent, cancellationToken).Type); 195var type = originalTypeInfo.Type; 595semanticModel.GetTypeInfo(expression, cancellationToken).Type?.IsValueType == true; 1061var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
159if (semanticModel.GetTypeInfo(testedExpression, cancellationToken).Type is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (1)
164var type = semanticModel.GetTypeInfo(typeNode, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseImplicitObjectCreation\CSharpUseImplicitObjectCreationDiagnosticAnalyzer.cs (2)
146var leftType = semanticModel.GetTypeInfo(typeNode, cancellationToken).Type; 147var rightType = semanticModel.GetTypeInfo(objectCreation, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
76if (semanticModel.GetTypeInfo(castExpression.Type).Type?.SpecialType == SpecialType.System_Object) 78var expressionType = semanticModel.GetTypeInfo(castExpression.Expression).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (3)
87var castType = semanticModel.GetTypeInfo(castExpression.Type).Type; 121var asType = semanticModel.GetTypeInfo(typeNode, cancellationToken).Type; 245if (rightType.Type is null or { NullableAnnotation: NullableAnnotation.Annotated })
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
112var isType = semanticModel.GetTypeInfo(castExpression.Type).Type;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
82=> semanticModel.GetTypeInfo(type, cancellationToken).Type.IsNullable()
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\CSharpAddExplicitCastCodeFixProvider.cs (2)
97var leftType = semanticModel.GetTypeInfo(assignmentExpression.Left).Type; 98var rightType = semanticModel.GetTypeInfo(assignmentExpression.Right).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (3)
194typeInfo.Type is not null && 195!Equals(typeInfo.ConvertedType, typeInfo.Type)) 197var conversion = _semanticModel.Compilation.ClassifyConversion(typeInfo.Type, typeInfo.ConvertedType);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (1)
290=> iEquatable.Equals(semanticModel.GetTypeInfo(baseItem.Type, cancellationToken).Type));
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (3)
77var returnedType = semanticModel.GetTypeInfo(returnedValue, cancellationToken).Type; 93var previousReturnType = semanticModel.GetTypeInfo(declarationTypeToFix, cancellationToken).Type; 167var type = semanticModel.GetTypeInfo(argumentExpression, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (1)
158if (typeInfo.Type is INamedTypeSymbol typeSymbol)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (2)
68type = model.GetTypeInfo(assignment.Right).Type; 73type = model.GetTypeInfo(deconstruction.GetRequiredParent()).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (3)
142typeToGenerateIn = document.SemanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type as INamedTypeSymbol; 144|| document.SemanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type is not INamedTypeSymbol parameterSymbol 175|| document.SemanticModel.GetTypeInfo(expression, cancellationToken).Type is not INamedTypeSymbol parameterSymbol
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (2)
53type: semanticModel.GetTypeInfo(((ConstantPatternSyntax)positionalPattern.Subpatterns[i].Pattern).Expression, cancellationToken).Type ?? semanticModel.Compilation.GetSpecialType(SpecialType.System_Object), 58var targetType = semanticModel.GetTypeInfo(target, cancellationToken: cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateMethodService.cs (1)
66typeToGenerateIn = semanticInfo.Type as INamedTypeSymbol;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (2)
117if (info.Type is ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method } typeParameter) 154result.Add(typeInfo.Type ?? Document.SemanticModel.Compilation.ObjectType);
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
98returnExpressionType = info.Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (1)
125semanticModel.GetTypeInfo(implicitObjectCreation).Type is { } type)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckCodeFixProvider.cs (3)
26var leftPartTypeSymbol = semanticModel.GetTypeInfo(expressionToCoalesce, cancellationToken).Type; 27var rightPartTypeSymbol = semanticModel.GetTypeInfo(rightAssignmentPart, cancellationToken).Type; 28var finalDestinationTypeSymbol = semanticModel.GetTypeInfo(leftAssignmentPart, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (1)
96var type = semanticModel.GetTypeInfo(coalesce, cancellationToken).Type;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
134a => a.Expression.Kind() != SyntaxKind.DefaultLiteralExpression && Equals(arrayElementType, semanticModel.GetTypeInfo(a.Expression).Type));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (2)
125var type = semanticModel.GetTypeInfo(expr).Type; 139var governingType = semanticModel.GetTypeInfo(p.Target.Syntax).Type.RemoveNullableIfPresent();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (2)
140if (asExpressionTypeInfo.Type != null) 144var asType = asExpressionTypeInfo.Type.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
UseNamedArguments\CSharpUseNamedArgumentsCodeRefactoringProvider.cs (1)
45var argType = semanticModel.GetTypeInfo(GetArgumentExpression(argument)).Type;
UsePatternMatching\CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs (1)
127var typeSymbol = semanticModel.GetTypeInfo(type, cancellationToken).Type;
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (3)
Microsoft.NetCore.Analyzers\Performance\CSharpPreferDictionaryTryMethodsOverContainsKeyGuardFixer.cs (1)
121var type = model.GetTypeInfo(typeNode!, cancellationToken).Type;
Microsoft.NetCore.Analyzers\Runtime\CSharpAvoidRedundantRegexIsMatchBeforeMatch.Fixer.cs (2)
333return typeInfo.Type is not null && 335SymbolEqualityComparer.Default.Equals(typeInfo.Type, matchType);
Microsoft.CodeAnalysis.CSharp.Workspaces (96)
Recommendations\CSharpRecommendationServiceRunner.cs (6)
61explicitLambdaParameterType = _context.SemanticModel.GetTypeInfo(parameter.Type, _cancellationToken).Type; 605var container = _context.SemanticModel.GetTypeInfo(identifier, _cancellationToken).Type; 655var container = _context.SemanticModel.GetTypeInfo(expression, _cancellationToken).Type; 665var container = _context.SemanticModel.GetTypeInfo(expression, _cancellationToken).Type; 680var container = _context.SemanticModel.GetTypeInfo(expression, _cancellationToken).Type; 929: semanticModel.GetTypeInfo(originalExpression, _cancellationToken).Type;
Simplification\CSharpSimplificationService.Expander.cs (4)
82var objectCreationType = _semanticModel.GetTypeInfo(objectCreationExpression).Type; 793if (typeinfo.Type != null && typeinfo.Type.TypeKind == TypeKind.Dynamic) 1017var type = semanticModel.GetTypeInfo(typeOfExpression.Type, _cancellationToken).Type as INamedTypeSymbol;
Simplification\Reducers\CSharpNullableAnnotationReducer.cs (1)
52var type = semanticModel.GetTypeInfo(node, cancellationToken).Type;
Simplification\Simplifiers\AbstractCSharpSimplifier.cs (4)
151var type = semanticModel.GetTypeInfo(node, cancellationToken).Type; 165var type = semanticModel.GetTypeInfo(node, cancellationToken).Type; 290if (!symbol.Equals(typeInfo.Type)) 387semanticModel.GetTypeInfo(invocationExpr).Type.SpecialType == SpecialType.System_String;
Simplification\Simplifiers\ExpressionSimplifier.cs (1)
375var type = semanticModel.GetTypeInfo(memberAccess.GetRequiredParent(), cancellationToken).Type;
Simplification\Simplifiers\NameSimplifier.cs (1)
250var type = semanticModel.GetTypeInfo(name, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (1)
126if (semanticModel.GetTypeInfo(containingTypeName, cancellationToken).Type is not INamedTypeSymbol containingType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DefaultExpressionSyntaxExtensions.cs (2)
52var entityType = semanticModel.GetTypeInfo(typeSyntax, cancellationToken).Type; 53var defaultType = semanticModel.GetTypeInfo(defaultExpression.Type, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (3)
388expressionTypes.Type.IsInlineArray()) 938type = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 996=> semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (2)
74if (semanticModel.GetTypeInfo(varDecl.Type, cancellationToken).Type.IsSpanOrReadOnlySpan()) 376var potentialType = semanticModel.GetSpeculativeTypeInfo(expression.SpanStart, expression, SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (4)
115if (typeInfo.Type != null) 117symbol = typeInfo.Type; 420if (info.Type == null) 425return semanticModel.GenerateNameFromType(info.Type, CSharpSyntaxFacts.Instance, capitalize);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\TypeSyntaxExtensions.cs (1)
38var type = semanticModel.GetTypeInfo(typeSyntax).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
377var type = semanticModel.GetTypeInfo(node, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (22)
128var enumType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type as INamedTypeSymbol; 129var castedType = semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type; 163var enumType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type as INamedTypeSymbol; 164var castedType = semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type; 168var parentCastType = semanticModel.GetTypeInfo(parentCast.Type, cancellationToken).Type; 507var castedExpressionType = originalSemanticModel.GetTypeInfo(castedExpressionNode, cancellationToken).Type; 508var isType = originalSemanticModel.GetTypeInfo(isExpression.Right, cancellationToken).Type; 540var originalExpressionType = originalSemanticModel.GetTypeInfo(castNode, cancellationToken).Type; 541var rewrittenExpressionType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type; 640var castedType = originalSemanticModel.GetTypeInfo(castNode, cancellationToken).Type; 715var castType = semanticModel.GetTypeInfo(castNode, cancellationToken).Type; 971var castType = originalSemanticModel.GetTypeInfo(castExpression, cancellationToken).Type; 1005var otherSideType = originalSemanticModel.GetTypeInfo(otherSide, cancellationToken).Type; 1006var thisSideRewrittenType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type; 1051=> IsNullOrErrorType(info.Type) || IsNullOrErrorType(info.ConvertedType); 1196var castSideType = semanticModel.GetTypeInfo(castSide, cancellationToken).Type; 1197var castedExpressionType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type; 1201var otherSideType = semanticModel.GetTypeInfo(otherSide, cancellationToken).Type; 1219var castType = semanticModel.GetTypeInfo(castNode, cancellationToken).Type; 1220var castedExpressionType = semanticModel.GetTypeInfo(castedExpressionNode, cancellationToken).Type; 1261return typeInfo.Type?.Kind == SymbolKind.ArrayType; 1446var rewrittenType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (15)
386var originalExpressionType = originalExpressionTypeInfo.Type; 387var newExpressionType = newExpressionTypeInfo.Type; 435var originalCaseType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode, this.CancellationToken).Type; 436var newCaseType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode, this.CancellationToken).Type; 494if (!Equals(originalExprType.Type, replacedExprType.Type)) 545if (!Equals(originalExpressionTypeInfo.Type, newExpressionTypeInfo.Type)) 561var originalExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalAnonymousObjectMemberDeclarator.Expression, this.CancellationToken).Type; 562var newExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(replacedAnonymousObjectMemberDeclarator.Expression, this.CancellationToken).Type; 702var originalConvertedType = this.OriginalSemanticModel.GetTypeInfo(originalIsOrAsExpression.Right).Type; 703var newConvertedType = this.SpeculativeSemanticModel.GetTypeInfo(newIsOrAsExpression.Right).Type; 758SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType)) 785SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType)) 804SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (3)
94var declaredTypeSymbol = semanticModel.GetTypeInfo(variableDeclaration.Type.StripRefIfNeeded(), cancellationToken).Type; 112? IsMadeOfSpecialTypes(semanticModel.GetTypeInfo(typeSyntax.StripRefIfNeeded()).Type) 152semanticModel.GetTypeInfo(typeSyntax).Type?.IsSpecialType() == true;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (2)
146return !initializerTypeInfo.Type.IsErrorType(); 155var declaredType = semanticModel.GetTypeInfo(typeName.StripRefIfNeeded(), cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
173var declarationType = semanticModel.GetTypeInfo(declarationTypeNode, cancellationToken).Type; 183var newDeclarationType = newSemanticModel.GetTypeInfo(newDeclarationTypeNode, cancellationToken).Type; 256var declaredType = semanticModel.GetTypeInfo(typeName.StripRefIfNeeded(), cancellationToken).Type; 296var initializerType = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 304var initializerType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
693return typeInfo.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
119SpeculativeBindingOption.BindAsTypeOrNamespace).Type; 176name.SpanStart, name, SpeculativeBindingOption.BindAsExpression).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (4)
26return typeInfo.Type?.IsErrorType() == false ? typeInfo.Type : semanticModel.Compilation.ObjectType; 33if (typeInfo.Type != null && typeInfo.Type.SpecialType == SpecialType.System_Void)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
63return Equals(localSymbol.Type, rightType.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (1)
130var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (8)
106var typeInferenceInfo = new TypeInferenceInfo(typeInfo.Type); 444if (info.Type is not INamedTypeSymbol type) 465if (info.Type is not INamedTypeSymbol type) 505if (typeInfo.Type != null && typeInfo.Type.IsEnumType()) 507return CreateResult(typeInfo.Type); 571if (info.Type is INamedTypeSymbol type) 1238return CreateResult(typeInfo.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\NullableHelpers\NullableExtensions.cs (1)
13=> typeInfo.Type?.WithNullableAnnotation(typeInfo.Nullability.Annotation);
Microsoft.CodeAnalysis.Features (81)
AddImport\AbstractAddImportFeatureService.cs (2)
615return semanticModel.GetTypeInfo(innerExpression).Type; 627return semanticModel.GetTypeInfo(collectionExpression).Type;
AddImport\SymbolReferenceFinder.cs (2)
404return (semanticInfo.Type, isStatic: symbol is ITypeSymbol); 429var objectCreationType = _semanticModel.GetTypeInfo(objectCreationExpression, cancellationToken).Type;
ChangeSignature\AbstractChangeSignatureService.cs (1)
1063return !semanticModel.Compilation.HasImplicitConversion(fromType.Type, toType);
CodeRefactorings\AddAwait\AbstractAddAwaitCodeRefactoringProvider.cs (2)
77if (!model.GetTypeInfo(node.GetRequiredParent().GetRequiredParent(), cancellationToken).Type.IsErrorType()) 104var type = model.GetTypeInfo(node, cancellationToken).Type;
Completion\Providers\AbstractInternalsVisibleToCompletionProvider.cs (1)
123var type = typeInfo.Type;
Completion\Providers\ImportCompletionProvider\AbstractExtensionMethodImportCompletionProvider.cs (1)
105var receiverTypeSymbol = semanticModel.GetTypeInfo(expressionNode, cancellationToken).Type;
ConvertAnonymousType\AbstractConvertAnonymousTypeCodeRefactoringProvider.cs (1)
30var anonymousType = semanticModel.GetTypeInfo(anonymousObject, cancellationToken).Type as INamedTypeSymbol;
ConvertAnonymousType\AbstractConvertAnonymousTypeToClassCodeRefactoringProvider.cs (1)
201var childType = semanticModel.GetTypeInfo(childCreation, cancellationToken).Type;
ConvertAnonymousType\AbstractConvertAnonymousTypeToTupleCodeRefactoringProvider.cs (1)
92if (semanticModel.GetTypeInfo(childNode, cancellationToken).Type is INamedTypeSymbol childType)
ConvertCast\AbstractConvertCastCodeRefactoringProvider.cs (1)
49var type = semanticModel.GetTypeInfo(typeNode, cancellationToken).Type;
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (3)
105if (collectionType.Type is null or IErrorTypeSymbol) 117containingType, collectionType.Type, 139containingType, collectionType.Type, iterationType, cancellationToken),
ConvertNumericLiteral\AbstractConvertNumericLiteralCodeRefactoringProvider.cs (1)
48var symbol = semanticModel.GetTypeInfo(numericLiteralNode, cancellationToken).Type;
ConvertToInterpolatedString\AbstractConvertPlaceholderToInterpolatedStringRefactoringProvider.cs (2)
103if (typeInfo.Type is IArrayTypeSymbol || typeInfo.ConvertedType is IArrayTypeSymbol) 111var type = semanticModel.GetTypeInfo(syntaxFacts.GetExpressionOfArgument(argument), cancellationToken).Type;
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (3)
207var tupleType = semanticModel.GetTypeInfo(expressionOrType, cancellationToken).Type as INamedTypeSymbol; 649if (semanticModel.GetTypeInfo(childCreation, cancellationToken).Type is not INamedTypeSymbol childType) 762if (semanticModel.GetTypeInfo(childTupleType, cancellationToken).Type is not INamedTypeSymbol childType)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (2)
2145var oldType = oldModel.GetTypeInfo(oldTypedNodes[t], cancellationToken).Type; 2146var newType = newModel.GetTypeInfo(newTypedNodes[t], cancellationToken).Type;
EmbeddedLanguages\AbstractLanguageDetector.cs (2)
127if (exprType.Type != null && 128TryGetOptions(semanticModel, exprType.Type, expr, cancellationToken, out var options))
EmbeddedLanguages\DateAndTime\LanguageServices\DateAndTimeLanguageDetector.cs (1)
63var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
EmbeddedLanguages\EmbeddedLanguageDetector.cs (1)
171var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
ExtractMethod\MethodExtractor.cs (1)
238var currentType = semanticModel.GetSpeculativeTypeInfo(this.OriginalSelectionResult.FinalSpan.Start, typeName, SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
GenerateType\AbstractGenerateTypeService.cs (1)
199var type = argument == null ? null : semanticModel.GetTypeInfo(argument, cancellationToken).Type;
GenerateType\AbstractGenerateTypeService.State.cs (1)
160if (typeInfo.Type.IsModuleType())
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (1)
69var expressionType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
IntroduceUsingStatement\AbstractIntroduceUsingStatementCodeRefactoringProvider.cs (1)
89var expressionType = semanticModel.GetTypeInfo(syntaxFacts.GetExpressionOfExpressionStatement(expressionStatement), cancellationToken).Type;
IntroduceVariable\AbstractIntroduceLocalForExpressionCodeRefactoringProvider.cs (1)
43var type = semanticModel.GetTypeInfo(expression).Type;
IntroduceVariable\AbstractIntroduceVariableService.cs (3)
383if (typeInfo.Type?.SpecialType == SpecialType.System_String && 389if (typeInfo.Type != null) 391return typeInfo.Type;
IntroduceVariable\AbstractIntroduceVariableService.State.cs (1)
80var expressionType = Document.SemanticModel.GetTypeInfo(Expression, cancellationToken).Type;
IntroduceVariable\AbstractIntroduceVariableService.State_ConstructorInitializer.cs (1)
36if (info.Type.ContainsAnonymousType())
IntroduceVariable\AbstractIntroduceVariableService.State_Field.cs (1)
43if (info.Type.ContainsAnonymousType())
IntroduceVariable\AbstractIntroduceVariableService.State_Query.cs (2)
30if (info.Type == null || info.Type.SpecialType == SpecialType.System_Void)
QuickInfo\CommonSemanticQuickInfoProvider.cs (2)
355if (IsOk(typeInfo.Type)) 356return new TokenInformation([typeInfo.Type]);
ReplaceConditionalWithStatements\AbstractReplaceConditionalWithStatementsCodeRefactoringProvider.cs (1)
284var conditionalType = semanticModel.GetTypeInfo(conditionalExpression, cancellationToken).Type;
Snippets\SnippetProviders\AbstractInlineStatementSnippetProvider.cs (1)
52return TryGetInlineExpressionInfo(syntaxContext, syntaxFacts, semanticModel, out var expressionInfo, cancellationToken) && expressionInfo.TypeInfo.Type is { } type
src\roslyn\src\Analyzers\Core\Analyzers\ForEachCast\AbstractForEachCastDiagnosticAnalyzer.cs (1)
73var collectionType = semanticModel.GetTypeInfo(syntaxFacts.GetExpressionOfForeachStatement(node), cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyBooleanExpression\AbstractSimplifyConditionalDiagnosticAnalyzer.cs (1)
154typeInfo.Type?.SpecialType == SpecialType.System_Boolean &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
215return invocation.SemanticModel?.GetTypeInfo(expression).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForIfNullCheckDiagnosticAnalyzer.cs (1)
138var exprType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
115if (!nullableType.Equals(type.Type?.OriginalDefinition))
src\roslyn\src\Analyzers\Core\Analyzers\UseCoalesceExpression\AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
105conditionLeftIsNull ? conditionRightLow : conditionLeftLow, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractObjectCreationExpressionAnalyzer.cs (1)
157if (typeInfo.Type is IDynamicTypeSymbol || typeInfo.ConvertedType is IDynamicTypeSymbol)
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerAnalyzer.cs (1)
223var type = this.SemanticModel.GetTypeInfo(_objectCreationExpression, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerDiagnosticAnalyzer.cs (2)
149if (objectType.Type == null || !objectType.Type.AllInterfaces.Contains(ienumerableType))
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (1)
202var instanceType = SemanticModel.GetTypeInfo(instance, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (1)
154var parameterType = semanticModel.GetTypeInfo(argumentExpression, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer.cs (4)
192var whenPartType = semanticModel.GetTypeInfo(whenPartMatch, cancellationToken).Type; 196var type = semanticModel.GetTypeInfo(conditionalExpression, cancellationToken).Type; 221var memberType = semanticModel.GetTypeInfo(whenPartToCheck, cancellationToken).Type; 418var typeSymbol = semanticModel.GetTypeInfo(type, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\Analyzers\UseNullPropagation\AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (2)
140var whenPartType = semanticModel.GetTypeInfo(whenPartMatch, cancellationToken).Type; 144var whenPartIsNullable = semanticModel.GetTypeInfo(whenPartMatch, cancellationToken).Type?.OriginalDefinition.SpecialType == SpecialType.System_Nullable_T;
src\roslyn\src\Analyzers\Core\Analyzers\UseObjectInitializer\UseNamedMemberInitializerAnalyzer.cs (1)
126var type = this.SemanticModel.GetTypeInfo(_objectCreationExpression, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\AbstractAddExplicitCastCodeFixProvider.cs (1)
141var castType = semanticModel.GetTypeInfo(castTypeNode, cancellationToken).Type;
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (1)
169&& semanticModel.GetTypeInfo(argumentExpression, cancellationToken).Type is ITypeSymbol argumentType
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\InheritanceDistanceComparer.cs (1)
49var baseType = _semanticModel.GetTypeInfo(x.syntax).Type;
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (4)
484if (argumentTypeInfo is { Type: null, ConvertedType: null }) 540if (parameterType.Equals(argumentTypeInfo.Type) || parameterType.Equals(argumentTypeInfo.ConvertedType)) 561if (argumentTypeInfo.Type != null) 563var conversion = compilation.ClassifyCommonConversion(argumentTypeInfo.Type, parameterType);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberService.cs (8)
118if (typeInfo.Type is IPointerTypeSymbol pointerType) 132typeToGenerateIn = attributeType.Type as INamedTypeSymbol; 137typeToGenerateIn = semanticModel.GetTypeInfo(initializedObject, cancellationToken).Type as INamedTypeSymbol; 156typeToGenerateIn = semanticModel.GetTypeInfo(target, cancellationToken).Type as INamedTypeSymbol; 193typeToGenerateIn = typeInfo.Type is ITypeParameterSymbol typeParameter 195: typeInfo.Type as INamedTypeSymbol; 198isColorColorCase = typeInfo.Type != null && semanticInfo.Symbol != null && semanticInfo.Symbol.Name == typeInfo.Type.Name;
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (1)
601var type = semanticModel.GetTypeInfo(node, cancellationToken).Type;
Microsoft.CodeAnalysis.ResxSourceGenerator (27)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
255AddCoupledNamedTypesCore(builder, typeInfo.Type, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
58return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
220if (typeInfo.Type != null) 222return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (6)
36if (innerTypeInfo is { Type: not null, ConvertedType: not null } && 37!innerTypeInfo.Type.Equals(innerTypeInfo.ConvertedType)) 43if (innerTypeInfo.Type is IDynamicTypeSymbol) 51if (!Equals(semanticModel.GetTypeInfo(parentBinaryLeft).Type, 52semanticModel.GetTypeInfo(parentBinaryRight).Type)) 116=> IsFloatingPoint(typeInfo.Type) || IsFloatingPoint(typeInfo.ConvertedType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (17)
246if (originalTypeInfo.Type == null) 252if (newTypeInfo.Type == null) 268if (SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.Type)) 274if (originalTypeInfo.Type != null && newTypeInfo.Type == null && 636if (newTypeInfo.Type.IsErrorType() && !originalTypeInfo.Type.IsErrorType()) 740var previousOriginalType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode).Type; 741var previousReplacedType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode).Type; 847var originalThrowExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalThrowExpression).Type; 849var newThrowExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(newThrowExpression).Type; 959var originalTargetType = this.OriginalSemanticModel.GetTypeInfo(originalLeft).Type; 962var newTargetType = this.SpeculativeSemanticModel.GetTypeInfo(newLeft).Type; 1034var receiverType = semanticModel.GetTypeInfo(receiver).Type; 1195if (this.OriginalSemanticModel.GetTypeInfo(originalExpression).Type != null && 1196this.SpeculativeSemanticModel.GetTypeInfo(newExpression).Type != null)
Microsoft.CodeAnalysis.VisualBasic (2)
Compilation\VisualBasicCompilation.vb (2)
849Return info.Type.SpecialType <> SpecialType.System_Void 854Return info.Type.SpecialType <> SpecialType.System_Void
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (17)
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyObjectCreation\VisualBasicSimplifyObjectCreationDiagnosticAnalyzer.vb (2)
56If symbolInfo.Type IsNot Nothing AndAlso symbolInfo.Type.Equals(symbolInfo.ConvertedType, SymbolEqualityComparer.Default) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (3)
111If typeInfo.Type IsNot Nothing AndAlso typeInfo.Type.SpecialType = SpecialType.System_Void Then 120Dim symbol = If(typeInfo.Type, symbolInfo.GetAnySymbol())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (4)
59If typeInfo.Type IsNot Nothing Then 60symbol = typeInfo.Type 224If info.Type Is Nothing Then 228Return semanticModel.GenerateNameFromType(info.Type, VisualBasicSyntaxFacts.Instance, capitalize)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (8)
65Return semanticModel.GetTypeInfo(parentExpression, cancellationToken).Type 69If Not Object.Equals(expressionTypeInfo.Type, expressionTypeInfo.ConvertedType) Then 93Return semanticModel.GetTypeInfo(parentAssignmentStatement.Left, cancellationToken).Type 110Return semanticModel.GetTypeInfo(otherExpression, cancellationToken).Type 116Return semanticModel.GetTypeInfo(parentSimpleArgument.Expression, cancellationToken).Type 152Return semanticModel.GetTypeInfo(asClause.Type).Type 200Dim castType = castTypeInfo.Type 212castExpressionType = _semanticModel.GetTypeInfo(_castExpressionNode, _cancellationToken).Type
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (1)
144SpeculativeBindingOption.BindAsTypeOrNamespace).Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicSemanticFactsService.vb (1)
152Dim type = semanticModel.GetTypeInfo(expression, cancellationToken).Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicTypeInferenceService.TypeInferrer.vb (7)
30If info.Type IsNot Nothing AndAlso info.Type.TypeKind <> TypeKind.Error Then 31Return CreateResult(info.Type) 262If typeInfo.Type IsNot Nothing AndAlso typeInfo.Type.IsEnumType() Then 263Return CreateResult(typeInfo.Type) 281If TypeOf expressionType.Type Is IArrayTypeSymbol Then
Microsoft.CodeAnalysis.VisualBasic.Features (21)
AddImport\VisualBasicAddImportFeatureService.vb (2)
264type = semanticModel.GetTypeInfo(fromClause.Variables.First().Expression, cancellationToken).Type 267type = semanticModel.GetTypeInfo(aggregateClause.Variables.First().Expression, cancellationToken).Type
CodeFixes\GenerateEvent\GenerateEventCodeFixProvider.vb (2)
172Dim typeSymbol = TryCast(semanticModel.GetTypeInfo(handlerExpression, cancellationToken).Type, INamedTypeSymbol) 213eventType = TryCast(semanticModel.GetTypeInfo(qualifier, cancellationToken).Type, INamedTypeSymbol)
Completion\CompletionProviders\AwaitCompletionProvider.vb (1)
62Return If(TypeOf symbol Is ITypeSymbol, Nothing, semanticModel.GetTypeInfo(memberAccessExpression, cancellationToken).Type)
Completion\CompletionProviders\CrefCompletionProvider.vb (1)
178Dim leftType = semanticModel.GetTypeInfo(qualifiedName.Left, cancellationToken).Type
Completion\CompletionProviders\ImplementsClauseCompletionProvider.vb (1)
163Dim container As INamespaceOrTypeSymbol = leftHandTypeInfo.Type
Completion\CompletionProviders\NamedParameterCompletionProvider.vb (2)
144Dim type = TryCast(semanticModel.GetTypeInfo(objectCreationExpression, cancellationToken).Type, INamedTypeSymbol) 160Dim attributeType = TryCast(semanticModel.GetTypeInfo(attribute, cancellationToken).Type, INamedTypeSymbol)
ExtractMethod\VisualBasicSelectionResult.vb (5)
150Return If(info.Type.IsObjectType(), info.ConvertedType, info.Type) 179If If(info.Type?.SpecialType = SpecialType.System_String, False) AndAlso 186Return If(info.Type.IsObjectType(), info.ConvertedType, info.Type)
QuickInfo\VisualBasicSemanticQuickInfoProvider.vb (2)
216If typeInfo.Type IsNot Nothing Then 217builder.AddRange(typeInfo.Type.ToMinimalDisplayParts(semanticModel, position))
SignatureHelp\AttributeSignatureHelpProvider.vb (1)
60Dim attributeType = TryCast(semanticModel.GetTypeInfo(attribute, cancellationToken).Type, INamedTypeSymbol)
SignatureHelp\InvocationExpressionSignatureHelpProvider.ElementAccess.vb (1)
25throughType = semanticModel.GetTypeInfo(leftExpression, cancellationToken).Type
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.vb (1)
70Dim type = TryCast(semanticModel.GetTypeInfo(objectCreationExpression, cancellationToken).Type, INamedTypeSymbol)
src\roslyn\src\Analyzers\VisualBasic\Analyzers\SimplifyObjectCreation\VisualBasicSimplifyObjectCreationDiagnosticAnalyzer.vb (2)
56If symbolInfo.Type IsNot Nothing AndAlso symbolInfo.Type.Equals(symbolInfo.ConvertedType, SymbolEqualityComparer.Default) Then
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (1)
Microsoft.NetCore.Analyzers\Performance\BasicPreferDictionaryTryMethodsOverContainsKeyGuardFixer.vb (1)
232Dim type = DirectCast(semanticModel.GetTypeInfo(dictionary).Type, INamedTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (38)
Classification\SyntaxClassification\ImportAliasClauseSyntaxClassifier.vb (2)
30If symbolInfo.Type IsNot Nothing Then 31Dim classification = GetClassificationForType(symbolInfo.Type)
CodeCleanup\AsyncOrIteratorFunctionReturnTypeFixer.vb (2)
97Dim returnType = semanticModel.GetTypeInfo(oldAsClauseOpt.Type, cancellationToken).Type 130Dim returnType = semanticModel.GetTypeInfo(oldAsClauseOpt.Type, cancellationToken).Type
CodeCleanup\Providers\AddMissingTokensCodeCleanupProvider.vb (1)
133Dim type = Me._model.GetTypeInfo(expression, _cancellationToken).Type
Simplification\Reducers\VisualBasicVariableDeclaratorReducer.vb (2)
95initializerType = semanticModel.GetTypeInfo(variableDeclarator.Initializer.Value).Type 118Dim valueType = semanticModel.GetTypeInfo(DirectCast(parent, ForStatementSyntax).ToValue).Type
Simplification\Simplifiers\AbstractVisualBasicSimplifier.vb (1)
114Dim type = semanticModel.GetTypeInfo(node).Type
Simplification\Simplifiers\NameSimplifier.vb (1)
158Dim type = semanticModel.GetTypeInfo(name, cancellationToken).Type
Simplification\VisualBasicSimplificationService.Expander.vb (3)
77If typeInfo.Type IsNot Nothing AndAlso 78typeInfo.Type.IsAnonymousDelegateType() AndAlso 795Dim type = TryCast(semanticModel.GetTypeInfo(typeOfExpression.Type, _cancellationToken).Type, INamedTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (3)
111If typeInfo.Type IsNot Nothing AndAlso typeInfo.Type.SpecialType = SpecialType.System_Void Then 120Dim symbol = If(typeInfo.Type, symbolInfo.GetAnySymbol())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (4)
59If typeInfo.Type IsNot Nothing Then 60symbol = typeInfo.Type 224If info.Type Is Nothing Then 228Return semanticModel.GenerateNameFromType(info.Type, VisualBasicSyntaxFacts.Instance, capitalize)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (8)
65Return semanticModel.GetTypeInfo(parentExpression, cancellationToken).Type 69If Not Object.Equals(expressionTypeInfo.Type, expressionTypeInfo.ConvertedType) Then 93Return semanticModel.GetTypeInfo(parentAssignmentStatement.Left, cancellationToken).Type 110Return semanticModel.GetTypeInfo(otherExpression, cancellationToken).Type 116Return semanticModel.GetTypeInfo(parentSimpleArgument.Expression, cancellationToken).Type 152Return semanticModel.GetTypeInfo(asClause.Type).Type 200Dim castType = castTypeInfo.Type 212castExpressionType = _semanticModel.GetTypeInfo(_castExpressionNode, _cancellationToken).Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (1)
144SpeculativeBindingOption.BindAsTypeOrNamespace).Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicSemanticFactsService.vb (1)
152Dim type = semanticModel.GetTypeInfo(expression, cancellationToken).Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicTypeInferenceService.TypeInferrer.vb (7)
30If info.Type IsNot Nothing AndAlso info.Type.TypeKind <> TypeKind.Error Then 31Return CreateResult(info.Type) 262If typeInfo.Type IsNot Nothing AndAlso typeInfo.Type.IsEnumType() Then 263Return CreateResult(typeInfo.Type) 281If TypeOf expressionType.Type Is IArrayTypeSymbol Then
Utilities\IntrinsicOperators\AbstractIntrinsicOperatorDocumentation.vb (2)
45If typeInfo.Type IsNot Nothing Then 46suffixParts.AddRange(typeInfo.Type.ToMinimalDisplayParts(semanticModel, position))
Microsoft.CodeAnalysis.Workspaces (27)
Editing\SymbolEditorExtensions.cs (1)
44var typeRef = gen.GetBaseAndInterfaceTypes(decl).FirstOrDefault(r => model.GetTypeInfo(r, cancellationToken).Type.Equals(baseOrInterfaceType));
Shared\Extensions\SemanticModelExtensions.cs (1)
114type = typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
220if (typeInfo.Type != null) 222return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (6)
36if (innerTypeInfo is { Type: not null, ConvertedType: not null } && 37!innerTypeInfo.Type.Equals(innerTypeInfo.ConvertedType)) 43if (innerTypeInfo.Type is IDynamicTypeSymbol) 51if (!Equals(semanticModel.GetTypeInfo(parentBinaryLeft).Type, 52semanticModel.GetTypeInfo(parentBinaryRight).Type)) 116=> IsFloatingPoint(typeInfo.Type) || IsFloatingPoint(typeInfo.ConvertedType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (17)
246if (originalTypeInfo.Type == null) 252if (newTypeInfo.Type == null) 268if (SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.Type)) 274if (originalTypeInfo.Type != null && newTypeInfo.Type == null && 636if (newTypeInfo.Type.IsErrorType() && !originalTypeInfo.Type.IsErrorType()) 740var previousOriginalType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode).Type; 741var previousReplacedType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode).Type; 847var originalThrowExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalThrowExpression).Type; 849var newThrowExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(newThrowExpression).Type; 959var originalTargetType = this.OriginalSemanticModel.GetTypeInfo(originalLeft).Type; 962var newTargetType = this.SpeculativeSemanticModel.GetTypeInfo(newLeft).Type; 1034var receiverType = semanticModel.GetTypeInfo(receiver).Type; 1195if (this.OriginalSemanticModel.GetTypeInfo(originalExpression).Type != null && 1196this.SpeculativeSemanticModel.GetTypeInfo(newExpression).Type != null)
Microsoft.Maui.Controls.BindingSourceGen (8)
BindingSourceGenerator.cs (1)
196 var lambdaResultType = semanticModel.GetTypeInfo(lambdaBody, t).Type;
InvocationParser.cs (1)
97 var secondArgumentType = _context.SemanticModel.GetTypeInfo(secondArgument, cancellationToken: t).Type;
PathParser.cs (6)
44 var typeInfo = _context.SemanticModel.GetTypeInfo(memberAccess).Type; 74 var elementType = _context.SemanticModel.GetTypeInfo(elementAccess).Type; 108 var typeInfo = _context.SemanticModel.GetTypeInfo(memberBinding).Type; 119 var elementType = _context.SemanticModel.GetTypeInfo(elementBinding).Type; 141 var typeInfo = _context.SemanticModel.GetTypeInfo(castTo).Type; 160 var typeInfo = _context.SemanticModel.GetTypeInfo(castExpression.Type).Type;
Microsoft.ML.InternalCodeAnalyzer (1)
ContractsCheckNameofFixProvider.cs (1)
134var type = semanticModel.GetTypeInfo(argParam.Type, context.CancellationToken).Type;
Roslyn.Diagnostics.Analyzers (32)
AbstractApplyTraitToClass`1.cs (3)
56if (!SymbolEqualityComparer.Default.Equals(attributeType.Type, traitAttribute)) 95if (attributeType.Type is null) 102if (!SymbolEqualityComparer.Default.Equals(attributeType.Type, state.TraitAttribute))
SpecializedEnumerableCreationAnalyzer.cs (1)
138typeInfo.Type is IArrayTypeSymbol arrayType &&
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
255AddCoupledNamedTypesCore(builder, typeInfo.Type, context.WellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
58return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
220if (typeInfo.Type != null) 222return typeInfo.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (6)
36if (innerTypeInfo is { Type: not null, ConvertedType: not null } && 37!innerTypeInfo.Type.Equals(innerTypeInfo.ConvertedType)) 43if (innerTypeInfo.Type is IDynamicTypeSymbol) 51if (!Equals(semanticModel.GetTypeInfo(parentBinaryLeft).Type, 52semanticModel.GetTypeInfo(parentBinaryRight).Type)) 116=> IsFloatingPoint(typeInfo.Type) || IsFloatingPoint(typeInfo.ConvertedType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (17)
246if (originalTypeInfo.Type == null) 252if (newTypeInfo.Type == null) 268if (SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.Type)) 274if (originalTypeInfo.Type != null && newTypeInfo.Type == null && 636if (newTypeInfo.Type.IsErrorType() && !originalTypeInfo.Type.IsErrorType()) 740var previousOriginalType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode).Type; 741var previousReplacedType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode).Type; 847var originalThrowExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalThrowExpression).Type; 849var newThrowExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(newThrowExpression).Type; 959var originalTargetType = this.OriginalSemanticModel.GetTypeInfo(originalLeft).Type; 962var newTargetType = this.SpeculativeSemanticModel.GetTypeInfo(newLeft).Type; 1034var receiverType = semanticModel.GetTypeInfo(receiver).Type; 1195if (this.OriginalSemanticModel.GetTypeInfo(originalExpression).Type != null && 1196this.SpeculativeSemanticModel.GetTypeInfo(newExpression).Type != null)
SymbolDeclaredEventMustBeGeneratedForSourceSymbols.cs (1)
128ITypeSymbol argumentType = context.SemanticModel.GetTypeInfo(argument, context.CancellationToken).Type;
Roslyn.Diagnostics.CSharp.Analyzers (79)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (1)
126if (semanticModel.GetTypeInfo(containingTypeName, cancellationToken).Type is not INamedTypeSymbol containingType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DefaultExpressionSyntaxExtensions.cs (2)
52var entityType = semanticModel.GetTypeInfo(typeSyntax, cancellationToken).Type; 53var defaultType = semanticModel.GetTypeInfo(defaultExpression.Type, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (3)
388expressionTypes.Type.IsInlineArray()) 938type = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 996=> semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (2)
74if (semanticModel.GetTypeInfo(varDecl.Type, cancellationToken).Type.IsSpanOrReadOnlySpan()) 376var potentialType = semanticModel.GetSpeculativeTypeInfo(expression.SpanStart, expression, SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (4)
115if (typeInfo.Type != null) 117symbol = typeInfo.Type; 420if (info.Type == null) 425return semanticModel.GenerateNameFromType(info.Type, CSharpSyntaxFacts.Instance, capitalize);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\TypeSyntaxExtensions.cs (1)
38var type = semanticModel.GetTypeInfo(typeSyntax).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
377var type = semanticModel.GetTypeInfo(node, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (22)
128var enumType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type as INamedTypeSymbol; 129var castedType = semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type; 163var enumType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type as INamedTypeSymbol; 164var castedType = semanticModel.GetTypeInfo(castExpression.Type, cancellationToken).Type; 168var parentCastType = semanticModel.GetTypeInfo(parentCast.Type, cancellationToken).Type; 507var castedExpressionType = originalSemanticModel.GetTypeInfo(castedExpressionNode, cancellationToken).Type; 508var isType = originalSemanticModel.GetTypeInfo(isExpression.Right, cancellationToken).Type; 540var originalExpressionType = originalSemanticModel.GetTypeInfo(castNode, cancellationToken).Type; 541var rewrittenExpressionType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type; 640var castedType = originalSemanticModel.GetTypeInfo(castNode, cancellationToken).Type; 715var castType = semanticModel.GetTypeInfo(castNode, cancellationToken).Type; 971var castType = originalSemanticModel.GetTypeInfo(castExpression, cancellationToken).Type; 1005var otherSideType = originalSemanticModel.GetTypeInfo(otherSide, cancellationToken).Type; 1006var thisSideRewrittenType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type; 1051=> IsNullOrErrorType(info.Type) || IsNullOrErrorType(info.ConvertedType); 1196var castSideType = semanticModel.GetTypeInfo(castSide, cancellationToken).Type; 1197var castedExpressionType = semanticModel.GetTypeInfo(castExpression.Expression, cancellationToken).Type; 1201var otherSideType = semanticModel.GetTypeInfo(otherSide, cancellationToken).Type; 1219var castType = semanticModel.GetTypeInfo(castNode, cancellationToken).Type; 1220var castedExpressionType = semanticModel.GetTypeInfo(castedExpressionNode, cancellationToken).Type; 1261return typeInfo.Type?.Kind == SymbolKind.ArrayType; 1446var rewrittenType = rewrittenSemanticModel.GetTypeInfo(rewrittenExpression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (15)
386var originalExpressionType = originalExpressionTypeInfo.Type; 387var newExpressionType = newExpressionTypeInfo.Type; 435var originalCaseType = this.OriginalSemanticModel.GetTypeInfo(previousOriginalNode, this.CancellationToken).Type; 436var newCaseType = this.SpeculativeSemanticModel.GetTypeInfo(previousReplacedNode, this.CancellationToken).Type; 494if (!Equals(originalExprType.Type, replacedExprType.Type)) 545if (!Equals(originalExpressionTypeInfo.Type, newExpressionTypeInfo.Type)) 561var originalExpressionType = this.OriginalSemanticModel.GetTypeInfo(originalAnonymousObjectMemberDeclarator.Expression, this.CancellationToken).Type; 562var newExpressionType = this.SpeculativeSemanticModel.GetTypeInfo(replacedAnonymousObjectMemberDeclarator.Expression, this.CancellationToken).Type; 702var originalConvertedType = this.OriginalSemanticModel.GetTypeInfo(originalIsOrAsExpression.Right).Type; 703var newConvertedType = this.SpeculativeSemanticModel.GetTypeInfo(newIsOrAsExpression.Right).Type; 758SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType)) 785SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType)) 804SymbolsAreCompatible(originalTypeInfo.Type, newTypeInfo.ConvertedType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (3)
94var declaredTypeSymbol = semanticModel.GetTypeInfo(variableDeclaration.Type.StripRefIfNeeded(), cancellationToken).Type; 112? IsMadeOfSpecialTypes(semanticModel.GetTypeInfo(typeSyntax.StripRefIfNeeded()).Type) 152semanticModel.GetTypeInfo(typeSyntax).Type?.IsSpecialType() == true;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (2)
146return !initializerTypeInfo.Type.IsErrorType(); 155var declaredType = semanticModel.GetTypeInfo(typeName.StripRefIfNeeded(), cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
173var declarationType = semanticModel.GetTypeInfo(declarationTypeNode, cancellationToken).Type; 183var newDeclarationType = newSemanticModel.GetTypeInfo(newDeclarationTypeNode, cancellationToken).Type; 256var declaredType = semanticModel.GetTypeInfo(typeName.StripRefIfNeeded(), cancellationToken).Type; 296var initializerType = semanticModel.GetTypeInfo(expression, cancellationToken).Type; 304var initializerType = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
693return typeInfo.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
119SpeculativeBindingOption.BindAsTypeOrNamespace).Type; 176name.SpanStart, name, SpeculativeBindingOption.BindAsExpression).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (4)
26return typeInfo.Type?.IsErrorType() == false ? typeInfo.Type : semanticModel.Compilation.ObjectType; 33if (typeInfo.Type != null && typeInfo.Type.SpecialType == SpecialType.System_Void)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
63return Equals(localSymbol.Type, rightType.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (1)
130var type = semanticModel.GetTypeInfo(expression, cancellationToken).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (8)
106var typeInferenceInfo = new TypeInferenceInfo(typeInfo.Type); 444if (info.Type is not INamedTypeSymbol type) 465if (info.Type is not INamedTypeSymbol type) 505if (typeInfo.Type != null && typeInfo.Type.IsEnumType()) 507return CreateResult(typeInfo.Type); 571if (info.Type is INamedTypeSymbol type) 1238return CreateResult(typeInfo.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\NullableHelpers\NullableExtensions.cs (1)
13=> typeInfo.Type?.WithNullableAnnotation(typeInfo.Nullability.Annotation);
Roslyn.Diagnostics.VisualBasic.Analyzers (24)
BasicSpecializedEnumerableCreationAnalyzer.vb (1)
62If typeInfo.Type IsNot Nothing Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (3)
111If typeInfo.Type IsNot Nothing AndAlso typeInfo.Type.SpecialType = SpecialType.System_Void Then 120Dim symbol = If(typeInfo.Type, symbolInfo.GetAnySymbol())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (4)
59If typeInfo.Type IsNot Nothing Then 60symbol = typeInfo.Type 224If info.Type Is Nothing Then 228Return semanticModel.GenerateNameFromType(info.Type, VisualBasicSyntaxFacts.Instance, capitalize)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (8)
65Return semanticModel.GetTypeInfo(parentExpression, cancellationToken).Type 69If Not Object.Equals(expressionTypeInfo.Type, expressionTypeInfo.ConvertedType) Then 93Return semanticModel.GetTypeInfo(parentAssignmentStatement.Left, cancellationToken).Type 110Return semanticModel.GetTypeInfo(otherExpression, cancellationToken).Type 116Return semanticModel.GetTypeInfo(parentSimpleArgument.Expression, cancellationToken).Type 152Return semanticModel.GetTypeInfo(asClause.Type).Type 200Dim castType = castTypeInfo.Type 212castExpressionType = _semanticModel.GetTypeInfo(_castExpressionNode, _cancellationToken).Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb (1)
144SpeculativeBindingOption.BindAsTypeOrNamespace).Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicTypeInferenceService.TypeInferrer.vb (7)
30If info.Type IsNot Nothing AndAlso info.Type.TypeKind <> TypeKind.Error Then 31Return CreateResult(info.Type) 262If typeInfo.Type IsNot Nothing AndAlso typeInfo.Type.IsEnumType() Then 263Return CreateResult(typeInfo.Type) 281If TypeOf expressionType.Type Is IArrayTypeSymbol Then
System.Windows.Forms.Analyzers.CSharp (1)
System\Windows\Forms\CSharp\Analyzers\AvoidPassingTaskWithoutCancellationToken\AvoidPassingTaskWithoutCancellationTokenAnalyzer.cs (1)
72if (objectTypeInfo.Type is not INamedTypeSymbol objectType
System.Windows.Forms.Analyzers.VisualBasic (2)
Analyzers\AvoidPassingTaskWithoutCancellationToken\AvoidPassingTaskWithoutCancellationTokenAnalyzer.vb (2)
74If Not (TypeOf objectTypeInfo.Type Is INamedTypeSymbol) Then 78Dim objectType = DirectCast(objectTypeInfo.Type, INamedTypeSymbol)
System.Windows.Forms.PrivateSourceGenerators (1)
System\Windows\Forms\SourceGenerators\EnumValidationGenerator.cs (1)
218ITypeSymbol? enumType = semanticModel.GetTypeInfo(argument, cancellationToken).Type;