1 instantiation of IfStatementSyntax
Microsoft.CodeAnalysis.CSharp (1)
Syntax.xml.Internal.Generated.cs (1)
13557internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IfStatementSyntax(this, parent, position);
413 references to IfStatementSyntax
Microsoft.CodeAnalysis.CSharp (40)
Binder\Binder_Statements.cs (6)
76result = BindIfStatement((IfStatementSyntax)node, diagnostics); 2579private BoundStatement BindIfStatement(IfStatementSyntax node, BindingDiagnosticBag diagnostics) 2583static BoundStatement bindIfStatement(Binder binder, IfStatementSyntax node, BindingDiagnosticBag diagnostics) 2585var stack = ArrayBuilder<(Binder, IfStatementSyntax IfStatementSyntax, BoundExpression Condition, BoundStatement Consequence)>.GetInstance(); 2601if (elseStatementSyntax is IfStatementSyntax ifStatementSyntax) 2642protected virtual bool TryGetBoundElseIfStatement(IfStatementSyntax node, out BoundStatement? alternative)
Binder\ExpressionVariableFinder.cs (1)
203public override void VisitIfStatement(IfStatementSyntax node)
Binder\LocalBinderFactory.cs (2)
814public override void VisitIfStatement(IfStatementSyntax node) 828if (elseStatementSyntax is IfStatementSyntax ifStatementSyntax)
Compilation\MemberSemanticModel.cs (1)
2566protected override bool TryGetBoundElseIfStatement(IfStatementSyntax node, out BoundStatement alternative)
Lowering\Instrumentation\DebugInfoInjector.cs (2)
360var syntax = (IfStatementSyntax)original.Syntax;
Lowering\LocalRewriter\LocalRewriter_IfStatement.cs (4)
81var syntax = (IfStatementSyntax)node.Syntax; 102var syntax = (IfStatementSyntax)node.Syntax;
Syntax.xml.Main.Generated.cs (7)
430public virtual TResult? VisitIfStatement(IfStatementSyntax node) => this.DefaultVisit(node); 1177public virtual void VisitIfStatement(IfStatementSyntax node) => this.DefaultVisit(node); 1923public override SyntaxNode? VisitIfStatement(IfStatementSyntax node) 4547public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 4554return (IfStatementSyntax)Syntax.InternalSyntax.SyntaxFactory.IfStatement(attributeLists.Node.ToGreenList<Syntax.InternalSyntax.AttributeListSyntax>(), (Syntax.InternalSyntax.SyntaxToken)ifKeyword.Node!, (Syntax.InternalSyntax.SyntaxToken)openParenToken.Node!, (Syntax.InternalSyntax.ExpressionSyntax)condition.Green, (Syntax.InternalSyntax.SyntaxToken)closeParenToken.Node!, (Syntax.InternalSyntax.StatementSyntax)statement.Green, @else == null ? null : (Syntax.InternalSyntax.ElseClauseSyntax)@else.Green).CreateRed(); 4558public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement, ElseClauseSyntax? @else) 4562public static IfStatementSyntax IfStatement(ExpressionSyntax condition, StatementSyntax statement)
Syntax.xml.Syntax.Generated.cs (10)
8415public IfStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 8419var newNode = SyntaxFactory.IfStatement(attributeLists, ifKeyword, openParenToken, condition, closeParenToken, statement, @else); 8428public new IfStatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => Update(attributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.Statement, this.Else); 8429public IfStatementSyntax WithIfKeyword(SyntaxToken ifKeyword) => Update(this.AttributeLists, ifKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.Statement, this.Else); 8430public IfStatementSyntax WithOpenParenToken(SyntaxToken openParenToken) => Update(this.AttributeLists, this.IfKeyword, openParenToken, this.Condition, this.CloseParenToken, this.Statement, this.Else); 8431public IfStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.Statement, this.Else); 8432public IfStatementSyntax WithCloseParenToken(SyntaxToken closeParenToken) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, closeParenToken, this.Statement, this.Else); 8433public IfStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement, this.Else); 8434public IfStatementSyntax WithElse(ElseClauseSyntax? @else) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.Statement, @else); 8437public new IfStatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => WithAttributeLists(this.AttributeLists.AddRange(items));
Syntax\IfStatementSyntax.cs (3)
11public IfStatementSyntax Update(SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 20public static IfStatementSyntax IfStatement(ExpressionSyntax condition, StatementSyntax statement, ElseClauseSyntax? @else) 23public static IfStatementSyntax IfStatement(SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else)
Syntax\LookupPosition.cs (4)
343return ((IfStatementSyntax)statement).IfKeyword; 406return GetFirstExcludedIfStatementToken((IfStatementSyntax)statement); 453private static SyntaxToken GetFirstExcludedIfStatementToken(IfStatementSyntax ifStmt) 462if (elseOpt.Statement is IfStatementSyntax nestedIf)
Microsoft.CodeAnalysis.CSharp.CodeStyle (50)
src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (11)
125if (statement is IfStatementSyntax ifStatementNode) 199if (statement is IfStatementSyntax ifStatement && ifStatement.Statement == embeddedStatement) 245var outermostIfStatement = GetOutermostIfStatementOfSequence(statement); 255/// Gets the top-most <see cref="IfStatementSyntax"/> for which <paramref name="ifStatementOrElseClause"/> is 264private static IfStatementSyntax GetOutermostIfStatementOfSequence(SyntaxNode ifStatementOrElseClause) 266IfStatementSyntax result; 269result = (IfStatementSyntax)ifStatementOrElseClause.GetRequiredParent(); 274result = (IfStatementSyntax)ifStatementOrElseClause; 278result = (IfStatementSyntax)result.GetRequiredParent().GetRequiredParent(); 287private static bool AnyPartOfIfSequenceUsesBraces(IfStatementSyntax? statement) 299statement = elseStatement as IfStatementSyntax;
src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (5)
47var ifStatement = (IfStatementSyntax)syntaxContext.Node; 112IfStatementSyntax ifStatement, 168IfStatementSyntax ifStatement, 218IfStatementSyntax ifStatement,
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (5)
23IfStatementSyntax> 37protected override ExpressionSyntax GetConditionOfIfStatement(IfStatementSyntax ifStatement) 57protected override bool TryGetEmbeddedStatement(IfStatementSyntax ifStatement, [NotNullWhen(true)] out StatementSyntax? whenTrueStatement) 66protected override bool HasElseBlock(IfStatementSyntax ifStatement) 69protected override StatementSyntax? TryGetPreviousStatement(IfStatementSyntax ifStatement)
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (2)
40var ifStatement = (IfStatementSyntax)statement;
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (3)
100IfStatementSyntax ifStatement, 120var ifStatement = (IfStatementSyntax)context.Node;
src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs (1)
15: AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer<IfStatementSyntax>(
src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
16: AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer<IfStatementSyntax>
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (3)
28IfStatementSyntax, 70IfStatementSyntax ifStatement, 110IfStatementSyntax ifStatement,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (2)
174var ifStatement = (IfStatementSyntax)current;
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (2)
76out var ifStatement, out var localDeclarationStatement, 163[NotNullWhen(true)] out IfStatementSyntax? ifStatement,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
168(nodeParent is IfStatementSyntax ifStatement && ifStatement.Condition == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
123IfStatementSyntax or 138IfStatementSyntax n => n.Statement, 716IfStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
294IfStatementSyntax ifStatement => ifStatement.CloseParenToken.Equals(token), 367return node is IfStatementSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
313if (node is ElseClauseSyntax { ElseKeyword: var elseKeyword, Statement: IfStatementSyntax { IfKeyword: var ifKeyword } } &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
38if (node is IfStatementSyntax ifStatementNode)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
126var ifStatementNode = node as IfStatementSyntax;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (2)
85var node = TryGetAncestorForLocation<IfStatementSyntax>(root, position, out ifStatement);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
497else if (currentOriginalNode is IfStatementSyntax originalIfStatement) 499var newIfStatement = (IfStatementSyntax)currentReplacedNode;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (29)
src\Analyzers\CSharp\CodeFixes\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessCodeFixProvider.cs (5)
74var ifStatement = (IfStatementSyntax)diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 118var ifStatement = (IfStatementSyntax)diagnostic.AdditionalLocations[1].FindNode(getInnermostNodeForTie: true, cancellationToken); 146private static T AppendTriviaWithoutEndOfLines<T>(T newStatement, IfStatementSyntax ifStatement) where T : SyntaxNode
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (2)
563else if (node is IfStatementSyntax ifStatement) 847else if (node is IfStatementSyntax ifStatement)
src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (1)
52if (coalesceOrIfStatement is IfStatementSyntax ifStatement)
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (2)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 45IfStatementSyntax ifStatement, StatementSyntax statement)
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (3)
23: AbstractUseConditionalExpressionForReturnCodeFixProvider<StatementSyntax, IfStatementSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 32IfStatementSyntax ifStatement, StatementSyntax statement) 46if (operation.Syntax is IfStatementSyntax { Condition: CheckedExpressionSyntax exp })
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (2)
29var ifStatement = (IfStatementSyntax)originalIfStatement.Syntax;
src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (2)
31IfStatementSyntax, 42IfStatementSyntax ifStatement, StatementSyntax newWhenTrueStatement)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpIsAndCastCheckCodeFixProvider.cs (8)
54var ifStatement = (IfStatementSyntax)ifStatementLocation.FindNode(cancellationToken); 76var currentIf = (IfStatementSyntax)i; 81private static IfStatementSyntax GetUpdatedIfStatement( 84IfStatementSyntax originalIf, 85IfStatementSyntax currentIf) 87var newIf = currentIf.ReplaceNode(currentIf.Condition, updatedCondition);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
160if (elseClause.Statement is IfStatementSyntax ifStatement &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
163IfStatementSyntax ifStatement => InferTypeInIfStatement(ifStatement), 233IfStatementSyntax ifStatement => InferTypeInIfStatement(ifStatement, token), 1364private IEnumerable<TypeInferenceInfo> InferTypeInIfStatement(IfStatementSyntax ifStatement, SyntaxToken? previousToken = null)
Microsoft.CodeAnalysis.CSharp.EditorFeatures (9)
AutomaticCompletion\AutomaticLineEnderCommandHandler.cs (1)
328or IfStatementSyntax
AutomaticCompletion\AutomaticLineEnderCommandHandler_Helpers.cs (8)
162IfStatementSyntax ifStatementNode => AddBraceToIfStatement(services, root, ifStatementNode, formattingOptions, statement, cancellationToken), 230IfStatementSyntax ifStatementNode, 294if (elseClauseNode.Statement is IfStatementSyntax) 314if (elseClauseNode.Parent is IfStatementSyntax { Parent: BlockSyntax }) 488IfStatementSyntax ifStatementNode => ShouldAddBraceForIfStatement(ifStatementNode, caretPosition), 687private static bool ShouldAddBraceForIfStatement(IfStatementSyntax ifStatementNode, int caretPosition) 707if (elseClauseNode.Statement is IfStatementSyntax ifStatementNode) 950IfStatementSyntax ifStatementNode => ifStatementNode.WithStatement(block),
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (5)
RefactoringHelpers\RefactoringHelpersTests.cs (5)
1391=> TestAsync<IfStatementSyntax>( 1415=> TestAsync<IfStatementSyntax>( 1439=> TestMissingAsync<IfStatementSyntax>( 1463=> TestAsync<IfStatementSyntax>( 1474=> TestAsync<IfStatementSyntax>(
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (5)
Semantics\ExtensionOperatorsTests.cs (1)
2178var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.IfStatementSyntax>().First().Condition;
Semantics\OutVarTests.cs (2)
8798var statement = (IfStatementSyntax)SyntaxFactory.ParseStatement(@"
Semantics\PatternMatchingTests_Scope.cs (2)
1281var statement = (IfStatementSyntax)SyntaxFactory.ParseStatement(@"
Microsoft.CodeAnalysis.CSharp.Features (156)
Completion\KeywordRecommenders\ElseKeywordRecommender.cs (2)
32foreach (var ifStatement in token.GetAncestors<IfStatementSyntax>())
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.cs (2)
20: AbstractConvertIfToSwitchCodeRefactoringProvider<IfStatementSyntax, ExpressionSyntax, BinaryExpressionSyntax, PatternSyntax> 39if (syntaxToRemove is (IfStatementSyntax or BlockSyntax) and { Parent: ElseClauseSyntax elseClause } &&
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (1)
68IfStatementSyntax ifStatement, ExpressionSyntax expression, IEnumerable<SyntaxNode> sectionList)
ConvertLinq\ConvertForEachToLinqQuery\AbstractConverter.cs (4)
84var ifStatement = (IfStatementSyntax)node.Node; 269var ifStatement = (IfStatementSyntax)node.Node;
ConvertLinq\ConvertForEachToLinqQuery\CSharpConvertForEachToLinqQueryProvider.cs (2)
107var ifStatement = (IfStatementSyntax)current;
Debugging\CSharpProximityExpressionsService.RelevantExpressionsCollector.cs (1)
47public override void VisitIfStatement(IfStatementSyntax node)
Debugging\CSharpProximityExpressionsService.Worker.cs (2)
259var ifStatement = statement as IfStatementSyntax;
EditAndContinue\BreakpointSpans.cs (2)
730var ifStatement = (IfStatementSyntax)statement;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (6)
792return AreEquivalentActiveStatements((IfStatementSyntax)oldStatement, (IfStatementSyntax)newStatement); 825private static bool AreEquivalentActiveStatements(IfStatementSyntax oldNode, IfStatementSyntax newNode) 1793var ifStatement = (IfStatementSyntax)node;
EditAndContinue\SyntaxComparer.cs (4)
880var leftIf = (IfStatementSyntax)leftNode; 881var rightIf = (IfStatementSyntax)rightNode;
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.CallSiteContainerRewriter.cs (1)
166public override SyntaxNode VisitIfStatement(IfStatementSyntax node)
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (1)
262IfStatementSyntax ControlFlowIfStatement(object value, StatementSyntax elseClause = null)
ExtractMethod\CSharpSelectionValidator.Validator.cs (2)
38IfStatementSyntax or 66IfStatementSyntax or
Highlighting\KeywordHighlighters\IfStatementHighlighter.cs (4)
26internal sealed class IfStatementHighlighter() : AbstractKeywordHighlighter<IfStatementSyntax>(findInsideTrivia: false) 32IfStatementSyntax ifStatement, List<TextSpan> highlights, CancellationToken cancellationToken) 41IfStatementSyntax ifStatement, List<TextSpan> highlights) 51if (ifStatement.Else.Statement is IfStatementSyntax elseIfStatement)
IntroduceVariable\CSharpIntroduceVariableService_IntroduceLocal.cs (1)
432if (statement is IfStatementSyntax { Parent: ElseClauseSyntax })
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (12)
30IfStatementSyntax, 38protected override bool IsElseless(IfStatementSyntax ifNode) 41protected override bool CanInvert(IfStatementSyntax ifNode) 44protected override SyntaxNode GetCondition(IfStatementSyntax ifNode) 50protected override StatementRange GetIfBodyStatementRange(IfStatementSyntax ifNode) 65protected override StatementSyntax GetIfBody(IfStatementSyntax ifNode) 71protected override StatementSyntax GetElseBody(IfStatementSyntax ifNode) 140protected override IfStatementSyntax UpdateIf( 142IfStatementSyntax ifNode, 160var updatedIf = ifNode 162.WithStatement(trueStatement is IfStatementSyntax 188private static bool ShouldKeepFalse(IfStatementSyntax originalIfStatement, [NotNullWhen(returnValue: true)] StatementSyntax? falseStatement)
Snippets\CSharpElseSnippetProvider.cs (2)
43foreach (var ifStatement in token.GetAncestors<IfStatementSyntax>())
Snippets\CSharpIfSnippetProvider.cs (4)
21internal sealed class CSharpIfSnippetProvider() : AbstractIfSnippetProvider<IfStatementSyntax, ExpressionSyntax> 30protected override ExpressionSyntax GetCondition(IfStatementSyntax node) 33protected override int GetTargetCaretPosition(IfStatementSyntax ifStatement, SourceText sourceText) 39protected override Task<Document> AddIndentationToDocumentAsync(Document document, IfStatementSyntax ifStatement, CancellationToken cancellationToken)
SplitOrMergeIfStatements\CSharpIfLikeStatementGenerator.cs (37)
29public bool IsIfOrElseIf(SyntaxNode node) => node is IfStatementSyntax; 33if (expression.Parent is IfStatementSyntax ifStatement && ifStatement.Condition == expression) 45if (node is IfStatementSyntax && node.Parent is ElseClauseSyntax) 47parentIfOrElseIf = (IfStatementSyntax)node.Parent.Parent; 57var ifStatement = (IfStatementSyntax)ifOrElseIf; 58if (ifStatement.Else?.Statement is IfStatementSyntax elseIfStatement) 70var ifStatement = (IfStatementSyntax)ifOrElseIf; 76var ifStatement = (IfStatementSyntax)ifOrElseIf; 80ifStatement = (IfStatementSyntax)elseClause.Parent; 88var ifStatement = (IfStatementSyntax)ifOrElseIf; 92while (ifStatement.Else?.Statement is IfStatementSyntax elseIfStatement) 108var ifStatement = (IfStatementSyntax)ifOrElseIf; 114var ifStatement = (IfStatementSyntax)ifOrElseIf; 120var ifStatement = (IfStatementSyntax)ifOrElseIf; 121var otherIfStatement = (IfStatementSyntax)otherIfOrElseIf; 126=> ((IfStatementSyntax)ifStatement).WithElse(((IfStatementSyntax)otherIfStatement).Else); 132=> ((IfStatementSyntax)ifOrElseIf).WithElse(null); 138var ifStatement = (IfStatementSyntax)currentNode; 139var elseIfStatement = (IfStatementSyntax)elseIfClause; 141var newElseIfStatement = elseIfStatement.WithElse(ifStatement.Else); 142var newIfStatement = ifStatement.WithElse(ElseClause(newElseIfStatement)); 160var parentIfStatement = (IfStatementSyntax)currentNode; 162var elseIfStatement = (IfStatementSyntax)elseClause.Statement; 167private static bool ContainsEmbeddedIfStatement(IfStatementSyntax ifStatement)
SplitOrMergeIfStatements\CSharpMergeConsecutiveIfStatementsCodeRefactoringProvider.cs (2)
29if (node is IfStatementSyntax ifStatement) 46if (node is ElseClauseSyntax elseClause && elseClause.Statement is IfStatementSyntax elseIfStatement)
SplitOrMergeIfStatements\CSharpMergeNestedIfStatementsCodeRefactoringProvider.cs (2)
29if (node is IfStatementSyntax ifStatement) 46if (node is ElseClauseSyntax elseClause && elseClause.Statement is IfStatementSyntax elseIfStatement)
src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (11)
125if (statement is IfStatementSyntax ifStatementNode) 199if (statement is IfStatementSyntax ifStatement && ifStatement.Statement == embeddedStatement) 245var outermostIfStatement = GetOutermostIfStatementOfSequence(statement); 255/// Gets the top-most <see cref="IfStatementSyntax"/> for which <paramref name="ifStatementOrElseClause"/> is 264private static IfStatementSyntax GetOutermostIfStatementOfSequence(SyntaxNode ifStatementOrElseClause) 266IfStatementSyntax result; 269result = (IfStatementSyntax)ifStatementOrElseClause.GetRequiredParent(); 274result = (IfStatementSyntax)ifStatementOrElseClause; 278result = (IfStatementSyntax)result.GetRequiredParent().GetRequiredParent(); 287private static bool AnyPartOfIfSequenceUsesBraces(IfStatementSyntax? statement) 299statement = elseStatement as IfStatementSyntax;
src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (5)
47var ifStatement = (IfStatementSyntax)syntaxContext.Node; 112IfStatementSyntax ifStatement, 168IfStatementSyntax ifStatement, 218IfStatementSyntax ifStatement,
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (5)
23IfStatementSyntax> 37protected override ExpressionSyntax GetConditionOfIfStatement(IfStatementSyntax ifStatement) 57protected override bool TryGetEmbeddedStatement(IfStatementSyntax ifStatement, [NotNullWhen(true)] out StatementSyntax? whenTrueStatement) 66protected override bool HasElseBlock(IfStatementSyntax ifStatement) 69protected override StatementSyntax? TryGetPreviousStatement(IfStatementSyntax ifStatement)
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (2)
40var ifStatement = (IfStatementSyntax)statement;
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (3)
100IfStatementSyntax ifStatement, 120var ifStatement = (IfStatementSyntax)context.Node;
src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs (1)
15: AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer<IfStatementSyntax>(
src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
16: AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer<IfStatementSyntax>
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (3)
28IfStatementSyntax, 70IfStatementSyntax ifStatement, 110IfStatementSyntax ifStatement,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (2)
174var ifStatement = (IfStatementSyntax)current;
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (2)
76out var ifStatement, out var localDeclarationStatement, 163[NotNullWhen(true)] out IfStatementSyntax? ifStatement,
src\Analyzers\CSharp\CodeFixes\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessCodeFixProvider.cs (5)
74var ifStatement = (IfStatementSyntax)diagnostic.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken); 118var ifStatement = (IfStatementSyntax)diagnostic.AdditionalLocations[1].FindNode(getInnermostNodeForTie: true, cancellationToken); 146private static T AppendTriviaWithoutEndOfLines<T>(T newStatement, IfStatementSyntax ifStatement) where T : SyntaxNode
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (2)
563else if (node is IfStatementSyntax ifStatement) 847else if (node is IfStatementSyntax ifStatement)
src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (1)
52if (coalesceOrIfStatement is IfStatementSyntax ifStatement)
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (2)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 45IfStatementSyntax ifStatement, StatementSyntax statement)
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (3)
23: AbstractUseConditionalExpressionForReturnCodeFixProvider<StatementSyntax, IfStatementSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 32IfStatementSyntax ifStatement, StatementSyntax statement) 46if (operation.Syntax is IfStatementSyntax { Condition: CheckedExpressionSyntax exp })
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (2)
29var ifStatement = (IfStatementSyntax)originalIfStatement.Syntax;
src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (2)
31IfStatementSyntax, 42IfStatementSyntax ifStatement, StatementSyntax newWhenTrueStatement)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpIsAndCastCheckCodeFixProvider.cs (8)
54var ifStatement = (IfStatementSyntax)ifStatementLocation.FindNode(cancellationToken); 76var currentIf = (IfStatementSyntax)i; 81private static IfStatementSyntax GetUpdatedIfStatement( 84IfStatementSyntax originalIf, 85IfStatementSyntax currentIf) 87var newIf = currentIf.ReplaceNode(currentIf.Condition, updatedCondition);
Structure\Providers\BlockSyntaxStructureProvider.cs (2)
40if (parent is IfStatementSyntax { Parent: not ElseClauseSyntax } ifStatement) 47if (currentElse.Statement is IfStatementSyntax nextIfStatement)
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (25)
IOperation\IOperationTests_IIfStatement.cs (21)
56VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 112VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 159VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 233VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 305VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 361VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 447VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 550VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 603VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 664VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 720VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 768VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 815VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 873VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 949VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 1126VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 1285VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 1344VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 1419VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 1473VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 1541VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_InvalidStatement.cs (2)
211VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics); 276VerifyOperationTreeAndDiagnosticsForTest<IfStatementSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_IUnaryOperatorExpression.cs (2)
2961VerifyOperationTreeForTest<IfStatementSyntax>(source, expectedOperationTree); 3022VerifyOperationTreeForTest<IfStatementSyntax>(source, expectedOperationTree);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (7)
Semantics\BindingTests.cs (2)
4038var ifStmt = tree.GetRoot().DescendantNodes().OfType<IfStatementSyntax>().First();
Semantics\NullableReferenceTypesTests.cs (3)
146574var ifStatement = root.DescendantNodes().OfType<IfStatementSyntax>().Single(); 146578var newIfStatement = ifStatement.ReplaceNode(cast, replaceWith);
Semantics\NullConditionalAssignmentTests.cs (2)
2482var node = tree.GetRoot().DescendantNodes().OfType<IfStatementSyntax>().Single();
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (12)
Compilation\GetSemanticInfoTests.cs (2)
975var ifStatement = (IfStatementSyntax)methodDecl.Body.Statements[0];
Compilation\SemanticModelAPITests.cs (4)
4458var ifStatement = root.DescendantNodes().OfType<IfStatementSyntax>().Single(); 4459var replacementIfStatement = (IfStatementSyntax)SyntaxFactory.ParseStatement(replacementSource);
Symbols\Source\NullablePublicAPITests.cs (6)
1361var ifStatement = root.DescendantNodes().OfType<IfStatementSyntax>().Single(); 1513var ifStatement = root.DescendantNodes().OfType<IfStatementSyntax>().Single(); 1569var ifStatement = root.DescendantNodes().OfType<IfStatementSyntax>().Single();
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (25)
Generated\Syntax.Test.xml.Generated.cs (5)
10814private static IfStatementSyntax GenerateIfStatement() 12821var node = GenerateIfStatement(); 12830var newNode = node.WithAttributeLists(node.AttributeLists).WithIfKeyword(node.IfKeyword).WithOpenParenToken(node.OpenParenToken).WithCondition(node.Condition).WithCloseParenToken(node.CloseParenToken).WithStatement(node.Statement).WithElse(node.Else); 17905var oldNode = GenerateIfStatement(); 17921var oldNode = GenerateIfStatement();
Parsing\StatementParsingTests.cs (8)
2022var ss = (IfStatementSyntax)statement; 2045var ss = (IfStatementSyntax)statement; 2071var ss = (IfStatementSyntax)statement; 2085var subIf = (IfStatementSyntax)ss.Else.Statement;
Syntax\SyntaxNodeTests.cs (4)
2223var ifstatement = (IfStatementSyntax)SyntaxFactory.ParseStatement("if (a < b) m(c)"); 2263var ifstatement = (IfStatementSyntax)SyntaxFactory.ParseStatement("if (a < b) m(c)");
Syntax\SyntaxRewriterTests.cs (8)
553var ifStmt1 = (IfStatementSyntax)SyntaxFactory.ParseStatement("if (true)"); 570var ifStmt2 = (IfStatementSyntax)rewriter.Visit(ifStmt1); 601var ifStmt1 = tree1.GetCompilationUnitRoot().DescendantNodes().OfType<IfStatementSyntax>().Single(); 616var ifStmt2 = (IfStatementSyntax)rewriter.Visit(ifStmt1);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
LocalVariableDeclaratorsCollector.cs (1)
60public override void VisitIfStatement(IfStatementSyntax node)
Microsoft.CodeAnalysis.CSharp.Workspaces (20)
CodeGeneration\CSharpSyntaxGenerator.cs (1)
3264falseArray is [IfStatementSyntax ifStatement] ? ifStatement : CreateBlock(falseArray)));
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
168(nodeParent is IfStatementSyntax ifStatement && ifStatement.Condition == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
123IfStatementSyntax or 138IfStatementSyntax n => n.Statement, 716IfStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
294IfStatementSyntax ifStatement => ifStatement.CloseParenToken.Equals(token), 367return node is IfStatementSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
313if (node is ElseClauseSyntax { ElseKeyword: var elseKeyword, Statement: IfStatementSyntax { IfKeyword: var ifKeyword } } &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
38if (node is IfStatementSyntax ifStatementNode)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
126var ifStatementNode = node as IfStatementSyntax;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (2)
85var node = TryGetAncestorForLocation<IfStatementSyntax>(root, position, out ifStatement);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
497else if (currentOriginalNode is IfStatementSyntax originalIfStatement) 499var newIfStatement = (IfStatementSyntax)currentReplacedNode;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
160if (elseClause.Statement is IfStatementSyntax ifStatement &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
163IfStatementSyntax ifStatement => InferTypeInIfStatement(ifStatement), 233IfStatementSyntax ifStatement => InferTypeInIfStatement(ifStatement, token), 1364private IEnumerable<TypeInferenceInfo> InferTypeInIfStatement(IfStatementSyntax ifStatement, SyntaxToken? previousToken = null)
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (6)
CodeGeneration\SyntaxGeneratorTests.cs (6)
579VerifySyntax<IfStatementSyntax>( 583VerifySyntax<IfStatementSyntax>( 587VerifySyntax<IfStatementSyntax>( 592VerifySyntax<IfStatementSyntax>( 598VerifySyntax<IfStatementSyntax>( 604VerifySyntax<IfStatementSyntax>(
Microsoft.DotNet.CodeAnalysis (2)
Analyzers\AppContextDefaultsAnalyzer.cs (2)
80var containingIfStatement = call.Ancestors().FirstOrDefault(n => n.IsKind(SyntaxKind.IfStatement)) as IfStatementSyntax;
Microsoft.Interop.JavaScript.JSImportGenerator (1)
JSImportGenerator.cs (1)
291private static IfStatementSyntax GenerateBindSyntax(JSImportData jsImportData, JSSignatureContext signatureContext, ArgumentSyntax signaturesArgument)
Roslyn.Diagnostics.CSharp.Analyzers (19)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
168(nodeParent is IfStatementSyntax ifStatement && ifStatement.Condition == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
123IfStatementSyntax or 138IfStatementSyntax n => n.Statement, 716IfStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
294IfStatementSyntax ifStatement => ifStatement.CloseParenToken.Equals(token), 367return node is IfStatementSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
313if (node is ElseClauseSyntax { ElseKeyword: var elseKeyword, Statement: IfStatementSyntax { IfKeyword: var ifKeyword } } &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
38if (node is IfStatementSyntax ifStatementNode)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
126var ifStatementNode = node as IfStatementSyntax;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (2)
85var node = TryGetAncestorForLocation<IfStatementSyntax>(root, position, out ifStatement);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
497else if (currentOriginalNode is IfStatementSyntax originalIfStatement) 499var newIfStatement = (IfStatementSyntax)currentReplacedNode;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
160if (elseClause.Statement is IfStatementSyntax ifStatement &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
163IfStatementSyntax ifStatement => InferTypeInIfStatement(ifStatement), 233IfStatementSyntax ifStatement => InferTypeInIfStatement(ifStatement, token), 1364private IEnumerable<TypeInferenceInfo> InferTypeInIfStatement(IfStatementSyntax ifStatement, SyntaxToken? previousToken = null)
System.Private.CoreLib.Generators (1)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (1)
584if (ancestorNode is IfStatementSyntax ifStatement)