2 implementations of SemanticModel
Microsoft.CodeAnalysis (1)
Operations\Operation.cs (1)
123SemanticModel? IOperation.SemanticModel => _owningSemanticModelOpt?.ContainingPublicModelOrSelf;
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (1)
Semantics\CollectionExpressionTests.cs (1)
25801SemanticModel IOperation.SemanticModel => throw null;
89 references to SemanticModel
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Specs\InterceptorInfo.cs (1)
192SourceReferenceResolver? sourceReferenceResolver = invocation.SemanticModel?.Compilation.Options.SourceReferenceResolver;
Microsoft.Analyzers.Extra (1)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (1)
404var type = e.SemanticModel?.GetTypeInfo(e.Syntax).Type!;
Microsoft.AspNetCore.App.Analyzers (4)
RouteHandlers\RouteHandlerAnalyzer.cs (2)
128var methodOperation = syntaxNode.SyntaxTree == invocation.SemanticModel!.SyntaxTree 129? invocation.SemanticModel.GetOperation(syntaxNode, context.CancellationToken)
src\Shared\Roslyn\CodeAnalysisExtensions.cs (2)
183return GetReceiverType(invocation.Instance.Syntax, invocation.SemanticModel, cancellationToken); 190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
Microsoft.AspNetCore.Http.RequestDelegateGenerator (1)
StaticRouteHandlerModel\Endpoint.cs (1)
166var filePath = operation.Syntax.SyntaxTree.GetInterceptorFilePath(operation.SemanticModel?.Compilation.Options.SourceReferenceResolver);
Microsoft.AspNetCore.Mvc.Analyzers (2)
src\Shared\Roslyn\CodeAnalysisExtensions.cs (2)
183return GetReceiverType(invocation.Instance.Syntax, invocation.SemanticModel, cancellationToken); 190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
Microsoft.AspNetCore.Mvc.Api.Analyzers (2)
src\Shared\Roslyn\CodeAnalysisExtensions.cs (2)
183return GetReceiverType(invocation.Instance.Syntax, invocation.SemanticModel, cancellationToken); 190return GetReceiverType(firstArg.Value.Syntax, invocation.SemanticModel, cancellationToken);
Microsoft.CodeAnalysis (3)
Operations\Operation.cs (1)
127/// Note that this may be different than <see cref="IOperation.SemanticModel"/>, which
Operations\OperationExtensions.cs (2)
47var model = operation.SemanticModel; 358if (operation.SemanticModel == null)
Microsoft.CodeAnalysis.CodeStyle (14)
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
406var symbolInfo = nameofArgument.SemanticModel!.GetSymbolInfo(nameofArgument.Syntax, operationContext.CancellationToken);
src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (8)
79Contract.ThrowIfNull(expression.SemanticModel); 91FindType<IFormattable>(expression.SemanticModel) is { } systemIFormattable && 139Contract.ThrowIfNull(operation.SemanticModel); 144return IsType<CultureInfo>(member.ContainingType, operation.SemanticModel); 148return IsType<NumberFormatInfo>(member.ContainingType, operation.SemanticModel) 149|| IsType<DateTimeFormatInfo>(member.ContainingType, operation.SemanticModel); 158Contract.ThrowIfNull(operation.SemanticModel); 168} && IsType<FormattableString>(containingType, operation.SemanticModel);
src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
168return invocation.SemanticModel?.GetTypeInfo(expression).Type as INamedTypeSymbol;
src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (1)
69!AreEqualOrHaveImplicitConversion(trueAssignment.Type, falseAssignment.Type, trueAssignment.SemanticModel!.Compilation))
src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
80var semanticModel = context.Operation.SemanticModel;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
401var compilation = firstBlock.SemanticModel!.Compilation;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
194var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
Microsoft.CodeAnalysis.CSharp.CodeStyle (9)
src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
221var semanticModel = blockOperation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
198var semanticModel = instance.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (1)
84var semanticModel = operation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
88var semanticModel = operation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (3)
33Contract.ThrowIfNull(operation.SemanticModel); 62if (operation.SemanticModel.TryGetSpeculativeSemanticModel(typeSyntax.SpanStart, dummyStatement, out var speculativeModel)) 64var originalInfo = operation.SemanticModel.GetTypeInfo(binaryExpression.Right);
src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (1)
543var semanticModel = operation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
86var semanticModel = context.Operation.SemanticModel;
Microsoft.CodeAnalysis.CSharp.Features (15)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (2)
19=> !operation.SemanticModel.AnalyzeControlFlow(operation.Syntax).EndPointIsReachable; 32=> !operation.SemanticModel.AnalyzeControlFlow(operation.Syntax).ExitPoints.Any(static n => n.IsKind(SyntaxKind.BreakStatement));
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (3)
111Debug.Assert(operation.SemanticModel is not null); 112var requiresBreak = operation.SemanticModel.AnalyzeControlFlow(node).EndPointIsReachable; 113var requiresBlock = !operation.SemanticModel.AnalyzeDataFlow(node).VariablesDeclared.IsDefaultOrEmpty;
src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
221var semanticModel = blockOperation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
198var semanticModel = instance.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (1)
84var semanticModel = operation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
88var semanticModel = operation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (3)
33Contract.ThrowIfNull(operation.SemanticModel); 62if (operation.SemanticModel.TryGetSpeculativeSemanticModel(typeSyntax.SpanStart, dummyStatement, out var speculativeModel)) 64var originalInfo = operation.SemanticModel.GetTypeInfo(binaryExpression.Right);
src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (1)
543var semanticModel = operation.SemanticModel;
src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
86var semanticModel = context.Operation.SemanticModel;
src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (1)
111var semanticModel = p.Target.SemanticModel;
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (1)
IOperation\IOperationTests.cs (1)
684Assert.Same(model, operation.SemanticModel);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
CSharpTestBase.cs (1)
2037Assert.Same(model, operation.SemanticModel);
Microsoft.CodeAnalysis.Features (15)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (2)
462RoslynDebug.AssertNotNull(operation.SemanticModel); 465return CanImplicitlyConvert(operation.SemanticModel, operation.Syntax, _switchTargetType);
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
406var symbolInfo = nameofArgument.SemanticModel!.GetSymbolInfo(nameofArgument.Syntax, operationContext.CancellationToken);
src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (8)
79Contract.ThrowIfNull(expression.SemanticModel); 91FindType<IFormattable>(expression.SemanticModel) is { } systemIFormattable && 139Contract.ThrowIfNull(operation.SemanticModel); 144return IsType<CultureInfo>(member.ContainingType, operation.SemanticModel); 148return IsType<NumberFormatInfo>(member.ContainingType, operation.SemanticModel) 149|| IsType<DateTimeFormatInfo>(member.ContainingType, operation.SemanticModel); 158Contract.ThrowIfNull(operation.SemanticModel); 168} && IsType<FormattableString>(containingType, operation.SemanticModel);
src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
168return invocation.SemanticModel?.GetTypeInfo(expression).Type as INamedTypeSymbol;
src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (1)
69!AreEqualOrHaveImplicitConversion(trueAssignment.Type, falseAssignment.Type, trueAssignment.SemanticModel!.Compilation))
src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
80var semanticModel = context.Operation.SemanticModel;
ValueTracking\ValueTracker.OperationCollector.cs (1)
73var semanticModel = operation.SemanticModel;
Microsoft.CodeAnalysis.Test.Utilities (11)
CommonTestBase.cs (2)
658Assert.Same(model, operation.SemanticModel); 659Assert.Same(model, clonedOperation.SemanticModel);
Compilation\CompilationExtensions.cs (1)
304Assert.Same(semanticModel, operation.SemanticModel);
Compilation\ControlFlowGraphVerifier.cs (2)
1633Assert.Null(root.SemanticModel); 1641Assert.Null(operation.SemanticModel);
Compilation\TestOperationVisitor.cs (5)
109if (operation.SemanticModel != null) 111Assert.Same(operation.SemanticModel, operation.SemanticModel.ContainingPublicModelOrSelf); 757CheckOperators(operation.SemanticModel, operation.Syntax); 792CheckOperators(operation.SemanticModel, operation.Syntax);
Diagnostics\CouldHaveMoreSpecificTypeAnalyzer.cs (1)
70var value = new LiteralOperation(increment.SemanticModel, syntax, type, constantValue, isImplicit);
Microsoft.CodeAnalysis.VisualBasic.Features (1)
ConvertIfToSwitch\VisualBasicConvertIfToSwitchCodeRefactoringProvider.Analyzer.vb (1)
20Return Not (statements.Count = 0 OrElse operation.SemanticModel.AnalyzeControlFlow(statements.First(), statements.Last()).EndPointIsReachable)
Microsoft.CodeAnalysis.VisualBasic.Test.Utilities (2)
BasicTestBase.vb (2)
792Assert.Same(semanticModel, operation.SemanticModel) 924Assert.Same(semanticModel, operation.SemanticModel)
Microsoft.CodeAnalysis.Workspaces (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (1)
401var compilation = firstBlock.SemanticModel!.Compilation;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
194var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
Microsoft.Interop.ComInterfaceGenerator (2)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (2)
123operation.TargetMethod.ToMinimalDisplayString(operation.SemanticModel, operation.Syntax.SpanStart), 124targetType.ToMinimalDisplayString(operation.SemanticModel, operation.Syntax.SpanStart)));
System.Private.CoreLib.Generators (2)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (2)
600var decomposedCondition = DecomposeConditionForIsSupportedGroups(context, operation.SemanticModel, condition); 669var decomposedCondition = DecomposeConditionForIsSupportedGroups(context, operation.SemanticModel, condition);