69 references to Expression
Microsoft.CodeAnalysis.CSharp (22)
Binder\Binder_Statements.cs (2)
353binder = this.GetBinder(switchStatement.Expression); 355return binder.WrapWithVariablesIfAny(switchStatement.Expression, binder.BindStatement(node, diagnostics));
Binder\ExpressionVariableFinder.cs (1)
210VisitNodeToBind(node.Expression);
Binder\LocalBinderFactory.cs (4)
732AddToMap(node.Expression, _enclosing); 733Visit(node.Expression, _enclosing); 1059embeddedScopeDesignator = switchStatement.Expression; 1060return new ExpressionVariableBinder(switchStatement.Expression, enclosing);
Binder\LocalScopeBinder.cs (1)
271ExpressionVariableFinder.FindExpressionVariables(this, locals, innerStatement, enclosingBinder.GetBinder(switchStatement.Expression) ?? enclosingBinder);
Binder\SwitchBinder.cs (1)
375ExpressionSyntax node = SwitchSyntax.Expression;
Compilation\MemberSemanticModel.cs (1)
394binder = binder.GetBinder(switchStmt.Expression);
Lowering\Instrumentation\DebugInfoInjector.cs (1)
428(switchSyntax.CloseParenToken != default) ? switchSyntax.CloseParenToken.Span.End : switchSyntax.Expression.Span.End);
Syntax.xml.Main.Generated.cs (1)
1921=> node.Update(VisitList(node.AttributeLists), VisitToken(node.SwitchKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken), VisitToken(node.OpenBraceToken), VisitList(node.Sections), VisitToken(node.CloseBraceToken));
Syntax.xml.Syntax.Generated.cs (8)
8533if (attributeLists != this.AttributeLists || switchKeyword != this.SwitchKeyword || openParenToken != this.OpenParenToken || expression != this.Expression || closeParenToken != this.CloseParenToken || openBraceToken != this.OpenBraceToken || sections != this.Sections || closeBraceToken != this.CloseBraceToken) 8544public new SwitchStatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => Update(attributeLists, this.SwitchKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, this.OpenBraceToken, this.Sections, this.CloseBraceToken); 8545public SwitchStatementSyntax WithSwitchKeyword(SyntaxToken switchKeyword) => Update(this.AttributeLists, switchKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, this.OpenBraceToken, this.Sections, this.CloseBraceToken); 8546public SwitchStatementSyntax WithOpenParenToken(SyntaxToken openParenToken) => Update(this.AttributeLists, this.SwitchKeyword, openParenToken, this.Expression, this.CloseParenToken, this.OpenBraceToken, this.Sections, this.CloseBraceToken); 8548public SwitchStatementSyntax WithCloseParenToken(SyntaxToken closeParenToken) => Update(this.AttributeLists, this.SwitchKeyword, this.OpenParenToken, this.Expression, closeParenToken, this.OpenBraceToken, this.Sections, this.CloseBraceToken); 8549public SwitchStatementSyntax WithOpenBraceToken(SyntaxToken openBraceToken) => Update(this.AttributeLists, this.SwitchKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, openBraceToken, this.Sections, this.CloseBraceToken); 8550public SwitchStatementSyntax WithSections(SyntaxList<SwitchSectionSyntax> sections) => Update(this.AttributeLists, this.SwitchKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, this.OpenBraceToken, sections, this.CloseBraceToken); 8551public SwitchStatementSyntax WithCloseBraceToken(SyntaxToken closeBraceToken) => Update(this.AttributeLists, this.SwitchKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, this.OpenBraceToken, this.Sections, closeBraceToken);
Syntax\LookupPosition.cs (1)
351return ((SwitchStatementSyntax)statement).Expression.GetFirstToken();
Syntax\SyntaxNodeExtensions.cs (1)
124return ((SwitchStatementSyntax)parent).Expression == expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
173(nodeParent is SwitchStatementSyntax switchStatement && switchStatement.Expression == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
444var originalConversion = this.OriginalSemanticModel.ClassifyConversion(oldSwitchStatement.Expression, originalCaseType); 445var newConversion = this.SpeculativeSemanticModel.ClassifyConversion(newSwitchStatement.Expression, newCaseType); 458originalSwitchStatement.Expression == previousOriginalNode)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (5)
src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (4)
249switchStatement.Expression.WithoutTrailingTrivia().Parenthesize(), 262var expressionType = _semanticModel.GetSymbolInfo(node.Expression).Symbol.GetSymbolType(); 263var expressionConvertedType = _semanticModel.GetTypeInfo(node.Expression).ConvertedType; 269node.Expression.Cast(expressionConvertedType).WithAdditionalAnnotations(Formatter.Annotation),
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
2121return GetTypes(switchStatement.Expression);
Microsoft.CodeAnalysis.CSharp.Features (12)
Debugging\CSharpProximityExpressionsService.RelevantExpressionsCollector.cs (1)
85=> AddExpressionTerms(node.Expression, _expressions);
EditAndContinue\BreakpointSpans.cs (1)
738return CreateSpan(switchStatement, (switchStatement.CloseParenToken != default) ? switchStatement.CloseParenToken : switchStatement.Expression.GetLastToken());
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (5)
846if (!AreEquivalentIgnoringLambdaBodies(oldNode.Expression, newNode.Expression)) 1802(switchStatement.CloseParenToken != default) ? switchStatement.CloseParenToken.Span.End : switchStatement.Expression.Span.End); 2894if (!AreEquivalentIgnoringLambdaBodies(oldSwitch.Expression, newSwitch.Expression))
src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (4)
249switchStatement.Expression.WithoutTrailingTrivia().Parenthesize(), 262var expressionType = _semanticModel.GetSymbolInfo(node.Expression).Symbol.GetSymbolType(); 263var expressionConvertedType = _semanticModel.GetTypeInfo(node.Expression).ConvertedType; 269node.Expression.Cast(expressionConvertedType).WithAdditionalAnnotations(Formatter.Annotation),
Structure\Providers\SwitchStatementStructureProvider.cs (1)
24textSpan: TextSpan.FromBounds(node.CloseParenToken != default ? node.CloseParenToken.Span.End : node.Expression.Span.End, node.CloseBraceToken.Span.End),
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (14)
Generated\Syntax.Test.xml.Generated.cs (2)
12799Assert.NotNull(node.Expression); 12804var newNode = node.WithAttributeLists(node.AttributeLists).WithSwitchKeyword(node.SwitchKeyword).WithOpenParenToken(node.OpenParenToken).WithExpression(node.Expression).WithCloseParenToken(node.CloseParenToken).WithOpenBraceToken(node.OpenBraceToken).WithSections(node.Sections).WithCloseBraceToken(node.CloseBraceToken);
Parsing\StatementParsingTests.cs (12)
2132Assert.NotNull(ss.Expression); 2133Assert.Equal("a", ss.Expression.ToString()); 2155Assert.NotNull(ss.Expression); 2156Assert.Equal("a", ss.Expression.ToString()); 2190Assert.NotNull(ss.Expression); 2191Assert.Equal("a", ss.Expression.ToString()); 2237Assert.NotNull(ss.Expression); 2238Assert.Equal("a", ss.Expression.ToString()); 2270Assert.NotNull(ss.Expression); 2271Assert.Equal("a", ss.Expression.ToString()); 2312Assert.NotNull(ss.Expression); 2313Assert.Equal("a", ss.Expression.ToString());
Microsoft.CodeAnalysis.CSharp.Workspaces (5)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
173(nodeParent is SwitchStatementSyntax switchStatement && switchStatement.Expression == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
444var originalConversion = this.OriginalSemanticModel.ClassifyConversion(oldSwitchStatement.Expression, originalCaseType); 445var newConversion = this.SpeculativeSemanticModel.ClassifyConversion(newSwitchStatement.Expression, newCaseType); 458originalSwitchStatement.Expression == previousOriginalNode)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
2121return GetTypes(switchStatement.Expression);
Microsoft.CodeAnalysis.Test.Utilities (2)
Compilation\ControlFlowGraphVerifier.cs (2)
611if (syntax.Parent is CSharp.Syntax.SwitchStatementSyntax switchStmt && switchStmt.Expression == syntax) 1171if (((CSharp.Syntax.SwitchStatementSyntax)parent).Expression == syntax)
Roslyn.Diagnostics.CSharp.Analyzers (5)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
173(nodeParent is SwitchStatementSyntax switchStatement && switchStatement.Expression == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
444var originalConversion = this.OriginalSemanticModel.ClassifyConversion(oldSwitchStatement.Expression, originalCaseType); 445var newConversion = this.SpeculativeSemanticModel.ClassifyConversion(newSwitchStatement.Expression, newCaseType); 458originalSwitchStatement.Expression == previousOriginalNode)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
2121return GetTypes(switchStatement.Expression);