1 implementation of SemanticModel
Microsoft.CodeAnalysis (1)
Operations\Operation.cs (1)
124SemanticModel? IOperation.SemanticModel => _owningSemanticModelOpt?.ContainingPublicModelOrSelf;
71 references to SemanticModel
Microsoft.CodeAnalysis (3)
Operations\Operation.cs (1)
128/// 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 (13)
AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
363var symbolInfo = nameofArgument.SemanticModel.GetSymbolInfo(nameofArgument.Syntax, operationContext.CancellationToken);
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);
AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
171return invocation.SemanticModel?.GetTypeInfo(expression).Type as INamedTypeSymbol;
AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
79var semanticModel = context.Operation.SemanticModel;
OperationExtensions.cs (1)
395var compilation = firstBlock.SemanticModel!.Compilation;
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
194var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);
Microsoft.CodeAnalysis.CSharp.CodeStyle (8)
AnalyzedPattern.cs (3)
31Contract.ThrowIfNull(operation.SemanticModel); 60if (operation.SemanticModel.TryGetSpeculativeSemanticModel(typeSyntax.SpanStart, dummyStatement, out var speculativeModel)) 62var originalInfo = operation.SemanticModel.GetTypeInfo(binaryExpression.Right);
CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
127var semanticModel = blockOperation.SemanticModel;
CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
198var semanticModel = instance.SemanticModel;
CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
88var semanticModel = operation.SemanticModel;
CSharpUseRangeOperatorDiagnosticAnalyzer.cs (1)
84var semanticModel = operation.SemanticModel;
UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
86var semanticModel = context.Operation.SemanticModel;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (1)
CSharpUsePatternCombinatorsCodeFixProvider.cs (1)
117var semanticModel = p.Target.SemanticModel;
Microsoft.CodeAnalysis.CSharp.Features (14)
AnalyzedPattern.cs (3)
31Contract.ThrowIfNull(operation.SemanticModel); 60if (operation.SemanticModel.TryGetSpeculativeSemanticModel(typeSyntax.SpanStart, dummyStatement, out var speculativeModel)) 62var originalInfo = operation.SemanticModel.GetTypeInfo(binaryExpression.Right);
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (2)
24=> !operation.SemanticModel.AnalyzeControlFlow(operation.Syntax).EndPointIsReachable; 37=> !operation.SemanticModel.AnalyzeControlFlow(operation.Syntax).ExitPoints.Any(static n => n.IsKind(SyntaxKind.BreakStatement));
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (3)
110Debug.Assert(operation.SemanticModel is not null); 111var requiresBreak = operation.SemanticModel.AnalyzeControlFlow(node).EndPointIsReachable; 112var requiresBlock = !operation.SemanticModel.AnalyzeDataFlow(node).VariablesDeclared.IsDefaultOrEmpty;
CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
127var semanticModel = blockOperation.SemanticModel;
CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
198var semanticModel = instance.SemanticModel;
CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
88var semanticModel = operation.SemanticModel;
CSharpUsePatternCombinatorsCodeFixProvider.cs (1)
117var semanticModel = p.Target.SemanticModel;
CSharpUseRangeOperatorDiagnosticAnalyzer.cs (1)
84var semanticModel = operation.SemanticModel;
UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
86var semanticModel = context.Operation.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)
1950Assert.Same(model, operation.SemanticModel);
Microsoft.CodeAnalysis.Features (14)
AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
363var symbolInfo = nameofArgument.SemanticModel.GetSymbolInfo(nameofArgument.Syntax, operationContext.CancellationToken);
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);
AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
171return invocation.SemanticModel?.GetTypeInfo(expression).Type as INamedTypeSymbol;
AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
79var semanticModel = context.Operation.SemanticModel;
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (2)
463RoslynDebug.AssertNotNull(operation.SemanticModel); 466return CanImplicitlyConvert(operation.SemanticModel, operation.Syntax, _switchTargetType);
ValueTracking\ValueTracker.OperationCollector.cs (1)
78var semanticModel = operation.SemanticModel;
Microsoft.CodeAnalysis.Test.Utilities (11)
CommonTestBase.cs (2)
623Assert.Same(model, operation.SemanticModel); 624Assert.Same(model, clonedOperation.SemanticModel);
Compilation\CompilationExtensions.cs (1)
307Assert.Same(semanticModel, operation.SemanticModel);
Compilation\ControlFlowGraphVerifier.cs (2)
1658Assert.Null(root.SemanticModel); 1666Assert.Null(operation.SemanticModel);
Compilation\TestOperationVisitor.cs (5)
109if (operation.SemanticModel != null) 111Assert.Same(operation.SemanticModel, operation.SemanticModel.ContainingPublicModelOrSelf); 739CheckOperators(operation.SemanticModel, operation.Syntax); 774CheckOperators(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)
OperationExtensions.cs (1)
395var compilation = firstBlock.SemanticModel!.Compilation;
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
194var dataFlow = operation.SemanticModel.AnalyzeDataFlow(operation.Syntax);