1 instantiation of IfStatementSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
13557internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.IfStatementSyntax(this, parent, position);
334 references to IfStatementSyntax
ILLink.CodeFixProvider (1)
RequiresUnsafeCodeFixProvider.cs (1)
122return statement.Parent is IfStatementSyntax
Microsoft.CodeAnalysis.CSharp (40)
_generated\0\Syntax.xml.Main.Generated.cs (7)
431public virtual TResult? VisitIfStatement(IfStatementSyntax node) => this.DefaultVisit(node); 1183public virtual void VisitIfStatement(IfStatementSyntax node) => this.DefaultVisit(node); 1934public override SyntaxNode? VisitIfStatement(IfStatementSyntax node) 4564public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 4571return (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(); 4575public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement, ElseClauseSyntax? @else) 4579public static IfStatementSyntax IfStatement(ExpressionSyntax condition, StatementSyntax statement)
_generated\2\Syntax.xml.Syntax.Generated.cs (10)
8417public IfStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 8421var newNode = SyntaxFactory.IfStatement(attributeLists, ifKeyword, openParenToken, condition, closeParenToken, statement, @else); 8430public new IfStatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => Update(attributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.Statement, this.Else); 8431public IfStatementSyntax WithIfKeyword(SyntaxToken ifKeyword) => Update(this.AttributeLists, ifKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.Statement, this.Else); 8432public IfStatementSyntax WithOpenParenToken(SyntaxToken openParenToken) => Update(this.AttributeLists, this.IfKeyword, openParenToken, this.Condition, this.CloseParenToken, this.Statement, this.Else); 8433public IfStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.Statement, this.Else); 8434public IfStatementSyntax WithCloseParenToken(SyntaxToken closeParenToken) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, closeParenToken, this.Statement, this.Else); 8435public IfStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement, this.Else); 8436public IfStatementSyntax WithElse(ElseClauseSyntax? @else) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.Statement, @else); 8439public new IfStatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => WithAttributeLists(this.AttributeLists.AddRange(items));
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\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\roslyn\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\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (5)
47var ifStatement = (IfStatementSyntax)syntaxContext.Node; 112IfStatementSyntax ifStatement, 168IfStatementSyntax ifStatement, 218IfStatementSyntax ifStatement,
src\roslyn\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\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (2)
40var ifStatement = (IfStatementSyntax)statement;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (3)
100IfStatementSyntax ifStatement, 120var ifStatement = (IfStatementSyntax)context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs (1)
15: AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer<IfStatementSyntax>(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
16: AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer<IfStatementSyntax>
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (3)
28IfStatementSyntax, 70IfStatementSyntax ifStatement, 110IfStatementSyntax ifStatement,
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (2)
174var ifStatement = (IfStatementSyntax)current;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (2)
76out var ifStatement, out var localDeclarationStatement, 163[NotNullWhen(true)] out IfStatementSyntax? ifStatement,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
168(nodeParent is IfStatementSyntax ifStatement && ifStatement.Condition == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
123IfStatementSyntax or 138IfStatementSyntax n => n.Statement, 716IfStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
294IfStatementSyntax ifStatement => ifStatement.CloseParenToken.Equals(token), 367return node is IfStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
319if (node is ElseClauseSyntax { ElseKeyword: var elseKeyword, Statement: IfStatementSyntax { IfKeyword: var ifKeyword } } &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
38if (node is IfStatementSyntax ifStatementNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
126var ifStatementNode = node as IfStatementSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (2)
85var node = TryGetAncestorForLocation<IfStatementSyntax>(root, position, out ifStatement);
src\roslyn\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\roslyn\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\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (2)
563else if (node is IfStatementSyntax ifStatement) 849else if (node is IfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (1)
52if (coalesceOrIfStatement is IfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (2)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 45IfStatementSyntax ifStatement, StatementSyntax statement)
src\roslyn\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\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (2)
29var ifStatement = (IfStatementSyntax)originalIfStatement.Syntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (2)
31IfStatementSyntax, 42IfStatementSyntax ifStatement, StatementSyntax newWhenTrueStatement)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
160if (elseClause.Statement is IfStatementSyntax ifStatement &&
src\roslyn\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.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.WithLeadingTrivia(Space))); 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\roslyn\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\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (5)
47var ifStatement = (IfStatementSyntax)syntaxContext.Node; 112IfStatementSyntax ifStatement, 168IfStatementSyntax ifStatement, 218IfStatementSyntax ifStatement,
src\roslyn\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\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (2)
40var ifStatement = (IfStatementSyntax)statement;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (3)
100IfStatementSyntax ifStatement, 120var ifStatement = (IfStatementSyntax)context.Node;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs (1)
15: AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer<IfStatementSyntax>(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseConditionalExpression\CSharpUseConditionalExpressionForReturnDiagnosticAnalyzer.cs (1)
16: AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer<IfStatementSyntax>
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (3)
28IfStatementSyntax, 70IfStatementSyntax ifStatement, 110IfStatementSyntax ifStatement,
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (2)
174var ifStatement = (IfStatementSyntax)current;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (2)
76out var ifStatement, out var localDeclarationStatement, 163[NotNullWhen(true)] out IfStatementSyntax? ifStatement,
src\roslyn\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\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (2)
563else if (node is IfStatementSyntax ifStatement) 849else if (node is IfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (1)
52if (coalesceOrIfStatement is IfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (2)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 45IfStatementSyntax ifStatement, StatementSyntax statement)
src\roslyn\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\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (2)
29var ifStatement = (IfStatementSyntax)originalIfStatement.Syntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (2)
31IfStatementSyntax, 42IfStatementSyntax ifStatement, StatementSyntax newWhenTrueStatement)
src\roslyn\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.NetAnalyzers (15)
Microsoft.NetCore.Analyzers\Performance\CSharpDoNotGuardCall.Fixer.cs (2)
29if (conditionalSyntax is IfStatementSyntax ifStatementSyntax) 45if (conditionalOperationNode is IfStatementSyntax { Else: not null } ifStatementSyntax)
Microsoft.NetCore.Analyzers\Performance\CSharpPreferDictionaryTryMethodsOverContainsKeyGuardFixer.cs (2)
225var ifStatement = containsKeyInvocation.FirstAncestorOrSelf<IfStatementSyntax>();
Microsoft.NetCore.Analyzers\Runtime\CSharpAvoidRedundantRegexIsMatchBeforeMatch.Fixer.cs (11)
82var ifStatement = isMatchNode.FirstAncestorOrSelf<IfStatementSyntax>(); 115IfStatementSyntax ifStatement, 188IfStatementSyntax ifStatement, 343IfStatementSyntax ifStatement, string variableName) 378IfStatementSyntax ifStatement, string variableName) 435IfStatementSyntax ifStatement, 454IfStatementSyntax ifStatement, 475IfStatementSyntax ifStatement, 597IfStatementSyntax ifStatement, string variableName) 604elseClause.Parent is IfStatementSyntax parentIf)
Microsoft.CodeAnalysis.CSharp.Workspaces (20)
CodeGeneration\CSharpSyntaxGenerator.cs (1)
3264falseArray is [IfStatementSyntax ifStatement] ? ifStatement : CreateBlock(falseArray)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
168(nodeParent is IfStatementSyntax ifStatement && ifStatement.Condition == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
123IfStatementSyntax or 138IfStatementSyntax n => n.Statement, 716IfStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
294IfStatementSyntax ifStatement => ifStatement.CloseParenToken.Equals(token), 367return node is IfStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
319if (node is ElseClauseSyntax { ElseKeyword: var elseKeyword, Statement: IfStatementSyntax { IfKeyword: var ifKeyword } } &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
38if (node is IfStatementSyntax ifStatementNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
126var ifStatementNode = node as IfStatementSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (2)
85var node = TryGetAncestorForLocation<IfStatementSyntax>(root, position, out ifStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
497else if (currentOriginalNode is IfStatementSyntax originalIfStatement) 499var newIfStatement = (IfStatementSyntax)currentReplacedNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
160if (elseClause.Statement is IfStatementSyntax ifStatement &&
src\roslyn\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.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)
261private static IfStatementSyntax GenerateBindSyntax(JSImportData jsImportData, JSSignatureContext signatureContext, ArgumentSyntax signaturesArgument)
Roslyn.Diagnostics.CSharp.Analyzers (19)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
168(nodeParent is IfStatementSyntax ifStatement && ifStatement.Condition == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
123IfStatementSyntax or 138IfStatementSyntax n => n.Statement, 716IfStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
294IfStatementSyntax ifStatement => ifStatement.CloseParenToken.Equals(token), 367return node is IfStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
319if (node is ElseClauseSyntax { ElseKeyword: var elseKeyword, Statement: IfStatementSyntax { IfKeyword: var ifKeyword } } &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
38if (node is IfStatementSyntax ifStatementNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
126var ifStatementNode = node as IfStatementSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpHeaderFacts.cs (2)
85var node = TryGetAncestorForLocation<IfStatementSyntax>(root, position, out ifStatement);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (3)
497else if (currentOriginalNode is IfStatementSyntax originalIfStatement) 499var newIfStatement = (IfStatementSyntax)currentReplacedNode;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (1)
160if (elseClause.Statement is IfStatementSyntax ifStatement &&
src\roslyn\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)