25 types derived from StatementSyntax
Microsoft.CodeAnalysis.CSharp (25)
_generated\2\Syntax.xml.Syntax.Generated.cs (24)
6347public sealed partial class BlockSyntax : StatementSyntax 6413public sealed partial class LocalFunctionStatementSyntax : StatementSyntax 6545public sealed partial class LocalDeclarationStatementSyntax : StatementSyntax 6949public sealed partial class ExpressionStatementSyntax : StatementSyntax 7011public sealed partial class EmptyStatementSyntax : StatementSyntax 7058public sealed partial class LabeledStatementSyntax : StatementSyntax 7130public sealed partial class GotoStatementSyntax : StatementSyntax 7217public sealed partial class BreakStatementSyntax : StatementSyntax 7282public sealed partial class ContinueStatementSyntax : StatementSyntax 7347public sealed partial class ReturnStatementSyntax : StatementSyntax 7412public sealed partial class ThrowStatementSyntax : StatementSyntax 7478public sealed partial class YieldStatementSyntax : StatementSyntax 7546public sealed partial class WhileStatementSyntax : StatementSyntax 7620public sealed partial class DoStatementSyntax : StatementSyntax 7700public sealed partial class ForStatementSyntax : StatementSyntax 7808public abstract partial class CommonForEachStatementSyntax : StatementSyntax 8064public sealed partial class UsingStatementSyntax : StatementSyntax 8154public sealed partial class FixedStatementSyntax : StatementSyntax 8230public sealed partial class CheckedStatementSyntax : StatementSyntax 8294public sealed partial class UnsafeStatementSyntax : StatementSyntax 8358public sealed partial class LockStatementSyntax : StatementSyntax 8435public sealed partial class IfStatementSyntax : StatementSyntax 8580public sealed partial class SwitchStatementSyntax : StatementSyntax 9086public sealed partial class TryStatementSyntax : StatementSyntax
Syntax\DeclarationStatementSyntax.cs (1)
7public partial class LocalDeclarationStatementSyntax : StatementSyntax
1539 references to StatementSyntax
ILLink.CodeFixProvider (12)
RequiresUnsafeCodeFixProvider.cs (12)
56var containingStatement = targetNode.AncestorsAndSelf().OfType<StatementSyntax>().FirstOrDefault(); 118private static bool IsEmbeddedStatement(StatementSyntax statement) 169StatementSyntax triggerStatement, 200StatementSyntax statementToWrap = triggerStatement; 282var stmt = statements[nextIndex]; 312List<StatementSyntax> statementsToWrap; 315statementsToWrap = new List<StatementSyntax> { statementToWrap }; 336var newStatements = new List<StatementSyntax>(); 366StatementSyntax triggerStatement, 389StatementSyntax embeddedStatement, 446StatementSyntax innerStatement = isVoid
Microsoft.AspNetCore.App.Analyzers (3)
RouteEmbeddedLanguage\Infrastructure\RouteStringSyntaxDetector.cs (2)
99var statement = container.FirstAncestorOrSelf<SyntaxNode>(n => n is StatementSyntax); 222=> node is StatementSyntax;
WebApplicationBuilder\WebApplicationBuilderAnalyzer.cs (1)
373foreach (var statement in block.Statements)
Microsoft.AspNetCore.App.CodeFixes (1)
WebApplicationBuilderFixer.cs (1)
122foreach (var statement in lambdaStatements)
Microsoft.AspNetCore.Components.Analyzers (3)
JSInteropCodeFixProvider.cs (3)
58var statement = invocation.FirstAncestorOrSelf<StatementSyntax>(); 107SyntaxFactory.SingletonList<StatementSyntax>(
Microsoft.CodeAnalysis.CSharp (340)
_generated\0\Syntax.xml.Main.Generated.cs (52)
1856=> node.Update(VisitList(node.AttributeLists), VisitList(node.Modifiers), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1892=> node.Update(VisitList(node.AttributeLists), VisitToken(node.Identifier), VisitToken(node.ColonToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1913=> node.Update(VisitList(node.AttributeLists), VisitToken(node.WhileKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition"), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1916=> node.Update(VisitList(node.AttributeLists), VisitToken(node.DoKeyword), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement"), VisitToken(node.WhileKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition"), VisitToken(node.CloseParenToken), VisitToken(node.SemicolonToken)); 1919=> node.Update(VisitList(node.AttributeLists), VisitToken(node.ForKeyword), VisitToken(node.OpenParenToken), (VariableDeclarationSyntax?)Visit(node.Declaration), VisitList(node.Initializers), VisitToken(node.FirstSemicolonToken), (ExpressionSyntax?)Visit(node.Condition), VisitToken(node.SecondSemicolonToken), VisitList(node.Incrementors), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1922=> node.Update(VisitList(node.AttributeLists), VisitToken(node.AwaitKeyword), VisitToken(node.ForEachKeyword), VisitToken(node.OpenParenToken), (TypeSyntax?)Visit(node.Type) ?? throw new ArgumentNullException("type"), VisitToken(node.Identifier), VisitToken(node.InKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1925=> node.Update(VisitList(node.AttributeLists), VisitToken(node.AwaitKeyword), VisitToken(node.ForEachKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Variable) ?? throw new ArgumentNullException("variable"), VisitToken(node.InKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1928=> node.Update(VisitList(node.AttributeLists), VisitToken(node.AwaitKeyword), VisitToken(node.UsingKeyword), VisitToken(node.OpenParenToken), (VariableDeclarationSyntax?)Visit(node.Declaration), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1931=> node.Update(VisitList(node.AttributeLists), VisitToken(node.FixedKeyword), VisitToken(node.OpenParenToken), (VariableDeclarationSyntax?)Visit(node.Declaration) ?? throw new ArgumentNullException("declaration"), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1940=> node.Update(VisitList(node.AttributeLists), VisitToken(node.LockKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1943=> node.Update(VisitList(node.AttributeLists), VisitToken(node.IfKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition"), VisitToken(node.CloseParenToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement"), (ElseClauseSyntax?)Visit(node.Else)); 1946=> node.Update(VisitToken(node.ElseKeyword), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 4007public static GlobalStatementSyntax GlobalStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, StatementSyntax statement) 4014public static GlobalStatementSyntax GlobalStatement(StatementSyntax statement) 4018public static BlockSyntax Block(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken) 4026public static BlockSyntax Block(SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<StatementSyntax> statements) 4031public static BlockSyntax Block(SyntaxList<StatementSyntax> statements = default) 4190public static LabeledStatementSyntax LabeledStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) 4199public static LabeledStatementSyntax LabeledStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, StatementSyntax statement) 4203public static LabeledStatementSyntax LabeledStatement(SyntaxToken identifier, StatementSyntax statement) 4207public static LabeledStatementSyntax LabeledStatement(string identifier, StatementSyntax statement) 4353public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 4364public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement) 4368public static WhileStatementSyntax WhileStatement(ExpressionSyntax condition, StatementSyntax statement) 4372public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 4385public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, StatementSyntax statement, ExpressionSyntax condition) 4389public static DoStatementSyntax DoStatement(StatementSyntax statement, ExpressionSyntax condition) 4393public static ForStatementSyntax ForStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement) 4405public static ForStatementSyntax ForStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, ExpressionSyntax? condition, SeparatedSyntaxList<ExpressionSyntax> incrementors, StatementSyntax statement) 4409public static ForStatementSyntax ForStatement(StatementSyntax statement) 4413public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4433public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4437public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4441public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, string identifier, ExpressionSyntax expression, StatementSyntax statement) 4445public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4464public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4468public static ForEachVariableStatementSyntax ForEachVariableStatement(ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4472public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 4488public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, StatementSyntax statement) 4492public static UsingStatementSyntax UsingStatement(StatementSyntax statement) 4496public static FixedStatementSyntax FixedStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) 4507public static FixedStatementSyntax FixedStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax declaration, StatementSyntax statement) 4511public static FixedStatementSyntax FixedStatement(VariableDeclarationSyntax declaration, StatementSyntax statement) 4570public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4581public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, StatementSyntax statement) 4585public static LockStatementSyntax LockStatement(ExpressionSyntax expression, StatementSyntax statement) 4589public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 4600public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement, ElseClauseSyntax? @else) 4604public static IfStatementSyntax IfStatement(ExpressionSyntax condition, StatementSyntax statement) 4608public static ElseClauseSyntax ElseClause(SyntaxToken elseKeyword, StatementSyntax statement) 4616public static ElseClauseSyntax ElseClause(StatementSyntax statement) 4642public static SwitchSectionSyntax SwitchSection(SyntaxList<SwitchLabelSyntax> labels, SyntaxList<StatementSyntax> statements)
_generated\2\Syntax.xml.Syntax.Generated.cs (145)
3104public AnonymousFunctionExpressionSyntax AddBlockStatements(params StatementSyntax[] items) => AddBlockStatementsCore(items); 3105internal abstract AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items); 3212internal override AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items) => AddBlockStatements(items); 3213public new AnonymousMethodExpressionSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 3244public new AnonymousFunctionExpressionSyntax AddBlockStatements(params StatementSyntax[] items) => AddBlockStatementsCore(items); 3354internal override AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items) => AddBlockStatements(items); 3355public new SimpleLambdaExpressionSyntax AddBlockStatements(params StatementSyntax[] items) 3516internal override AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items) => AddBlockStatements(items); 3517public new ParenthesizedLambdaExpressionSyntax AddBlockStatements(params StatementSyntax[] items) 6262private StatementSyntax? statement; 6280public StatementSyntax Statement => GetRed(ref this.statement, 2)!; 6301public GlobalStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, StatementSyntax statement) 6317public GlobalStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.Modifiers, statement); 6334public StatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeListsCore(attributeLists); 6335internal abstract StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists); 6337public StatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => AddAttributeListsCore(items); 6338internal abstract StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items); 6361public SyntaxList<StatementSyntax> Statements => new SyntaxList<StatementSyntax>(GetRed(ref this.statements, 2)); 6384public BlockSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken) 6396internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6399public BlockSyntax WithStatements(SyntaxList<StatementSyntax> statements) => Update(this.AttributeLists, this.OpenBraceToken, statements, this.CloseBraceToken); 6402internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6404public BlockSyntax AddStatements(params StatementSyntax[] items) => WithStatements(this.Statements.AddRange(items)); 6505internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6517internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6532public LocalFunctionStatementSyntax AddBodyStatements(params StatementSyntax[] items) 6620internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6628internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6996internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7001internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7043internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7047internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7061private StatementSyntax? statement; 7076public StatementSyntax Statement => GetRed(ref this.statement, 3)!; 7097public LabeledStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) 7109internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7113public LabeledStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.Identifier, this.ColonToken, statement); 7115internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7200internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7207internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7266internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7272internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7331internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7337internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7396internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7402internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7461internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7467internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7529internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7536internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7550private StatementSyntax? statement; 7567public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 7590public WhileStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 7602internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7608public WhileStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.WhileKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement); 7610internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7623private StatementSyntax? statement; 7635public StatementSyntax Statement => GetRed(ref this.statement, 2)!; 7668public DoStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 7680internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7683public DoStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.DoKeyword, statement, this.WhileKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.SemicolonToken); 7690internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7707private StatementSyntax? statement; 7748public StatementSyntax Statement => GetRed(ref this.statement, 10)!; 7777public ForStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement) 7789internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7800public ForStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, statement); 7802internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7839public abstract StatementSyntax Statement { get; } 7840public CommonForEachStatementSyntax WithStatement(StatementSyntax statement) => WithStatementCore(statement); 7841internal abstract CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement); 7859private StatementSyntax? statement; 7892public override StatementSyntax Statement => GetRed(ref this.statement, 9)!; 7917public ForEachStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7929internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7945internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 7946public new ForEachStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, this.Type, this.Identifier, this.InKeyword, this.Expression, this.CloseParenToken, statement); 7948internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7963private StatementSyntax? statement; 7999public override StatementSyntax Statement => GetRed(ref this.statement, 8)!; 8024public ForEachVariableStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 8036internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8051internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 8052public new ForEachVariableStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, this.Variable, this.InKeyword, this.Expression, this.CloseParenToken, statement); 8054internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8069private StatementSyntax? statement; 8097public StatementSyntax Statement => GetRed(ref this.statement, 7)!; 8122public UsingStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 8134internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8142public UsingStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.AwaitKeyword, this.UsingKeyword, this.OpenParenToken, this.Declaration, this.Expression, this.CloseParenToken, statement); 8144internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8158private StatementSyntax? statement; 8175public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8198public FixedStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) 8210internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8216public FixedStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.FixedKeyword, this.OpenParenToken, this.Declaration, this.CloseParenToken, statement); 8218internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8277internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8282internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8285public CheckedStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 8341internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8346internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8349public UnsafeStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 8362private StatementSyntax? statement; 8379public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8402public LockStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 8414internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8420public LockStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.LockKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, statement); 8422internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8439private StatementSyntax? statement; 8472public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8502public IfStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 8514internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8520public IfStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement, this.Else); 8523internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8536private StatementSyntax? statement; 8548public StatementSyntax Statement => GetRed(ref this.statement, 1)!; 8557public ElseClauseSyntax Update(SyntaxToken elseKeyword, StatementSyntax statement) 8570public ElseClauseSyntax WithStatement(StatementSyntax statement) => Update(this.ElseKeyword, statement); 8675internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8685internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8715public SyntaxList<StatementSyntax> Statements => new SyntaxList<StatementSyntax>(GetRed(ref this.statements, 1)); 8736public SwitchSectionSyntax Update(SyntaxList<SwitchLabelSyntax> labels, SyntaxList<StatementSyntax> statements) 8749public SwitchSectionSyntax WithStatements(SyntaxList<StatementSyntax> statements) => Update(this.Labels, statements); 8752public SwitchSectionSyntax AddStatements(params StatementSyntax[] items) => WithStatements(this.Statements.AddRange(items)); 9143internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 9150internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 9153public TryStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 9221public CatchClauseSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 9369public FinallyClauseSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 12548public BaseMethodDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) => AddBodyStatementsCore(items); 12549internal abstract BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items); 12710internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12711public new MethodDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 12856internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12857public new OperatorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13002internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 13003public new ConversionOperatorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13126internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 13127public new ConstructorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13299internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 13300public new DestructorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13880public AccessorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items)
Binder\Binder_Initializers.cs (2)
233(StatementSyntax)syntax, 246StatementSyntax statementNode,
Binder\Binder_Statements.cs (5)
40public virtual BoundStatement BindStatement(StatementSyntax node, BindingDiagnosticBag diagnostics) 156Debug.Assert(result.Syntax is StatementSyntax, "BoundStatement should be associated with a statement syntax."); 319internal BoundStatement BindPossibleEmbeddedStatement(StatementSyntax node, BindingDiagnosticBag diagnostics) 2601var elseStatementSyntax = node.Else.Statement; 2957StatementSyntax node,
Binder\Binder.cs (1)
102case StatementSyntax:
Binder\EmbeddedStatementBinder.cs (2)
22private readonly StatementSyntax _statement; 24public EmbeddedStatementBinder(Binder enclosing, StatementSyntax statement)
Binder\LocalBinderFactory.cs (9)
79StatementSyntax statement; 93else if (syntax.Kind() != SyntaxKind.Block && (statement = syntax as StatementSyntax) != null) 547foreach (StatementSyntax statement in node.Statements) 733StatementSyntax statement = node.Statement; 786foreach (StatementSyntax statement in node.Statements) 841var elseStatementSyntax = node.Else.Statement; 1050private Binder GetBinderForPossibleEmbeddedStatement(StatementSyntax statement, Binder enclosing, out CSharpSyntaxNode embeddedScopeDesignator) 1082private Binder GetBinderForPossibleEmbeddedStatement(StatementSyntax statement, Binder enclosing) 1100private void VisitPossibleEmbeddedStatement(StatementSyntax statement, Binder enclosing)
Binder\LocalScopeBinder.cs (11)
148protected ImmutableArray<LocalSymbol> BuildLocals(SyntaxList<StatementSyntax> statements, Binder enclosingBinder) 165foreach (var statement in statements) 173internal void BuildLocals(Binder enclosingBinder, StatementSyntax statement, ArrayBuilder<LocalSymbol> locals) 175var innerStatement = statement; 296protected ImmutableArray<LocalFunctionSymbol> BuildLocalFunctions(SyntaxList<StatementSyntax> statements) 299foreach (var statement in statements) 307internal void BuildLocalFunctions(StatementSyntax statement, ref ArrayBuilder<LocalFunctionSymbol> locals) 309var innerStatement = statement; 353protected void BuildLabels(SyntaxList<StatementSyntax> statements, ref ArrayBuilder<LabelSymbol> labels) 356foreach (var statement in statements) 362internal static void BuildLabels(MethodSymbol containingMethod, StatementSyntax statement, ref ArrayBuilder<LabelSymbol> labels)
Binder\SwitchBinder_Patterns.cs (1)
211foreach (StatementSyntax statement in node.Statements)
Binder\WhileBinder.cs (2)
19private readonly StatementSyntax _syntax; 21public WhileBinder(Binder enclosing, StatementSyntax syntax)
Compilation\AttributeSemanticModel.cs (1)
152internal override bool TryGetSpeculativeSemanticModelCore(SyntaxTreeSemanticModel parentModel, int position, StatementSyntax statement, out PublicSemanticModel? speculativeModel)
Compilation\CSharpCompilation.cs (2)
870if (root.DescendantNodes(n => n is GlobalStatementSyntax || n is StatementSyntax || n is CompilationUnitSyntax).Any(n => n.IsKind(SyntaxKind.ReturnStatement))) 879var statement = lastGlobalStatement.Statement;
Compilation\CSharpSemanticModel.cs (15)
2413case StatementSyntax statement: 2430public virtual ControlFlowAnalysis AnalyzeControlFlow(StatementSyntax firstStatement, StatementSyntax lastStatement) 2441public virtual ControlFlowAnalysis AnalyzeControlFlow(StatementSyntax statement) 2486public virtual DataFlowAnalysis AnalyzeDataFlow(StatementSyntax firstStatement, StatementSyntax lastStatement) 2497public virtual DataFlowAnalysis AnalyzeDataFlow(StatementSyntax statement) 2602public bool TryGetSpeculativeSemanticModel(int position, StatementSyntax statement, out SemanticModel speculativeModel) 2610internal abstract bool TryGetSpeculativeSemanticModelCore(SyntaxTreeSemanticModel parentModel, int position, StatementSyntax statement, out PublicSemanticModel speculativeModel); 5377if (!(firstStatement is StatementSyntax firstStatementSyntax)) 5382if (!(lastStatement is StatementSyntax lastStatementSyntax)) 5397if (!(statement is StatementSyntax statementSyntax)) 5417if (!(firstStatement is StatementSyntax firstStatementSyntax)) 5422if (!(lastStatement is StatementSyntax lastStatementSyntax)) 5436case StatementSyntax statementSyntax:
Compilation\InitializerSemanticModel.cs (1)
235internal override bool TryGetSpeculativeSemanticModelCore(SyntaxTreeSemanticModel parentModel, int position, StatementSyntax statement, out PublicSemanticModel speculativeModel)
Compilation\MemberSemanticModel.cs (10)
238StatementSyntax stmt = current as StatementSyntax; 393private static Binder AdjustBinderForPositionWithinStatement(int position, Binder binder, StatementSyntax stmt) 1457private void GuardedAddSynthesizedStatementToMap(StatementSyntax node, BoundStatement statement) 1467private BoundStatement GuardedGetSynthesizedStatementFromMap(StatementSyntax node) 1541if (syntax == _root || syntax is StatementSyntax) 1586if (current is StatementSyntax) 2298!(node is StatementSyntax) && 2469private BoundStatement TryGetBoundStatementFromMap(StatementSyntax node) 2486public override BoundStatement BindStatement(StatementSyntax node, BindingDiagnosticBag diagnostics)
Compilation\MemberSemanticModel.NodeMapBuilder.cs (3)
41Debug.Assert(node == null || root == null || !(root.Syntax is StatementSyntax), "individually added nodes are not supposed to be statements."); 90Debug.Assert(!(key is StatementSyntax), "!(key is StatementSyntax)"); 117(object)existing[i] == nodesToAdd[i] || !(key is StatementSyntax),
Compilation\MemberSemanticModel.SpeculativeMemberSemanticModel.cs (1)
85internal override bool TryGetSpeculativeSemanticModelCore(SyntaxTreeSemanticModel parentModel, int position, StatementSyntax statement, out PublicSemanticModel speculativeModel)
Compilation\MethodBodySemanticModel.cs (2)
113StatementSyntax syntax, 201internal override bool TryGetSpeculativeSemanticModelCore(SyntaxTreeSemanticModel parentModel, int position, StatementSyntax statement, out PublicSemanticModel speculativeModel)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
550internal override bool TryGetSpeculativeSemanticModelCore(SyntaxTreeSemanticModel parentModel, int position, StatementSyntax statement, out PublicSemanticModel? speculativeModel)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (2)
45private RegionAnalysisContext RegionAnalysisContext(StatementSyntax firstStatement, StatementSyntax lastStatement)
Compilation\SyntaxTreeSemanticModel.cs (7)
630internal sealed override bool TryGetSpeculativeSemanticModelCore(SyntaxTreeSemanticModel parentModel, int position, StatementSyntax statement, out PublicSemanticModel speculativeModel) 2244public override ControlFlowAnalysis AnalyzeControlFlow(StatementSyntax firstStatement, StatementSyntax lastStatement) 2252private void ValidateStatementRange(StatementSyntax firstStatement, StatementSyntax lastStatement) 2339public override DataFlowAnalysis AnalyzeDataFlow(StatementSyntax firstStatement, StatementSyntax lastStatement)
CSharpExtensions.cs (7)
1071public static ControlFlowAnalysis? AnalyzeControlFlow(this SemanticModel? semanticModel, StatementSyntax firstStatement, StatementSyntax lastStatement) 1080public static ControlFlowAnalysis? AnalyzeControlFlow(this SemanticModel? semanticModel, StatementSyntax statement) 1116public static DataFlowAnalysis? AnalyzeDataFlow(this SemanticModel? semanticModel, StatementSyntax firstStatement, StatementSyntax lastStatement) 1125public static DataFlowAnalysis? AnalyzeDataFlow(this SemanticModel? semanticModel, StatementSyntax statement) 1212public static bool TryGetSpeculativeSemanticModel([NotNullWhen(true)] this SemanticModel? semanticModel, int position, StatementSyntax statement, [NotNullWhen(true)] out SemanticModel? speculativeModel)
Declarations\DeclarationTreeBuilder.cs (1)
161var topLevelStatement = global.Statement;
FlowAnalysis\ExitPointsWalker.cs (6)
21private readonly ArrayBuilder<StatementSyntax> _branchesOutOf; 27_branchesOutOf = ArrayBuilder<StatementSyntax>.GetInstance(); 41internal static ImmutableArray<StatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 54private ImmutableArray<StatementSyntax> Analyze() 63return ImmutableArray<StatementSyntax>.Empty; 150_branchesOutOf.Add((StatementSyntax)pending.Branch.Syntax);
Parser\LanguageParser.cs (1)
8342this.CurrentNode is Syntax.StatementSyntax &&
Symbols\FieldOrPropertyInitializer.cs (2)
24/// or top-level <see cref="StatementSyntax"/> in script code, 31Debug.Assert(((syntax.IsKind(SyntaxKind.EqualsValueClause) || syntax.IsKind(SyntaxKind.Parameter)) && fieldOpt != null) || syntax is StatementSyntax);
Symbols\Source\SourceLocalSymbol.cs (1)
207Contains(nodeToBind.Ancestors().OfType<StatementSyntax>().First().Kind()) ||
Symbols\Source\SourceMemberContainerSymbol.cs (2)
6069var globalStatement = ((GlobalStatementSyntax)m).Statement; 6073var innerStatement = globalStatement;
Syntax\BlockSyntax.cs (2)
11public BlockSyntax Update(SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken) 20public static BlockSyntax Block(SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken)
Syntax\DoStatementSyntax.cs (2)
11public DoStatementSyntax Update(SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 20public static DoStatementSyntax DoStatement(SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken)
Syntax\FixedStatementSyntax.cs (2)
11public FixedStatementSyntax Update(SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) 20public static FixedStatementSyntax FixedStatement(SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement)
Syntax\ForEachStatementSyntax.cs (4)
11public ForEachStatementSyntax Update(SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 14public ForEachStatementSyntax Update(SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 23public static ForEachStatementSyntax ForEachStatement(SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 26public static ForEachStatementSyntax ForEachStatement(SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement)
Syntax\ForEachVariableStatementSyntax.cs (4)
11public ForEachVariableStatementSyntax Update(SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 14public ForEachVariableStatementSyntax Update(SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 23public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 26public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement)
Syntax\ForStatementSyntax.cs (3)
11public ForStatementSyntax Update(SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement) 20public static ForStatementSyntax ForStatement(VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, ExpressionSyntax? condition, SeparatedSyntaxList<ExpressionSyntax> incrementors, StatementSyntax statement) 23public static ForStatementSyntax ForStatement(SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement)
Syntax\GlobalStatementSyntax.cs (1)
9public GlobalStatementSyntax Update(StatementSyntax statement)
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\LabeledStatementSyntax.cs (2)
11public LabeledStatementSyntax Update(SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) 20public static LabeledStatementSyntax LabeledStatement(SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement)
Syntax\LockStatementSyntax.cs (2)
11public LockStatementSyntax Update(SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 20public static LockStatementSyntax LockStatement(SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement)
Syntax\LookupPosition.cs (5)
262internal static bool IsInStatementScope(int position, StatementSyntax statement) 310private static SyntaxToken GetFirstIncludedToken(StatementSyntax statement) 372internal static SyntaxToken GetFirstExcludedToken(StatementSyntax statement) 506var bodyStatement = body as StatementSyntax;
Syntax\SyntaxFactory.cs (4)
1780public static StatementSyntax ParseStatement(string text, int offset = 0, ParseOptions? options = null, bool consumeFullText = true) 1787return CreateRed<StatementSyntax>(node, lexer.Options); 2487public static BlockSyntax Block(params StatementSyntax[] statements) 2493public static BlockSyntax Block(IEnumerable<StatementSyntax> statements)
Syntax\SyntaxNodeExtensions.cs (1)
110return syntax is StatementSyntax || IsValidScopeDesignator(syntax as ExpressionSyntax);
Syntax\SyntaxNormalizer.cs (3)
262return (((currentToken.Parent is StatementSyntax) && nextToken.Parent != currentToken.Parent) 1374if (node is StatementSyntax && node is not BlockSyntax) 1441if (currentParent is StatementSyntax
Syntax\UsingStatementSyntax.cs (5)
11public UsingStatementSyntax Update(SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 14public UsingStatementSyntax Update(SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 23public static UsingStatementSyntax UsingStatement(SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 26public static UsingStatementSyntax UsingStatement(SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 29public static UsingStatementSyntax UsingStatement(VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, StatementSyntax statement)
Syntax\WhileStatementSyntax.cs (2)
11public WhileStatementSyntax Update(SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 20public static WhileStatementSyntax WhileStatement(SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement)
Microsoft.CodeAnalysis.CSharp.CodeStyle (157)
src\984dec8966cb7923\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (5)
42if (shouldRemoveNextStatement && node.GetNextStatement() is StatementSyntax nextStatement) 63var declaration = declarator.GetAncestor<StatementSyntax>(); 67var beforeSwitch = node.GetPreviousStatement() is StatementSyntax previousStatement 210private SyntaxKind AnalyzeNextStatement(StatementSyntax? nextStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (3)
57var embeddedStatement = statement.GetEmbeddedStatement(); 123private static bool ContainsInterleavedDirective(SyntaxNode statement, StatementSyntax embeddedStatement, CancellationToken cancellationToken) 295var elseStatement = statement.Else?.Statement;
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (4)
118var containingStatement = argumentExpression.FirstAncestorOrSelf<StatementSyntax>(); 265var nextStatement = localStatement.GetNextStatement(); 303if (current is StatementSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (3)
67var innerStatement = ifStatement.Statement; 167StatementSyntax firstStatement, 265var previousStatement = blockStatements[ifIndex - 1];
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConsecutiveStatementPlacement\CSharpConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
33internal sealed class CSharpConsecutiveStatementPlacementDiagnosticAnalyzer : AbstractConsecutiveStatementPlacementDiagnosticAnalyzer<StatementSyntax>
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementDiagnosticAnalyzer.cs (5)
56if (node is StatementSyntax statement && 73private bool CheckStatementSyntax(SyntaxTreeAnalysisContext context, NotificationOption2 notificationOption, StatementSyntax statement) 89public static bool StatementNeedsWrapping(StatementSyntax statement) 95if (parent is not StatementSyntax && !parentIsElseClause) 118if (parent.DescendantNodes().OfType<StatementSyntax>().Count() <= 1)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
320var statement = anonymousFunction.Block.Statements[0];
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (4)
70public static StatementSyntax? TryGetContainingStatement(SyntaxNode node) 72var firstUnreachableStatement = node.FirstAncestorOrSelf<StatementSyntax>(); 86var firstUnreachableStatement = TryGetContainingStatement(node);
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\RemoveUnreachableCodeHelpers.cs (10)
13public static ImmutableArray<ImmutableArray<StatementSyntax>> GetSubsequentUnreachableSections(StatementSyntax firstUnreachableStatement) 15ImmutableArray<StatementSyntax> siblingStatements; 35using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var builder); 56var sections = ArrayBuilder<ImmutableArray<StatementSyntax>>.GetInstance(); 58var currentSection = ArrayBuilder<StatementSyntax>.GetInstance(); 63var currentStatement = siblingStatements[i]; 84currentSection = ArrayBuilder<StatementSyntax>.GetInstance(); 97private static void AddIfNonEmpty(ArrayBuilder<ImmutableArray<StatementSyntax>> sections, ImmutableArray<StatementSyntax> lastSection)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (1)
201private static T? GetSingleStatementFromAccessor<T>(AccessorDeclarationSyntax? accessorDeclaration) where T : StatementSyntax
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (3)
21StatementSyntax, 57protected override bool TryGetEmbeddedStatement(IfStatementSyntax ifStatement, [NotNullWhen(true)] out StatementSyntax? whenTrueStatement) 69protected override StatementSyntax? TryGetPreviousStatement(IfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForArrayDiagnosticAnalyzer.cs (2)
61public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches( 118public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (3)
155var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>( 168var subseqeuntStatement = enumerator.Current; 210static InvocationExpressionSyntax? TryFindCreationExpression(SyntaxToken identifier, StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (1)
25using FluentState = UpdateExpressionState<ExpressionSyntax, StatementSyntax>;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocDiagnosticAnalyzer.cs (1)
123public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (3)
747public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches<TArrayCreationExpressionSyntax>( 768using var _ = ArrayBuilder<CollectionMatch<StatementSyntax>>.GetInstance(out var matches); 810var currentStatement = localDeclarationStatement.GetNextStatement();
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (8)
11internal sealed class CSharpUpdateExpressionSyntaxHelper : IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> 17StatementSyntax statement, 21out IEnumerable<StatementSyntax> statements, 35StatementSyntax statement, 37out IEnumerable<StatementSyntax> whenTrueStatements, 38out IEnumerable<StatementSyntax>? whenFalseStatements) 46private static IEnumerable<StatementSyntax> ExtractEmbeddedStatements(StatementSyntax embeddedStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (2)
20StatementSyntax, 29protected override IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> SyntaxHelper
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (2)
29StatementSyntax, 116protected override bool IsValidContainingStatement(StatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (2)
101[NotNullWhen(true)] out StatementSyntax? whenTrue, 131if (!GetWhenTrueAssignment(ifStatement, out var whenTrue, out var assignment))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsDiagnosticAnalyzer.cs (1)
72void ReportDiagnostic(SyntaxNodeAnalysisContext context, StatementSyntax statement, NotificationOption2 notification)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers_FlagVariable.cs (14)
84if (GetNearestBreakOrContinueTarget(sites[0].Break, isBreak: true) is not StatementSyntax innerLoop || 97if (!TryWalkGuardChain(innerLoop, guards, orderedGuards, out var targetLoop, out var isBreak)) 138StatementSyntax targetLoop, 139StatementSyntax innerLoop, 147if (innerLoop.AncestorsAndSelf().FirstOrDefault(n => n.Parent == targetBody) is not StatementSyntax siteStatement) 191StatementSyntax innerLoop, 194[NotNullWhen(true)] out StatementSyntax? targetLoop, 200for (var current = innerLoop; current != null;) 203var statementInBlock = current.Parent is LabeledStatementSyntax labeled ? labeled : current; 204if (statementInBlock.Parent is not BlockSyntax { Parent: StatementSyntax containingLoop } containingBlock || 219var guardJump = Unwrap(guard.Statement); 357private static StatementSyntax Unwrap(StatementSyntax statement) 360private static bool IsUnlabeledLoopJump(StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers.cs (5)
32[NotNullWhen(true)] out StatementSyntax? breakTarget, 44var precedingConstruct = declaration.GetPreviousStatement(); 82[NotNullWhen(true)] out StatementSyntax? loop, 95Parent: BlockSyntax { Parent: StatementSyntax candidateLoop, Statements: [.., var lastStatement] }, 131StatementSyntax loop,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\FlagJumpPattern.cs (1)
19public required StatementSyntax LoopStatement { get; init; }
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (6)
108var anonymousFunctionStatement = anonymousFunction.GetAncestor<StatementSyntax>(); 182StatementSyntax? anonymousFunctionStatement, 329var containingStatement = anonymousFunction.GetAncestor<StatementSyntax>(); 361StatementSyntax? previousStatement = null;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (2)
21StatementSyntax, 72out ImmutableArray<StatementSyntax> trueStatements)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseNamedMemberInitializerAnalyzer.cs (1)
15StatementSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseObjectInitializerDiagnosticAnalyzer.cs (2)
19StatementSyntax, 41protected override bool IsValidContainingStatement(StatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (6)
175var oppositeStatement = defAssignedWhenTrue 235case StatementSyntax statement: 280private bool CheckLoop(SyntaxNode statement, StatementSyntax body, bool defAssignedWhenTrue) 321private bool CheckStatement(StatementSyntax statement) 404private bool LocalFlowsIn(StatementSyntax? firstStatement, StatementSyntax? lastStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
185var firstStatement = block.Statements[0];
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (1)
418foreach (var statement in block.Statements)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSimpleUsingStatement\UseSimpleUsingStatementDiagnosticAnalyzer.cs (8)
143foreach (var statement in CSharpBlockFacts.Instance.GetExecutableBlockStatements(parentBlockLike)) 190IReadOnlyList<StatementSyntax> parentStatements, int index, UsingStatementSyntax innermostUsing) 203var priorStatement = parentStatements[i]; 210: new SyntaxList<StatementSyntax>(innermostUsing.Statement); 212foreach (var statement in innerStatements) 221private static bool IsGotoOrLabeledStatement(StatementSyntax priorStatement) 227IReadOnlyList<StatementSyntax> statements, 248var nextStatement = statements[index + 1];
src\roslyn\src\Analyzers\CSharp\Analyzers\UseTupleSwap\CSharpUseTupleSwapDiagnosticAnalyzer.cs (3)
86var firstAssignmentStatement = localDeclarationStatement.GetNextStatement(); 91var secondAssignmentStatement = firstAssignmentStatement.GetNextStatement(); 130[NotNullWhen(true)] StatementSyntax? assignmentStatement,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ArrowExpressionClauseSyntaxExtensions.cs (2)
21if (!arrowExpression.TryConvertToStatement(semicolonToken, createReturnStatementForExpression, out var statement)) 35out StatementSyntax statement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (3)
64bool HasAcceptableDirectiveShape(StatementSyntax statement, SyntaxToken closeBrace) 117var parsed = SyntaxFactory.ParseStatement(nextTrivia.ToFullString()); 203private static bool TryGetExpression(StatementSyntax firstStatement, LanguageVersion languageVersion, [NotNullWhen(true)] out ExpressionSyntax? expression, out SyntaxToken semicolonToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
855[NotNullWhen(true)] out StatementSyntax? statement) 872private static StatementSyntax ConvertToStatement(ExpressionSyntax expression, SyntaxToken semicolonToken, bool createReturnStatementForExpression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\StatementSyntaxExtensions.cs (10)
13public static StatementSyntax WithoutLeadingBlankLinesInTrivia(this StatementSyntax statement) 16public static StatementSyntax? GetPreviousStatement(this StatementSyntax? statement) 21return previousToken.GetAncestors<StatementSyntax>().FirstOrDefault(s => AreSiblingStatements(s, statement)); 27public static StatementSyntax? GetNextStatement(this StatementSyntax? statement) 32return nextToken.GetAncestors<StatementSyntax>().FirstOrDefault(s => AreSiblingStatements(s, statement)); 38private static bool AreSiblingStatements(StatementSyntax first, StatementSyntax second)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
130public static StatementSyntax? GetEmbeddedStatement(this SyntaxNode? node) 166StatementSyntax statementSyntax => statementSyntax.AttributeLists, 838if (current is StatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (3)
163if (token.Parent is not StatementSyntax statement || 200SyntaxNode? statementOrElse = node as StatementSyntax; 287if (token.Parent is not StatementSyntax statement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (1)
52case StatementSyntax statement:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
328return (((previousToken.Parent is StatementSyntax) && currentToken.Parent != previousToken.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
337var embeddedStatement = node.GetEmbeddedStatement();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (1)
474&& (previousToken.Parent is StatementSyntax && !previousToken.Parent.IsKind(SyntaxKind.ForStatement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
257if (node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (1)
196currentToken.GetPreviousToken().IsLastTokenOfNode<StatementSyntax>())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (3)
65var embeddedStatement = node.GetEmbeddedStatement(); 99if (node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block) 112if (!(node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpBlockFacts.cs (4)
17internal class CSharpBlockFacts : AbstractBlockFacts<StatementSyntax> 27public override SyntaxNode? GetImmediateParentExecutableBlockForStatement(StatementSyntax statement) 36public override IReadOnlyList<StatementSyntax> GetExecutableBlockStatements(SyntaxNode? node) 53public override IReadOnlyList<StatementSyntax> GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
238=> node is StatementSyntax; 241=> node is StatementSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
132if (parent is StatementSyntax && !endToken.IsSemicolonInForStatement())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
96=> node is StatementSyntax(kind: not SyntaxKind.Block) or TypeSyntax or CrefSyntax || 135if (nodeToSpeculate is StatementSyntax statementNode)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (119)
src\4f0789c9734b88bf\CSharpInitializeParameterService.cs (2)
23internal sealed class CSharpInitializeParameterService() : AbstractInitializerParameterService<StatementSyntax> 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
src\50a3a051b0fef0d6\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
127private readonly ArrayBuilder<StatementSyntax> _statementsBuilder; 135_statementsBuilder = ArrayBuilder<StatementSyntax>.GetInstance();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddBraces\CSharpAddBracesCodeFixProvider.cs (1)
45var embeddedStatement = currentStatement.GetEmbeddedStatement();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
65if (location is StatementSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAboveReturnCodeFixProvider.cs (2)
59var newBody = SyntaxFactory.Block(statements.Add(exprOrStatement).Cast<StatementSyntax>()); 79var newBody = SyntaxFactory.Block(statements.Add(generator.ReturnStatement(exprOrStatement)).Cast<StatementSyntax>());
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (1)
39if (location is StatementSyntax statement &&
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.cs (2)
76var switchExpressionStatement = Rewriter.Rewrite( 97var nextStatement = switchStatement.GetNextStatement();
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (5)
37public static StatementSyntax Rewrite( 64private StatementSyntax GetFinalStatement( 104private StatementSyntax GenerateVariableDeclaration(ExpressionSyntax switchExpression, ITypeSymbol? declaratorToRemoveType) 205private ExpressionSyntax RewriteStatements(SyntaxList<StatementSyntax> statements) 233var nextStatement = node.GetNextStatement();
src\roslyn\src\Analyzers\CSharp\CodeFixes\ImplementInterface\CSharpImplementInterfaceService.cs (2)
106var disposeStatement = (StatementSyntax)AddComment(
src\roslyn\src\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (8)
52var declarationsToRemove = new HashSet<StatementSyntax>(); 99HashSet<StatementSyntax> declarationsToRemove, 123StatementSyntax priorStatementSyntax = null; 127var statementSyntax = statements[i]; 157StatementSyntax nextStatementSyntax = null; 160var statement = statements[i]; 376a => a is StatementSyntax or 389case StatementSyntax statement:
src\roslyn\src\Analyzers\CSharp\CodeFixes\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessCodeFixProvider.cs (1)
89StatementSyntax newStatement = expressionStatement.WithExpression(
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementCodeFixProvider.cs (3)
70if (node is not StatementSyntax startStatement) 77var descendentStatements = startStatement.DescendantNodesAndSelf().OfType<StatementSyntax>(); 81foreach (var badStatement in badStatements.OrderByDescending(s => s.SpanStart))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (1)
36if (expressionBody.TryConvertToStatement(semicolonToken, createReturnStatementForExpression: false, out var statement))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionCodeFixProvider.cs (2)
64var containingStatement = anonymousFunction.AncestorsAndSelf().OfType<StatementSyntax>().FirstOrDefault();
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnreachableCode\CSharpRemoveUnreachableCodeCodeFixProvider.cs (2)
57var firstUnreachableStatement = CSharpRemoveUnreachableCodeDiagnosticAnalyzer.TryGetContainingStatement( 68foreach (var statement in section)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (3)
28: AbstractRemoveUnusedValuesCodeFixProvider<ExpressionSyntax, StatementSyntax, BlockSyntax, 35protected override BlockSyntax WrapWithBlockIfNecessary(IEnumerable<StatementSyntax> statements) 170var firstStatement = switchCaseBlock.Statements.FirstOrDefault();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (5)
606StatementSyntax? parentStatement, 658if (current is StatementSyntax or MemberDeclarationSyntax) 717StatementSyntax? parentStatement, 862static StatementSyntax UnwrapEmbeddedStatement(StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (1)
99ImmutableArray<CollectionMatch<StatementSyntax>> GetMatches(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForFluentCodeFixProvider.cs (1)
53var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocCodeFixProvider.cs (1)
72ImmutableArray<CollectionMatch<StatementSyntax>> GetMatches()
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (1)
25StatementSyntax,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (2)
55ifStatement, out var whenTrueStatement, out var assignment)); 65var newWhenTrueStatement = whenTrueStatement.ReplaceNode(assignment, newAssignment);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (3)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 44protected override StatementSyntax WrapWithBlockIfAppropriate( 45IfStatementSyntax ifStatement, StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (3)
23: AbstractUseConditionalExpressionForReturnCodeFixProvider<StatementSyntax, IfStatementSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 31protected override StatementSyntax WrapWithBlockIfAppropriate( 32IfStatementSyntax ifStatement, StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.cs (2)
54var statement = conditional.FirstAncestorOrSelf<StatementSyntax>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExpressionBodyForLambda\UseExpressionBodyForLambdaCodeActionHelpers.cs (1)
65out var statement))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsCodeFixProvider.cs (14)
27: ForkingSyntaxEditorBasedCodeFixProvider<StatementSyntax> 38StatementSyntax diagnosticNode, 50gotoStatement, semanticModel, cancellationToken, out var loop, out var labelDeclaration, out var gotos)) 73StatementSyntax loop, 86var newLoop = loop.ReplaceNodes(gotos, (original, _) => CreateJump(labelName, isBreak).WithTriviaFrom(original)); 146var loop = pattern.LoopStatement; 163var newLoop = loop.TrackNodes(pattern.AssignmentAndBreakSites 180private static string? GetReusableLabelName(StatementSyntax loop) 187private static string SynthesizeLabelName(SemanticModel semanticModel, StatementSyntax loop, CancellationToken cancellationToken) 217private static void ReplaceLoop(SyntaxEditor editor, StatementSyntax loop, string labelName, StatementSyntax newLoop) 236private static LabeledStatementSyntax CreateLabeledLoop(string labelName, StatementSyntax originalLoop, StatementSyntax newLoop) 242private static StatementSyntax CreateJump(string labelName, bool isBreak)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (2)
166var anonymousFunctionStatement = anonymousFunction.GetAncestor<StatementSyntax>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (3)
23StatementSyntax, 38private static BlockSyntax ReplaceBlockStatements(BlockSyntax block, StatementSyntax newInnerStatement) 42IfStatementSyntax ifStatement, StatementSyntax newWhenTrueStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\CSharpUseObjectInitializerCodeFixProvider.cs (4)
22using ObjectInitializerMatch = Match<ExpressionSyntax, StatementSyntax, MemberAccessExpressionSyntax, ExpressionStatementSyntax>; 31StatementSyntax, 49protected override StatementSyntax GetNewStatement( 50StatementSyntax statement,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (3)
62var firstStatement = newParentScope is BlockSyntax 71void RemoveStatement(StatementSyntax statement) 86Action<StatementSyntax> removeStatement,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
452foreach (var statement in constructorDeclaration.Body.Statements)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSimpleUsingStatement\UseSimpleUsingStatementCodeFixProvider.cs (11)
71var statementToUpdate = currentBlockStatements[statementToUpdateIndex]; 99ImmutableArray<StatementSyntax> expandedUsingStatements) 113private static ImmutableArray<StatementSyntax> Expand(UsingStatementSyntax usingStatement) 115using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var result); 120var lastStatement = result[^1]; 131private static SyntaxTriviaList Expand(ArrayBuilder<StatementSyntax> result, UsingStatementSyntax usingStatement) 150var newFirstStatement = statements.First() 157var newFirstStatement = statements.First() 164var newFirstStatement = statements.First() 172var newLastStatement = statements.Last() 185case StatementSyntax anythingElse:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (6)
515else if (destinationMember is StatementSyntax statement && statement.IsParentKind(SyntaxKind.GlobalStatement)) 544var containingStatement = token.GetAncestors<StatementSyntax>().Single(blockStatements.Contains); 547var newStatements = statements.OfType<StatementSyntax>().ToArray(); 551var newContainingStatement = containingStatement.GetNodeWithoutLeadingBannerAndPreprocessorDirectives(out var strippedTrivia); 639if (expressionBody.TryConvertToStatement(semicolonToken, createReturnStatementForExpression: false, out var statement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\StatementGenerator.cs (2)
14internal static SyntaxList<StatementSyntax> GenerateStatements(IEnumerable<SyntaxNode> statements) 15=> [.. statements.OfType<StatementSyntax>()];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (1)
394token.Parent.Parent is StatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (6)
119var statement = token.GetAncestor<StatementSyntax>(); 126if (token.Parent.Parent is StatementSyntax) 181if (container is StatementSyntax) 415foreach (var statement in section.Statements) 504targetToken.GetAncestors<StatementSyntax>().Any(s => s.IsKind(SyntaxKind.UnsafeStatement)) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (1)
302if (token.GetAncestor<StatementSyntax>() == null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\TypingFormattingRule.cs (1)
83var firstStatement = statements[0];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (2)
220token.Parent?.Parent is StatementSyntax or ElseClauseSyntax); 480var nonExpressionNode = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is StatementSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
22StatementSyntax,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (3)
167StatementSyntax statement) 175if (!TryConvertExpressionBodyToStatement(body, semicolonToken, !returnsVoid, out var convertedStatement)) 238[NotNullWhen(true)] out StatementSyntax? statement)
Microsoft.CodeAnalysis.CSharp.Features (467)
ChangeSignature\CSharpChangeSignatureService.cs (1)
124if (token.Kind() == SyntaxKind.SemicolonToken && token.Parent is StatementSyntax)
CodeFixes\Suppression\CSharpSuppressionCodeFixProvider.cs (1)
250=> (SyntaxNode)token.GetAncestor<StatementSyntax>() ?? token.GetAncestor<ArrowExpressionClauseSyntax>();
CodeRefactorings\InlineMethod\CSharpInlineMethodRefactoringProvider.cs (1)
20: AbstractInlineMethodRefactoringProvider<BaseMethodDeclarationSyntax, StatementSyntax, ExpressionSyntax, InvocationExpressionSyntax>
Completion\CompletionProviders\CompletionUtilities.cs (1)
184var lastStatement = methodDeclaration.Body.Statements.Last();
ConvertAutoPropertyToFullProperty\CSharpConvertAutoPropertyToFullPropertyCodeRefactoringProvider.cs (1)
84AccessorDeclarationSyntax GetUpdatedAccessor(AccessorDeclarationSyntax accessor, StatementSyntax statement)
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (4)
24AbstractConvertForEachToForCodeRefactoringProvider<StatementSyntax, ForEachStatementSyntax> 85var bodyStatement = GetForLoopBody(generator, foreachInfo, collectionVariable, indexVariable, donotCastElement); 116private StatementSyntax GetForLoopBody( 126var variableStatement = AddItemVariableDeclaration(
ConvertForToForEach\CSharpConvertForToForEachCodeRefactoringProvider.cs (2)
20StatementSyntax, 36protected override SyntaxList<StatementSyntax> GetBodyStatements(ForStatementSyntax forStatement)
ConvertLinq\ConvertForEachToLinqQuery\AbstractConverter.cs (3)
24internal abstract class AbstractConverter(ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo) : IConverter<ForEachStatementSyntax, StatementSyntax> 26public ForEachInfo<ForEachStatementSyntax, StatementSyntax> ForEachInfo { get; } = forEachInfo;
ConvertLinq\ConvertForEachToLinqQuery\AbstractToMethodConverter.cs (3)
24ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo, 44protected abstract StatementSyntax CreateDefaultStatement(ExpressionSyntax queryOrLinqInvocationExpression, ExpressionSyntax expression); 51var previous = ForEachInfo.ForEachStatement.GetPreviousStatement();
ConvertLinq\ConvertForEachToLinqQuery\CSharpConvertForEachToLinqQueryProvider.cs (13)
26: AbstractConvertForEachToLinqQueryProvider<ForEachStatementSyntax, StatementSyntax> 28protected override IConverter<ForEachStatementSyntax, StatementSyntax> CreateDefaultConverter( 29ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo) 32protected override ForEachInfo<ForEachStatementSyntax, StatementSyntax> CreateForEachInfo( 43IEnumerable<StatementSyntax>? statementsCannotBeConverted = null; 45var current = forEachStatement.Statement; 73var statement = array[i]; 158return new ForEachInfo<ForEachStatementSyntax, StatementSyntax>( 206ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo, 208StatementSyntax statementCannotBeConverted, 210[NotNullWhen(true)] out IConverter<ForEachStatementSyntax, StatementSyntax>? converter) 296var lastNonLocalFunctionStatement = statementsOnBlockWithForEach.Last(); 334IConverter<ForEachStatementSyntax, StatementSyntax> converter,
ConvertLinq\ConvertForEachToLinqQuery\DefaultConverter.cs (3)
18internal sealed class DefaultConverter(ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo) : AbstractConverter(forEachInfo) 39private StatementSyntax CreateDefaultReplacementStatement( 93private static BlockSyntax WrapWithBlockIfNecessary(ImmutableArray<StatementSyntax> statements)
ConvertLinq\ConvertForEachToLinqQuery\ToCountConverter.cs (2)
18ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo, 41protected override StatementSyntax CreateDefaultStatement(ExpressionSyntax queryOrLinqInvocationExpression, ExpressionSyntax expression)
ConvertLinq\ConvertForEachToLinqQuery\ToToListConverter.cs (2)
19ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo, 46protected override StatementSyntax CreateDefaultStatement(ExpressionSyntax queryOrLinqInvocationExpression, ExpressionSyntax expression)
ConvertLinq\ConvertForEachToLinqQuery\YieldReturnConverter.cs (1)
16ForEachInfo<ForEachStatementSyntax, StatementSyntax> forEachInfo,
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (26)
31internal sealed class CSharpConvertLinqQueryToForEachProvider : AbstractConvertLinqQueryToForEachProvider<QueryExpressionSyntax, StatementSyntax> 108private StatementSyntax ProcessClause( 110StatementSyntax statement, 113out StatementSyntax extraStatementToAddAbove) 251if (currentNode is StatementSyntax) 377Func<ExpressionSyntax, ExpressionSyntax, StatementSyntax> leafExpressionCreationMethod, 382var parentStatement = invocationExpression.GetAncestorOrThis<StatementSyntax>(); 396var list = new List<StatementSyntax>(); 412StatementSyntax parentStatement, 416out StatementSyntax[] nodesBefore, 417out StatementSyntax[] nodesAfter) 427out StatementSyntax[] nodesBeforeLocal, 428out StatementSyntax[] nodesAfterLocal) 534var parentStatement = _source.GetAncestorOrThis<StatementSyntax>(); 571static StatementSyntax internalNodeMethod(ExpressionSyntax expression) 598var newParentExpressionStatement = parentStatement.ReplaceNode(_source.WalkUpParentheses(), localFunctionInvocation.WithAdditionalAnnotations(Simplifier.Annotation)); 788private StatementSyntax[] GenerateStatements( 789Func<ExpressionSyntax, StatementSyntax> leafExpressionCreationMethod, 792StatementSyntax statement = null; 810var statements = new List<StatementSyntax>(); 818out var extraStatement); 892private static BlockSyntax AddToBlockTop(StatementSyntax newStatement, StatementSyntax statement) 917private static BlockSyntax WrapWithBlock(StatementSyntax statement)
ConvertPrimaryToRegularConstructor\ConvertPrimaryToRegularConstructorCodeRefactoringProvider.cs (1)
458using var _1 = ArrayBuilder<StatementSyntax>.GetInstance(out var assignmentStatements);
ConvertProgram\ConvertProgramTransform_ProgramMain.cs (3)
120private static ImmutableArray<StatementSyntax> GenerateProgramMainStatements( 123using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var statements); 131var statement = globalStatement.Statement.WithAdditionalAnnotations(Formatter.Annotation);
ConvertProgram\ConvertProgramTransform_TopLevelStatements.cs (2)
200using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var statements); 272foreach (var statement in statements)
ConvertToRawString\ConvertInterpolatedStringToRawStringCodeRefactoringProvider.cs (1)
277if (current is StatementSyntax or MemberDeclarationSyntax)
Debugging\CSharpProximityExpressionsService.cs (3)
74var statement = info.Symbol.Locations.First().FindToken(cancellationToken).GetAncestor<StatementSyntax>(); 107StatementSyntax statement,
Debugging\CSharpProximityExpressionsService.Worker.cs (7)
24private StatementSyntax _parentStatement; 33_parentStatement = _token.GetAncestor<StatementSyntax>(); 159for (var nextStatement = _parentStatement.GetNextStatement(); 173StatementSyntax previousStatement; 220var statementAncestor = _parentStatement.Ancestors().OfType<StatementSyntax>().FirstOrDefault(node => !node.IsKind(SyntaxKind.Block)); 228private void AddLastStatementOfConstruct(StatementSyntax statement)
DecompiledSource\CSharpDecompiledSourceFormattingRule.cs (4)
38var previousStatement = previousToken.Parent.FirstAncestorOrSelf<StatementSyntax>(); 39var nextStatement = currentToken.Parent.FirstAncestorOrSelf<StatementSyntax>();
EditAndContinue\BreakpointSpans.cs (2)
431if (node is StatementSyntax statement) 578private static TextSpan? TryCreateSpanForStatement(StatementSyntax statement, int position)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (1)
2750if (node is StatementSyntax statement)
EditAndContinue\SyntaxComparer.cs (6)
1195StatementSyntax leftStatement, 1197StatementSyntax rightStatement) 1213StatementSyntax leftStatement, 1215StatementSyntax rightStatement) 1226StatementSyntax leftStatement, 1227StatementSyntax rightStatement,
ExtractMethod\CSharpExtractMethodService.cs (2)
19StatementSyntax, 20StatementSyntax,
ExtractMethod\CSharpMethodExtractor.Analyzer.cs (1)
78var lastStatement = this.SelectionResult.GetLastStatement();
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.CallSiteContainerRewriter.cs (7)
273private StatementSyntax ReplaceStatementIfNeeded(StatementSyntax statement) 283return _statementsOrMemberOrAccessorToInsert.Cast<StatementSyntax>().Single(); 286var statements = _statementsOrMemberOrAccessorToInsert.CastArray<StatementSyntax>(); 313private SyntaxList<StatementSyntax> ReplaceStatements(SyntaxList<StatementSyntax> statements) 337_statementsOrMemberOrAccessorToInsert.Select(s => global ? SyntaxFactory.GlobalStatement((StatementSyntax)s) : (MemberDeclarationSyntax)s));
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (32)
74protected override StatementSyntax CreateBreakStatement() 78protected override StatementSyntax CreateContinueStatement() 167private ImmutableArray<StatementSyntax> AddComplexFlowControlProcessingStatements(ImmutableArray<StatementSyntax> statements) 176StatementSyntax GetFlowControlStatement() 262IfStatementSyntax ControlFlowIfStatement(object value, StatementSyntax elseClause = null) 278StatementSyntax Block(StatementSyntax statement) 284StatementSyntax GetFlowStatement(object value) 407private ImmutableArray<StatementSyntax> CreateMethodBody( 426private ImmutableArray<StatementSyntax> ConvertComplexControlFlowStatements(ImmutableArray<StatementSyntax> statements) 429private StatementSyntax ConvertComplexControlFlowStatement(StatementSyntax statement) 540private ImmutableArray<StatementSyntax> WrapInCheckStatementIfNeeded(ImmutableArray<StatementSyntax> statements) 551private static ImmutableArray<StatementSyntax> CleanupCode(ImmutableArray<StatementSyntax> statements) 560private static OperationStatus CheckActiveStatements(ImmutableArray<StatementSyntax> statements) 569foreach (var statement in statements) 584private ImmutableArray<StatementSyntax> MoveDeclarationOutFromMethodDefinition( 585ImmutableArray<StatementSyntax> statements, CancellationToken cancellationToken) 587using var _1 = ArrayBuilder<StatementSyntax>.GetInstance(out var result); 594foreach (var statement in statements) 603using var _2 = ArrayBuilder<StatementSyntax>.GetInstance(out var expressionStatements); 694private static StatementSyntax FixDeclarationExpressionsAndDeclarationPatterns(StatementSyntax statement, 780private ImmutableArray<StatementSyntax> SplitOrMoveDeclarationIntoMethodDefinition( 782ImmutableArray<StatementSyntax> statements, 818var index = statements.IndexOf((StatementSyntax)lastStatement); 870protected override StatementSyntax CreateAssignmentExpressionStatement( 884protected override StatementSyntax CreateDeclarationStatement(
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.ExpressionCodeGenerator.cs (2)
87protected override ImmutableArray<StatementSyntax> GetInitialStatementsForMethodDefinitions() 117var scope = (SyntaxNode)this.SelectionResult.GetContainingScopeOf<StatementSyntax>();
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.MultipleStatementsCodeGenerator.cs (7)
33protected override ImmutableArray<StatementSyntax> GetInitialStatementsForMethodDefinitions() 36var firstStatementUnderContainer = this.SelectionResult.GetFirstStatementUnderContainer(); 37var lastStatementUnderContainer = this.SelectionResult.GetLastStatementUnderContainer(); 39using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var list); 40foreach (var statement in GetStatementsFromContainer(firstStatementUnderContainer.Parent)) 66private static IEnumerable<StatementSyntax> GetStatementsFromContainer(SyntaxNode node) 88var statement = GetStatementContainingInvocationToExtractedMethodWorker();
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.SingleStatementCodeGenerator.cs (2)
30protected override ImmutableArray<StatementSyntax> GetInitialStatementsForMethodDefinitions() 49var statement = GetStatementContainingInvocationToExtractedMethodWorker();
ExtractMethod\CSharpMethodExtractor.PostProcessor.cs (17)
36public static ImmutableArray<StatementSyntax> RemoveRedundantBlock(ImmutableArray<StatementSyntax> statements) 54private static ImmutableArray<StatementSyntax> RemoveRedundantBlock(BlockSyntax block) 67var firstStatement = block.Statements.First(); 71var lastStatement = block.Statements.Last(); 82public ImmutableArray<StatementSyntax> MergeDeclarationStatements(ImmutableArray<StatementSyntax> statements) 92private ImmutableArray<StatementSyntax> MergeDeclarationStatementsWorker(ImmutableArray<StatementSyntax> statements) 94using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var result); 97foreach (var statement in statements) 155private bool IsDeclarationMergable(StatementSyntax statement) 210private static bool ContainsOnlyWhitespaceTrivia(StatementSyntax statement) 227public static ImmutableArray<StatementSyntax> RemoveInitializedDeclarationAndReturnPattern(ImmutableArray<StatementSyntax> statements) 266public static ImmutableArray<StatementSyntax> RemoveDeclarationAssignmentPattern(ImmutableArray<StatementSyntax> statements)
ExtractMethod\CSharpSelectionResult.cs (10)
69public override StatementSyntax GetFirstStatementUnderContainer() 74var statement = firstToken.Parent.GetStatementUnderContainer(); 80public override StatementSyntax GetLastStatementUnderContainer() 85var statement = lastToken.Parent.GetStatementUnderContainer(); 94var statements = containingScope.GetAncestorsOrThis<StatementSyntax>(); 95StatementSyntax last = null; 97foreach (var statement in statements) 136public override ImmutableArray<StatementSyntax> GetOuterReturnStatements(SyntaxNode commonRoot, ImmutableArray<SyntaxNode> exitPoints) 137=> exitPoints.OfType<ReturnStatementSyntax>().ToImmutableArray().CastArray<StatementSyntax>(); 140ImmutableArray<StatementSyntax> returnStatements, CancellationToken cancellationToken)
ExtractMethod\CSharpSelectionResult.StatementResult.cs (2)
92var firstStatement = this.GetFirstStatement(); 98var firstStatement = this.GetFirstStatementUnderContainer();
ExtractMethod\CSharpSelectionValidator.Validator.cs (2)
22StatementSyntax statement => CheckStatement(statement), 58private static bool CheckStatement(StatementSyntax statement)
ExtractMethod\Extensions.cs (4)
19public static StatementSyntax? GetStatementUnderContainer(this SyntaxNode node) 28return current as StatementSyntax; 35public static StatementSyntax GetParentLabeledStatementIfPossible(this SyntaxNode node) 36=> (StatementSyntax)((node.Parent is LabeledStatementSyntax) ? node.Parent : node);
GenerateEqualsAndGetHashCodeFromMembers\CSharpGenerateEqualsAndGetHashCodeService.cs (1)
28SyntaxFactory.Block(statements.OfType<StatementSyntax>()))];
GenerateMember\GenerateVariable\CSharpGenerateVariableService.cs (3)
152var localRoot = identifierName.GetAncestor<StatementSyntax>() ?? 212var expressionStatement = (StatementSyntax)assignExpression.Parent;
InitializeParameter\CSharpAddParameterCheckCodeRefactoringProvider.cs (4)
26StatementSyntax, 47statement: out var _); 59protected override StatementSyntax CreateParameterCheckIfStatement(ExpressionSyntax condition, StatementSyntax ifTrueStatement, CSharpSimplifierOptions options)
InitializeParameter\CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs (1)
22StatementSyntax,
IntroduceUsingStatement\CSharpIntroduceUsingStatementCodeRefactoringProvider.cs (11)
25StatementSyntax, 38protected override (SyntaxList<StatementSyntax> tryStatements, SyntaxList<StatementSyntax> finallyStatements) GetTryFinallyStatements(TryStatementSyntax tryStatement) 44protected override SyntaxList<StatementSyntax> GetSurroundingStatements(StatementSyntax statement) 52protected override SyntaxNode WithStatements(SyntaxNode parentOfStatementsToSurround, SyntaxList<StatementSyntax> statements) 60protected override StatementSyntax CreateUsingBlockStatement(ExpressionStatementSyntax expressionStatement, SyntaxList<StatementSyntax> statementsToSurround) 69protected override StatementSyntax CreateUsingLocalDeclarationStatement( 82protected override StatementSyntax CreateUsingStatement(LocalDeclarationStatementSyntax declarationStatement, SyntaxList<StatementSyntax> statementsToSurround)
IntroduceVariable\CSharpIntroduceLocalForExpressionCodeRefactoringProvider.cs (1)
31StatementSyntax,
IntroduceVariable\CSharpIntroduceVariableService_IntroduceLocal.cs (15)
327var firstAffectedStatement = block.Statements.Single(s => firstAffectedExpression.GetAncestorOrThis<StatementSyntax>()!.Contains(s)); 381ISet<StatementSyntax> allAffectedStatements = new HashSet<StatementSyntax>(matches.SelectMany(expr => GetApplicableStatementAncestors(expr))); 385var innermostStatements = new HashSet<StatementSyntax>(matches.Select(expr => GetApplicableStatementAncestors(expr).First())); 389var statement = innermostStatements.Single(); 426private static IEnumerable<StatementSyntax> GetApplicableStatementAncestors(ExpressionSyntax expr) 428foreach (var statement in expr.GetAncestorsOrThis<StatementSyntax>()) 480private static SyntaxList<StatementSyntax> InsertWithinTriviaOfNext( 481SyntaxList<StatementSyntax> oldStatements, 482StatementSyntax newStatement, 485var nextStatement = oldStatements.ElementAtOrDefault(statementIndex); 532private static SyntaxList<StatementSyntax> GetStatements(SyntaxNode blockLike) 540private static SyntaxNode WithStatements(SyntaxNode blockLike, SyntaxList<StatementSyntax> statements)
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (20)
29StatementSyntax, 31StatementSyntax, 60=> node is StatementSyntax; 62protected override StatementSyntax? GetNextStatement(StatementSyntax node) 65protected override StatementSyntax GetIfBody(IfStatementSyntax ifNode) 68protected override StatementSyntax GetEmptyEmbeddedStatement() 71protected override StatementSyntax GetElseBody(IfStatementSyntax ifNode) 93protected override SyntaxList<StatementSyntax> GetStatements(SyntaxNode node) 115protected override StatementSyntax GetJumpStatement(SyntaxKind kind) 125protected override StatementSyntax AsEmbeddedStatement(IEnumerable<StatementSyntax> statements, StatementSyntax original) 144StatementSyntax trueStatement, 145StatementSyntax? falseStatementOpt = null) 188private static bool ShouldKeepFalse(IfStatementSyntax originalIfStatement, [NotNullWhen(returnValue: true)] StatementSyntax? falseStatement) 231protected override SyntaxNode WithStatements(SyntaxNode node, IEnumerable<StatementSyntax> statements) 239protected override IEnumerable<StatementSyntax> UnwrapBlock(StatementSyntax ifBody) 260static bool IsSingleStatement(StatementSyntax statement)
NavigationBar\CSharpNavigationBarItemService.cs (1)
154StatementSyntax or
QuickInfo\CSharpSemanticQuickInfoProvider.cs (1)
107if (node is StatementSyntax or MemberDeclarationSyntax)
ReplaceConditionalWithStatements\CSharpReplaceConditionalWithStatementsCodeRefactoringProvider.cs (1)
22StatementSyntax,
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.cs (3)
33AbstractReplacePropertyWithMethodsService<IdentifierNameSyntax, ExpressionSyntax, NameMemberCrefSyntax, StatementSyntax, PropertyDeclarationSyntax> 156(StatementSyntax)generator.ExpressionStatement( 227(StatementSyntax)generator.ReturnStatement(fieldReference)));
Snippets\AbstractCSharpMainMethodSnippetProvider.cs (1)
15: AbstractMainMethodSnippetProvider<MethodDeclarationSyntax, StatementSyntax, TypeSyntax>
Snippets\CSharpIntMainSnippetProvider.cs (6)
33protected override IEnumerable<StatementSyntax> GenerateInnerStatements(SyntaxGenerator generator) 35var returnStatement = (StatementSyntax)generator.ReturnStatement(generator.LiteralExpression(0)); 42var returnStatement = body.Statements.First(); 55var returnStatement = body.Statements.First(); 60var updatedReturnStatement = returnStatement.WithPrependedLeadingTrivia(SyntaxFactory.SyntaxTrivia(SyntaxKind.WhitespaceTrivia, indentationString));
Snippets\CSharpVoidMainSnippetProvider.cs (1)
33protected override IEnumerable<StatementSyntax> GenerateInnerStatements(SyntaxGenerator generator)
SplitOrMergeIfStatements\CSharpIfLikeStatementGenerator.cs (2)
115return ifStatement.WithStatement(Block((StatementSyntax)statement)); 169for (var statement = ifStatement.Statement; statement.IsEmbeddedStatementOwner(); statement = statement.GetEmbeddedStatement())
src\984dec8966cb7923\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (5)
42if (shouldRemoveNextStatement && node.GetNextStatement() is StatementSyntax nextStatement) 63var declaration = declarator.GetAncestor<StatementSyntax>(); 67var beforeSwitch = node.GetPreviousStatement() is StatementSyntax previousStatement 210private SyntaxKind AnalyzeNextStatement(StatementSyntax? nextStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (3)
57var embeddedStatement = statement.GetEmbeddedStatement(); 123private static bool ContainsInterleavedDirective(SyntaxNode statement, StatementSyntax embeddedStatement, CancellationToken cancellationToken) 295var elseStatement = statement.Else?.Statement;
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (4)
118var containingStatement = argumentExpression.FirstAncestorOrSelf<StatementSyntax>(); 265var nextStatement = localStatement.GetNextStatement(); 303if (current is StatementSyntax)
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (3)
67var innerStatement = ifStatement.Statement; 167StatementSyntax firstStatement, 265var previousStatement = blockStatements[ifIndex - 1];
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\ConsecutiveStatementPlacement\CSharpConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
33internal sealed class CSharpConsecutiveStatementPlacementDiagnosticAnalyzer : AbstractConsecutiveStatementPlacementDiagnosticAnalyzer<StatementSyntax>
src\roslyn\src\Analyzers\CSharp\Analyzers\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementDiagnosticAnalyzer.cs (5)
56if (node is StatementSyntax statement && 73private bool CheckStatementSyntax(SyntaxTreeAnalysisContext context, NotificationOption2 notificationOption, StatementSyntax statement) 89public static bool StatementNeedsWrapping(StatementSyntax statement) 95if (parent is not StatementSyntax && !parentIsElseClause) 118if (parent.DescendantNodes().OfType<StatementSyntax>().Count() <= 1)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
320var statement = anonymousFunction.Block.Statements[0];
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (4)
70public static StatementSyntax? TryGetContainingStatement(SyntaxNode node) 72var firstUnreachableStatement = node.FirstAncestorOrSelf<StatementSyntax>(); 86var firstUnreachableStatement = TryGetContainingStatement(node);
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\RemoveUnreachableCodeHelpers.cs (10)
13public static ImmutableArray<ImmutableArray<StatementSyntax>> GetSubsequentUnreachableSections(StatementSyntax firstUnreachableStatement) 15ImmutableArray<StatementSyntax> siblingStatements; 35using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var builder); 56var sections = ArrayBuilder<ImmutableArray<StatementSyntax>>.GetInstance(); 58var currentSection = ArrayBuilder<StatementSyntax>.GetInstance(); 63var currentStatement = siblingStatements[i]; 84currentSection = ArrayBuilder<StatementSyntax>.GetInstance(); 97private static void AddIfNonEmpty(ArrayBuilder<ImmutableArray<StatementSyntax>> sections, ImmutableArray<StatementSyntax> lastSection)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (1)
201private static T? GetSingleStatementFromAccessor<T>(AccessorDeclarationSyntax? accessorDeclaration) where T : StatementSyntax
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (3)
21StatementSyntax, 57protected override bool TryGetEmbeddedStatement(IfStatementSyntax ifStatement, [NotNullWhen(true)] out StatementSyntax? whenTrueStatement) 69protected override StatementSyntax? TryGetPreviousStatement(IfStatementSyntax ifStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForArrayDiagnosticAnalyzer.cs (2)
61public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches( 118public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (3)
155var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>( 168var subseqeuntStatement = enumerator.Current; 210static InvocationExpressionSyntax? TryFindCreationExpression(SyntaxToken identifier, StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (1)
25using FluentState = UpdateExpressionState<ExpressionSyntax, StatementSyntax>;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocDiagnosticAnalyzer.cs (1)
123public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (3)
747public static ImmutableArray<CollectionMatch<StatementSyntax>> TryGetMatches<TArrayCreationExpressionSyntax>( 768using var _ = ArrayBuilder<CollectionMatch<StatementSyntax>>.GetInstance(out var matches); 810var currentStatement = localDeclarationStatement.GetNextStatement();
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (8)
11internal sealed class CSharpUpdateExpressionSyntaxHelper : IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> 17StatementSyntax statement, 21out IEnumerable<StatementSyntax> statements, 35StatementSyntax statement, 37out IEnumerable<StatementSyntax> whenTrueStatements, 38out IEnumerable<StatementSyntax>? whenFalseStatements) 46private static IEnumerable<StatementSyntax> ExtractEmbeddedStatements(StatementSyntax embeddedStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (2)
20StatementSyntax, 29protected override IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> SyntaxHelper
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (2)
29StatementSyntax, 116protected override bool IsValidContainingStatement(StatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (2)
101[NotNullWhen(true)] out StatementSyntax? whenTrue, 131if (!GetWhenTrueAssignment(ifStatement, out var whenTrue, out var assignment))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsDiagnosticAnalyzer.cs (1)
72void ReportDiagnostic(SyntaxNodeAnalysisContext context, StatementSyntax statement, NotificationOption2 notification)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers_FlagVariable.cs (14)
84if (GetNearestBreakOrContinueTarget(sites[0].Break, isBreak: true) is not StatementSyntax innerLoop || 97if (!TryWalkGuardChain(innerLoop, guards, orderedGuards, out var targetLoop, out var isBreak)) 138StatementSyntax targetLoop, 139StatementSyntax innerLoop, 147if (innerLoop.AncestorsAndSelf().FirstOrDefault(n => n.Parent == targetBody) is not StatementSyntax siteStatement) 191StatementSyntax innerLoop, 194[NotNullWhen(true)] out StatementSyntax? targetLoop, 200for (var current = innerLoop; current != null;) 203var statementInBlock = current.Parent is LabeledStatementSyntax labeled ? labeled : current; 204if (statementInBlock.Parent is not BlockSyntax { Parent: StatementSyntax containingLoop } containingBlock || 219var guardJump = Unwrap(guard.Statement); 357private static StatementSyntax Unwrap(StatementSyntax statement) 360private static bool IsUnlabeledLoopJump(StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsHelpers.cs (5)
32[NotNullWhen(true)] out StatementSyntax? breakTarget, 44var precedingConstruct = declaration.GetPreviousStatement(); 82[NotNullWhen(true)] out StatementSyntax? loop, 95Parent: BlockSyntax { Parent: StatementSyntax candidateLoop, Statements: [.., var lastStatement] }, 131StatementSyntax loop,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLabeledJumpStatements\FlagJumpPattern.cs (1)
19public required StatementSyntax LoopStatement { get; init; }
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (6)
108var anonymousFunctionStatement = anonymousFunction.GetAncestor<StatementSyntax>(); 182StatementSyntax? anonymousFunctionStatement, 329var containingStatement = anonymousFunction.GetAncestor<StatementSyntax>(); 361StatementSyntax? previousStatement = null;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (2)
21StatementSyntax, 72out ImmutableArray<StatementSyntax> trueStatements)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseNamedMemberInitializerAnalyzer.cs (1)
15StatementSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseObjectInitializerDiagnosticAnalyzer.cs (2)
19StatementSyntax, 41protected override bool IsValidContainingStatement(StatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (6)
175var oppositeStatement = defAssignedWhenTrue 235case StatementSyntax statement: 280private bool CheckLoop(SyntaxNode statement, StatementSyntax body, bool defAssignedWhenTrue) 321private bool CheckStatement(StatementSyntax statement) 404private bool LocalFlowsIn(StatementSyntax? firstStatement, StatementSyntax? lastStatement)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
185var firstStatement = block.Statements[0];
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (1)
418foreach (var statement in block.Statements)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseSimpleUsingStatement\UseSimpleUsingStatementDiagnosticAnalyzer.cs (8)
143foreach (var statement in CSharpBlockFacts.Instance.GetExecutableBlockStatements(parentBlockLike)) 190IReadOnlyList<StatementSyntax> parentStatements, int index, UsingStatementSyntax innermostUsing) 203var priorStatement = parentStatements[i]; 210: new SyntaxList<StatementSyntax>(innermostUsing.Statement); 212foreach (var statement in innerStatements) 221private static bool IsGotoOrLabeledStatement(StatementSyntax priorStatement) 227IReadOnlyList<StatementSyntax> statements, 248var nextStatement = statements[index + 1];
src\roslyn\src\Analyzers\CSharp\Analyzers\UseTupleSwap\CSharpUseTupleSwapDiagnosticAnalyzer.cs (3)
86var firstAssignmentStatement = localDeclarationStatement.GetNextStatement(); 91var secondAssignmentStatement = firstAssignmentStatement.GetNextStatement(); 130[NotNullWhen(true)] StatementSyntax? assignmentStatement,
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddBraces\CSharpAddBracesCodeFixProvider.cs (1)
45var embeddedStatement = currentStatement.GetEmbeddedStatement();
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
65if (location is StatementSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAboveReturnCodeFixProvider.cs (2)
59var newBody = SyntaxFactory.Block(statements.Add(exprOrStatement).Cast<StatementSyntax>()); 79var newBody = SyntaxFactory.Block(statements.Add(generator.ReturnStatement(exprOrStatement)).Cast<StatementSyntax>());
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (1)
39if (location is StatementSyntax statement &&
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.cs (2)
76var switchExpressionStatement = Rewriter.Rewrite( 97var nextStatement = switchStatement.GetNextStatement();
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (5)
37public static StatementSyntax Rewrite( 64private StatementSyntax GetFinalStatement( 104private StatementSyntax GenerateVariableDeclaration(ExpressionSyntax switchExpression, ITypeSymbol? declaratorToRemoveType) 205private ExpressionSyntax RewriteStatements(SyntaxList<StatementSyntax> statements) 233var nextStatement = node.GetNextStatement();
src\roslyn\src\Analyzers\CSharp\CodeFixes\ImplementInterface\CSharpImplementInterfaceService.cs (2)
106var disposeStatement = (StatementSyntax)AddComment(
src\roslyn\src\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (8)
52var declarationsToRemove = new HashSet<StatementSyntax>(); 99HashSet<StatementSyntax> declarationsToRemove, 123StatementSyntax priorStatementSyntax = null; 127var statementSyntax = statements[i]; 157StatementSyntax nextStatementSyntax = null; 160var statement = statements[i]; 376a => a is StatementSyntax or 389case StatementSyntax statement:
src\roslyn\src\Analyzers\CSharp\CodeFixes\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessCodeFixProvider.cs (1)
89StatementSyntax newStatement = expressionStatement.WithExpression(
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\EmbeddedStatementPlacement\EmbeddedStatementPlacementCodeFixProvider.cs (3)
70if (node is not StatementSyntax startStatement) 77var descendentStatements = startStatement.DescendantNodesAndSelf().OfType<StatementSyntax>(); 81foreach (var badStatement in badStatements.OrderByDescending(s => s.SpanStart))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (1)
36if (expressionBody.TryConvertToStatement(semicolonToken, createReturnStatementForExpression: false, out var statement))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionCodeFixProvider.cs (2)
64var containingStatement = anonymousFunction.AncestorsAndSelf().OfType<StatementSyntax>().FirstOrDefault();
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnreachableCode\CSharpRemoveUnreachableCodeCodeFixProvider.cs (2)
57var firstUnreachableStatement = CSharpRemoveUnreachableCodeDiagnosticAnalyzer.TryGetContainingStatement( 68foreach (var statement in section)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (3)
28: AbstractRemoveUnusedValuesCodeFixProvider<ExpressionSyntax, StatementSyntax, BlockSyntax, 35protected override BlockSyntax WrapWithBlockIfNecessary(IEnumerable<StatementSyntax> statements) 170var firstStatement = switchCaseBlock.Statements.FirstOrDefault();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (5)
606StatementSyntax? parentStatement, 658if (current is StatementSyntax or MemberDeclarationSyntax) 717StatementSyntax? parentStatement, 862static StatementSyntax UnwrapEmbeddedStatement(StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (1)
99ImmutableArray<CollectionMatch<StatementSyntax>> GetMatches(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForFluentCodeFixProvider.cs (1)
53var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>(
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocCodeFixProvider.cs (1)
72ImmutableArray<CollectionMatch<StatementSyntax>> GetMatches()
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (1)
25StatementSyntax,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (2)
55ifStatement, out var whenTrueStatement, out var assignment)); 65var newWhenTrueStatement = whenTrueStatement.ReplaceNode(assignment, newAssignment);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (3)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 44protected override StatementSyntax WrapWithBlockIfAppropriate( 45IfStatementSyntax ifStatement, StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (3)
23: AbstractUseConditionalExpressionForReturnCodeFixProvider<StatementSyntax, IfStatementSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 31protected override StatementSyntax WrapWithBlockIfAppropriate( 32IfStatementSyntax ifStatement, StatementSyntax statement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.cs (2)
54var statement = conditional.FirstAncestorOrSelf<StatementSyntax>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExpressionBodyForLambda\UseExpressionBodyForLambdaCodeActionHelpers.cs (1)
65out var statement))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLabeledJumpStatements\CSharpUseLabeledJumpStatementsCodeFixProvider.cs (14)
27: ForkingSyntaxEditorBasedCodeFixProvider<StatementSyntax> 38StatementSyntax diagnosticNode, 50gotoStatement, semanticModel, cancellationToken, out var loop, out var labelDeclaration, out var gotos)) 73StatementSyntax loop, 86var newLoop = loop.ReplaceNodes(gotos, (original, _) => CreateJump(labelName, isBreak).WithTriviaFrom(original)); 146var loop = pattern.LoopStatement; 163var newLoop = loop.TrackNodes(pattern.AssignmentAndBreakSites 180private static string? GetReusableLabelName(StatementSyntax loop) 187private static string SynthesizeLabelName(SemanticModel semanticModel, StatementSyntax loop, CancellationToken cancellationToken) 217private static void ReplaceLoop(SyntaxEditor editor, StatementSyntax loop, string labelName, StatementSyntax newLoop) 236private static LabeledStatementSyntax CreateLabeledLoop(string labelName, StatementSyntax originalLoop, StatementSyntax newLoop) 242private static StatementSyntax CreateJump(string labelName, bool isBreak)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (2)
166var anonymousFunctionStatement = anonymousFunction.GetAncestor<StatementSyntax>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (3)
23StatementSyntax, 38private static BlockSyntax ReplaceBlockStatements(BlockSyntax block, StatementSyntax newInnerStatement) 42IfStatementSyntax ifStatement, StatementSyntax newWhenTrueStatement)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\CSharpUseObjectInitializerCodeFixProvider.cs (4)
22using ObjectInitializerMatch = Match<ExpressionSyntax, StatementSyntax, MemberAccessExpressionSyntax, ExpressionStatementSyntax>; 31StatementSyntax, 49protected override StatementSyntax GetNewStatement( 50StatementSyntax statement,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (3)
62var firstStatement = newParentScope is BlockSyntax 71void RemoveStatement(StatementSyntax statement) 86Action<StatementSyntax> removeStatement,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
452foreach (var statement in constructorDeclaration.Body.Statements)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSimpleUsingStatement\UseSimpleUsingStatementCodeFixProvider.cs (11)
71var statementToUpdate = currentBlockStatements[statementToUpdateIndex]; 99ImmutableArray<StatementSyntax> expandedUsingStatements) 113private static ImmutableArray<StatementSyntax> Expand(UsingStatementSyntax usingStatement) 115using var _ = ArrayBuilder<StatementSyntax>.GetInstance(out var result); 120var lastStatement = result[^1]; 131private static SyntaxTriviaList Expand(ArrayBuilder<StatementSyntax> result, UsingStatementSyntax usingStatement) 150var newFirstStatement = statements.First() 157var newFirstStatement = statements.First() 164var newFirstStatement = statements.First() 172var newLastStatement = statements.Last() 185case StatementSyntax anythingElse:
Structure\Providers\BlockSyntaxStructureProvider.cs (2)
46StatementSyntax elseStatement; 153=> node is StatementSyntax(kind: not SyntaxKind.Block);
Structure\Providers\InitializerExpressionStructureProvider.cs (2)
62var containingStatement = node.FirstAncestorOrSelf<StatementSyntax>();
UsePatternMatching\CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs (1)
258case StatementSyntax statement:
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (6)
Microsoft.NetCore.Analyzers\Performance\CSharpDoNotGuardCall.Fixer.cs (1)
65private static ExpressionStatementSyntax? GetGuardedStatement(StatementSyntax? branch)
Microsoft.NetCore.Analyzers\Performance\CSharpPreferHashDataOverComputeHash.Fixer.cs (1)
152var statement = s;
Microsoft.NetCore.Analyzers\Runtime\CSharpAvoidRedundantRegexIsMatchBeforeMatch.Fixer.cs (4)
184var firstStatement = block.Statements.FirstOrDefault(); 594foreach (var statement in parentBlock.Statements) 621StatementSyntax statementToRemove, 637public StatementSyntax StatementToRemove { get; }
Microsoft.CodeAnalysis.CSharp.Workspaces (85)
CodeGeneration\CSharpSyntaxGenerator.cs (9)
1196StatementSyntax statement => statement.AttributeLists, 1207StatementSyntax statement => statement.WithAttributeLists(attributeLists), 3023newDeclarations = newDeclarations.Select(declaration => declaration is StatementSyntax statement ? SyntaxFactory.GlobalStatement(statement) : declaration); 3062newDeclarations = newDeclarations.Select(declaration => declaration is StatementSyntax statement ? SyntaxFactory.GlobalStatement(statement) : declaration); 3294private static SyntaxList<StatementSyntax> AsStatementList(IEnumerable<SyntaxNode>? nodes) 3297private static StatementSyntax AsStatement(SyntaxNode node) 3304return (StatementSyntax)node; 3653=> SyntaxFactory.Block(statements.Cast<StatementSyntax>()); 3656=> SyntaxFactory.GlobalStatement((StatementSyntax)statement);
ReassignedVariable\CSharpReassignedVariableService.cs (1)
60if (current is StatementSyntax)
Recommendations\CSharpRecommendationServiceRunner.cs (1)
326var statement = labeledStatement.Statement;
Rename\CSharpRenameRewriterLanguageService.cs (3)
201node is StatementSyntax || 1118var enclosingStatement = token.GetAncestor<StatementSyntax>();
Rename\LabelConflictVisitor.cs (1)
34foreach (var statement in node.Statements)
Simplification\CSharpSimplificationService.cs (2)
26: AbstractSimplificationService<CompilationUnitSyntax, ExpressionSyntax, StatementSyntax, CrefSyntax>(s_reducers) 61StatementSyntax or
src\4f0789c9734b88bf\CSharpInitializeParameterService.cs (2)
23internal sealed class CSharpInitializeParameterService() : AbstractInitializerParameterService<StatementSyntax> 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
src\50a3a051b0fef0d6\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
127private readonly ArrayBuilder<StatementSyntax> _statementsBuilder; 135_statementsBuilder = ArrayBuilder<StatementSyntax>.GetInstance();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ArrowExpressionClauseSyntaxExtensions.cs (2)
21if (!arrowExpression.TryConvertToStatement(semicolonToken, createReturnStatementForExpression, out var statement)) 35out StatementSyntax statement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (3)
64bool HasAcceptableDirectiveShape(StatementSyntax statement, SyntaxToken closeBrace) 117var parsed = SyntaxFactory.ParseStatement(nextTrivia.ToFullString()); 203private static bool TryGetExpression(StatementSyntax firstStatement, LanguageVersion languageVersion, [NotNullWhen(true)] out ExpressionSyntax? expression, out SyntaxToken semicolonToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
855[NotNullWhen(true)] out StatementSyntax? statement) 872private static StatementSyntax ConvertToStatement(ExpressionSyntax expression, SyntaxToken semicolonToken, bool createReturnStatementForExpression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\StatementSyntaxExtensions.cs (10)
13public static StatementSyntax WithoutLeadingBlankLinesInTrivia(this StatementSyntax statement) 16public static StatementSyntax? GetPreviousStatement(this StatementSyntax? statement) 21return previousToken.GetAncestors<StatementSyntax>().FirstOrDefault(s => AreSiblingStatements(s, statement)); 27public static StatementSyntax? GetNextStatement(this StatementSyntax? statement) 32return nextToken.GetAncestors<StatementSyntax>().FirstOrDefault(s => AreSiblingStatements(s, statement)); 38private static bool AreSiblingStatements(StatementSyntax first, StatementSyntax second)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
130public static StatementSyntax? GetEmbeddedStatement(this SyntaxNode? node) 166StatementSyntax statementSyntax => statementSyntax.AttributeLists, 838if (current is StatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (3)
163if (token.Parent is not StatementSyntax statement || 200SyntaxNode? statementOrElse = node as StatementSyntax; 287if (token.Parent is not StatementSyntax statement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (1)
52case StatementSyntax statement:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
328return (((previousToken.Parent is StatementSyntax) && currentToken.Parent != previousToken.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
337var embeddedStatement = node.GetEmbeddedStatement();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (1)
474&& (previousToken.Parent is StatementSyntax && !previousToken.Parent.IsKind(SyntaxKind.ForStatement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
257if (node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (1)
196currentToken.GetPreviousToken().IsLastTokenOfNode<StatementSyntax>())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (3)
65var embeddedStatement = node.GetEmbeddedStatement(); 99if (node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block) 112if (!(node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpBlockFacts.cs (4)
17internal class CSharpBlockFacts : AbstractBlockFacts<StatementSyntax> 27public override SyntaxNode? GetImmediateParentExecutableBlockForStatement(StatementSyntax statement) 36public override IReadOnlyList<StatementSyntax> GetExecutableBlockStatements(SyntaxNode? node) 53public override IReadOnlyList<StatementSyntax> GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
238=> node is StatementSyntax; 241=> node is StatementSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
132if (parent is StatementSyntax && !endToken.IsSemicolonInForStatement())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
96=> node is StatementSyntax(kind: not SyntaxKind.Block) or TypeSyntax or CrefSyntax || 135if (nodeToSpeculate is StatementSyntax statementNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (6)
515else if (destinationMember is StatementSyntax statement && statement.IsParentKind(SyntaxKind.GlobalStatement)) 544var containingStatement = token.GetAncestors<StatementSyntax>().Single(blockStatements.Contains); 547var newStatements = statements.OfType<StatementSyntax>().ToArray(); 551var newContainingStatement = containingStatement.GetNodeWithoutLeadingBannerAndPreprocessorDirectives(out var strippedTrivia); 639if (expressionBody.TryConvertToStatement(semicolonToken, createReturnStatementForExpression: false, out var statement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\StatementGenerator.cs (2)
14internal static SyntaxList<StatementSyntax> GenerateStatements(IEnumerable<SyntaxNode> statements) 15=> [.. statements.OfType<StatementSyntax>()];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (1)
394token.Parent.Parent is StatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (6)
119var statement = token.GetAncestor<StatementSyntax>(); 126if (token.Parent.Parent is StatementSyntax) 181if (container is StatementSyntax) 415foreach (var statement in section.Statements) 504targetToken.GetAncestors<StatementSyntax>().Any(s => s.IsKind(SyntaxKind.UnsafeStatement)) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (1)
302if (token.GetAncestor<StatementSyntax>() == null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\TypingFormattingRule.cs (1)
83var firstStatement = statements[0];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (2)
220token.Parent?.Parent is StatementSyntax or ElseClauseSyntax); 480var nonExpressionNode = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is StatementSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
22StatementSyntax,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (3)
167StatementSyntax statement) 175if (!TryConvertExpressionBodyToStatement(body, semicolonToken, !returnsVoid, out var convertedStatement)) 238[NotNullWhen(true)] out StatementSyntax? statement)
Microsoft.Interop.ComInterfaceGenerator (7)
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (1)
40public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\KeepAliveThisMarshaller.cs (1)
18public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\ManagedHResultExceptionGeneratorResolver.cs (2)
39public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context) 73public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\ObjectUnwrapperResolver.cs (1)
34public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\StructAsHResultMarshallerFactory.cs (1)
32public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
VirtualMethodPointerStubGenerator.cs (1)
46var setupStatements = new List<StatementSyntax>
Microsoft.Interop.JavaScript.JSImportGenerator (24)
Comparers.cs (2)
16public static readonly IEqualityComparer<(MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax)> GeneratedSyntax3 = 17new CustomValueTupleElementComparer<MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax>(
JSExportGenerator.cs (7)
53IncrementalValuesProvider<(MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax)> generateSingleStub = methodsToGenerate 71IncrementalValueProvider<ImmutableArray<(StatementSyntax, AttributeListSyntax)>> regSyntax = generateSingleStub 189ImmutableArray<(StatementSyntax Registration, AttributeListSyntax Attribute)> methods, string assemblyName) 198var registerStatements = new List<StatementSyntax>(); 276private static StatementSyntax[] GenerateJSExportArchitectureCheck() 293private static (MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax) GenerateSource( 345StatementSyntax registration = GenerateJSExportRegistration(incrementalContext.SignatureContext);
JSImportGenerator.cs (3)
257StatementSyntax bindStatement = GenerateBindSyntax( 280Block(SingletonList<StatementSyntax>( 298List<StatementSyntax> statements = [];
Marshaling\BaseJSGenerator.cs (1)
37public virtual IEnumerable<StatementSyntax> Generate(StubIdentifierContext context)
Marshaling\FuncJSGenerator.cs (4)
16public override IEnumerable<StatementSyntax> Generate(StubIdentifierContext context) 18foreach (var statement in base.Generate(context)) 101.WithBlock(Block(SingletonList<StatementSyntax>(ExpressionStatement( 117.WithBlock(Block(SingletonList<StatementSyntax>(ExpressionStatement(
Marshaling\ImplicitArgumentGenerator.cs (1)
17public override IEnumerable<StatementSyntax> Generate(StubIdentifierContext context)
Marshaling\PrimitiveJSGenerator.cs (2)
15public override IEnumerable<StatementSyntax> Generate(StubIdentifierContext context) 17foreach (var statement in base.Generate(context))
Marshaling\TaskJSGenerator.cs (4)
14public override IEnumerable<StatementSyntax> Generate(StubIdentifierContext context) 16foreach (var statement in base.Generate(context)) 83.WithBlock(Block(SingletonList<StatementSyntax>(ExpressionStatement( 105.WithBlock(Block(SingletonList<StatementSyntax>(ExpressionStatement(
Microsoft.Interop.SourceGeneration (247)
GeneratedStatements.cs (15)
16public ImmutableArray<StatementSyntax> Setup { get; init; } 17public ImmutableArray<StatementSyntax> Marshal { get; init; } 19public ImmutableArray<StatementSyntax> PinnedMarshal { get; init; } 20public StatementSyntax InvokeStatement { get; init; } 21public ImmutableArray<StatementSyntax> Unmarshal { get; init; } 22public ImmutableArray<StatementSyntax> NotifyForSuccessfulInvoke { get; init; } 23public ImmutableArray<StatementSyntax> GuaranteedUnmarshal { get; init; } 24public ImmutableArray<StatementSyntax> CleanupCallerAllocated { get; init; } 25public ImmutableArray<StatementSyntax> CleanupCalleeAllocated { get; init; } 93private static ImmutableArray<StatementSyntax> GenerateStatementsForStubContext(BoundGenerators marshallers, StubIdentifierContext context) 95ImmutableArray<StatementSyntax>.Builder statementsToUpdate = ImmutableArray.CreateBuilder<StatementSyntax>(); 105StatementSyntax firstStatementInStage = statementsToUpdate[0]; 212ImmutableArray<StatementSyntax>.Builder catchClauseBuilder = ImmutableArray.CreateBuilder<StatementSyntax>();
ManagedToNativeStubGenerator.cs (6)
115List<StatementSyntax> setupStatements = []; 135List<StatementSyntax> tryStatements = [.. statements.Marshal]; 140StatementSyntax clearLastError = MarshallerHelpers.CreateClearLastSystemErrorStatement(SuccessErrorCode); 142StatementSyntax getLastError = MarshallerHelpers.CreateGetLastSystemErrorStatement(LastErrorIdentifier); 164List<StatementSyntax> allStatements = setupStatements; 165List<StatementSyntax> finallyStatements = [];
Marshalling\BlittableMarshaller.cs (1)
37public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshalling\BoolMarshaller.cs (1)
50public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshalling\CharMarshaller.cs (1)
47public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshalling\CustomTypeMarshallingGenerator.cs (2)
26public IEnumerable<StatementSyntax> Generate(StubIdentifierContext context) 88return Array.Empty<StatementSyntax>();
Marshalling\DelegateMarshaller.cs (1)
30public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshalling\ElementsMarshalling.cs (32)
41public StatementSyntax GenerateClearUnmanagedDestination(StubIdentifierContext context) 53public StatementSyntax GenerateClearManagedValuesDestination(StubIdentifierContext context) 101public abstract StatementSyntax GenerateSetupStatement(StubIdentifierContext context); 102public abstract StatementSyntax GenerateUnmanagedToManagedByValueOutMarshalStatement(StubIdentifierContext context); 103public abstract StatementSyntax GenerateMarshalStatement(StubIdentifierContext context); 104public abstract StatementSyntax GenerateManagedToUnmanagedByValueOutUnmarshalStatement(StubIdentifierContext context); 106public abstract StatementSyntax GenerateUnmarshalStatement(StubIdentifierContext context); 107public abstract StatementSyntax GenerateElementCleanupStatement(StubIdentifierContext context); 112public static StatementSyntax GetNumElementsAssignmentFromManagedValuesSource(this IElementsMarshallingCollectionSource source, TypePositionInfo info, StubIdentifierContext context) 126public static StatementSyntax GetNumElementsAssignmentFromManagedValuesDestination(this IElementsMarshallingCollectionSource source, TypePositionInfo info, StubIdentifierContext context) 149public override StatementSyntax GenerateUnmanagedToManagedByValueOutMarshalStatement(StubIdentifierContext context) 173public override StatementSyntax GenerateMarshalStatement(StubIdentifierContext context) 184public override StatementSyntax GenerateManagedToUnmanagedByValueOutUnmarshalStatement(StubIdentifierContext context) 213public override StatementSyntax GenerateUnmarshalStatement(StubIdentifierContext context) 243public override StatementSyntax GenerateElementCleanupStatement(StubIdentifierContext context) => EmptyStatement(); 244public override StatementSyntax GenerateSetupStatement(StubIdentifierContext context) => EmptyStatement(); 255public override StatementSyntax GenerateMarshalStatement(StubIdentifierContext context) 264var statements = new List<StatementSyntax>() 293public override StatementSyntax GenerateUnmarshalStatement(StubIdentifierContext context) 319public override StatementSyntax GenerateManagedToUnmanagedByValueOutUnmarshalStatement(StubIdentifierContext context) 328var setNumElements = CollectionSource.GetNumElementsAssignmentFromManagedValuesSource(CollectionSource.TypeInfo, context); 366public override StatementSyntax GenerateElementCleanupStatement(StubIdentifierContext context) 380StatementSyntax contentsCleanupStatements = GenerateContentsMarshallingStatement( 407public override StatementSyntax GenerateUnmanagedToManagedByValueOutMarshalStatement(StubIdentifierContext context) 417var setNumElements = CollectionSource.GetNumElementsAssignmentFromManagedValuesDestination(CollectionSource.TypeInfo, context); 472private List<StatementSyntax> GenerateElementStages( 504List<StatementSyntax> elementStatements = []; 528StatementSyntax exactTypeDeclaration = 543StatementSyntax propagateResult = AssignmentStatement( 562private StatementSyntax GenerateContentsMarshallingStatement( 572StatementSyntax marshallingStatement = Block(elementStatements); 612public override StatementSyntax GenerateSetupStatement(StubIdentifierContext context)
Marshalling\Forwarder.cs (2)
27public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context) 29return Array.Empty<StatementSyntax>();
Marshalling\ICustomTypeMarshallingStrategy.cs (10)
20IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context); 22IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context); 24IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context); 26IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context); 28IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context); 30IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context); 32IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context); 34IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context); 36IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context); 38IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context);
Marshalling\IidParameterIndexMarshallerResolver.cs (1)
39public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshalling\MarshallerHelpers.cs (5)
45public static StatementSyntax CreateClearLastSystemErrorStatement(int errorCode) => 54public static StatementSyntax CreateGetLastSystemErrorStatement(string lastErrorIdentifier) => 61public static StatementSyntax CreateSetLastPInvokeErrorStatement(string lastErrorIdentifier) => 233public static StatementSyntax SkipInitOrDefaultInit(TypePositionInfo info, StubIdentifierContext context) 255public static StatementSyntax DefaultInit(TypePositionInfo info, StubIdentifierContext context)
Marshalling\MarshallingGenerator.cs (3)
119IEnumerable<StatementSyntax> Generate(StubIdentifierContext context); 166public IEnumerable<StatementSyntax> Generate(StubIdentifierContext context) => unbound.Generate(TypeInfo, CodeContext, context); 228IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context);
Marshalling\StatefulMarshallingStrategy.cs (49)
25public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 39public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 53public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) 68public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 82public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) 97public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) 112public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) 126public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) 148public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) 164public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) 188public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 193public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 198public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 207IEnumerable<StatementSyntax> GenerateCallerAllocatedBufferMarshalStatements() 226public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) 231public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) 236public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) 241public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) 246public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) 257public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context); 258public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context); 325public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 331StatementSyntax elementCleanup = elementsMarshalling.GenerateElementCleanupStatement(context); 339public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 345StatementSyntax elementCleanup = elementsMarshalling.GenerateElementCleanupStatement(context); 353public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context); 355public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 357foreach (StatementSyntax statement in innerMarshaller.GenerateMarshalStatements(context)) 384public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context); 385public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinnedMarshalStatements(context); 386public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinStatements(context); 387public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) 389foreach (StatementSyntax statement in innerMarshaller.GenerateSetupStatements(context)) 415var elementsSetup = elementsMarshalling.GenerateSetupStatement(context); 422public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) 452foreach (StatementSyntax statement in innerMarshaller.GenerateUnmarshalStatements(context)) 458public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalCaptureStatements(context); 474public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 476foreach (var statement in innerMarshaller.GenerateCleanupCallerAllocatedResourcesStatements(context)) 491public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 493foreach (var statement in innerMarshaller.GenerateCleanupCalleeAllocatedResourcesStatements(context)) 508public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context); 510public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateMarshalStatements(context); 512public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context); 513public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinnedMarshalStatements(context); 514public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinStatements(context); 515public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) => innerMarshaller.GenerateSetupStatements(context); 517public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalStatements(context); 519public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalCaptureStatements(context);
Marshalling\StatelessMarshallingStrategy.cs (75)
27public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) => Array.Empty<StatementSyntax>(); 29public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) => Array.Empty<StatementSyntax>(); 31public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) 51public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 98public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) 100return Array.Empty<StatementSyntax>(); 103public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) 123public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) 125return Array.Empty<StatementSyntax>(); 128public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) 130return Array.Empty<StatementSyntax>(); 133public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) 135return Array.Empty<StatementSyntax>(); 138public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) 140return Array.Empty<StatementSyntax>(); 152public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) => innerMarshaller.GenerateCleanupCallerAllocatedResourcesStatements(context); 153public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) => innerMarshaller.GenerateCleanupCalleeAllocatedResourcesStatements(context); 154public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context); 156public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 165IEnumerable<StatementSyntax> GenerateCallerAllocatedBufferMarshalStatements() 212foreach (StatementSyntax statement in innerMarshaller.GenerateMarshalStatements(context)) 237public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinnedMarshalStatements(context); 238public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinStatements(context); 239public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) => innerMarshaller.GenerateSetupStatements(context); 240public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalCaptureStatements(context); 241public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalStatements(context); 244public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context); 257public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 262foreach (StatementSyntax statement in innerMarshaller.GenerateCleanupCallerAllocatedResourcesStatements(context)) 276public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 281foreach (StatementSyntax statement in innerMarshaller.GenerateCleanupCalleeAllocatedResourcesStatements(context)) 295public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context); 296public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateMarshalStatements(context); 297public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context); 298public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinnedMarshalStatements(context); 299public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinStatements(context); 300public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) => innerMarshaller.GenerateSetupStatements(context); 301public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalCaptureStatements(context); 302public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalStatements(context); 316public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 335public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 355public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) 385public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 415public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => Array.Empty<StatementSyntax>(); 416public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => Array.Empty<StatementSyntax>(); 417public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => Array.Empty<StatementSyntax>(); 418public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) 436public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => Array.Empty<StatementSyntax>(); 438public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) 565public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 572StatementSyntax elementCleanup = elementsMarshalling.GenerateElementCleanupStatement(context); 609foreach (var statement in spaceMarshallingStrategy.GenerateCleanupCallerAllocatedResourcesStatements(context)) 616public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 622StatementSyntax elementCleanup = elementsMarshalling.GenerateElementCleanupStatement(context); 642foreach (var statement in spaceMarshallingStrategy.GenerateCleanupCalleeAllocatedResourcesStatements(context)) 649public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => spaceMarshallingStrategy.GenerateGuaranteedUnmarshalStatements(context); 651public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 670foreach (var statement in spaceMarshallingStrategy.GenerateMarshalStatements(context)) 681public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => spaceMarshallingStrategy.GenerateNotifyForSuccessfulInvokeStatements(context); 682public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => spaceMarshallingStrategy.GeneratePinnedMarshalStatements(context); 683public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => spaceMarshallingStrategy.GeneratePinStatements(context); 685public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) 687foreach (var s in spaceMarshallingStrategy.GenerateSetupStatements(context)) 689var elementsSetup = elementsMarshalling.GenerateSetupStatement(context); 696public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => Array.Empty<StatementSyntax>(); 698public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) 713foreach (var statement in spaceMarshallingStrategy.GenerateUnmarshalStatements(context)) 726foreach (var statement in spaceMarshallingStrategy.GenerateUnmarshalStatements(context))
Marshalling\StaticPinnableManagedValueMarshaller.cs (2)
44public IEnumerable<StatementSyntax> Generate(StubIdentifierContext context) 72private IEnumerable<StatementSyntax> GeneratePinningPath(StubIdentifierContext context)
Marshalling\UnmanagedToManagedOwnershipTrackingStrategy.cs (26)
27public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) => innerMarshaller.GenerateCleanupCallerAllocatedResourcesStatements(context); 28public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) => innerMarshaller.GenerateCleanupCalleeAllocatedResourcesStatements(context); 30public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context); 31public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) 33foreach (StatementSyntax statement in innerMarshaller.GenerateMarshalStatements(context)) 48public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context); 49public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinnedMarshalStatements(context); 51public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinStatements(context); 52public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) 54foreach (StatementSyntax statement in innerMarshaller.GenerateSetupStatements(context)) 73public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalCaptureStatements(context); 75public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalStatements(context); 92public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(StubIdentifierContext context) 105public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(StubIdentifierContext context) 118public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context); 119public IEnumerable<StatementSyntax> GenerateMarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateMarshalStatements(context); 121public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(StubIdentifierContext context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context); 122public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinnedMarshalStatements(context); 124public IEnumerable<StatementSyntax> GeneratePinStatements(StubIdentifierContext context) => innerMarshaller.GeneratePinStatements(context); 125public IEnumerable<StatementSyntax> GenerateSetupStatements(StubIdentifierContext context) => innerMarshaller.GenerateSetupStatements(context); 127public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalCaptureStatements(context); 129public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(StubIdentifierContext context) => innerMarshaller.GenerateUnmarshalStatements(context); 149public IEnumerable<StatementSyntax> Generate(StubIdentifierContext context) 163IEnumerable<StatementSyntax> GenerateSetupStatements() 171IEnumerable<StatementSyntax> GenerateStatementsFromInner(StubIdentifierContext contextForStage) 205public static StatementSyntax DeclareOriginalValueIdentifier(TypePositionInfo info, StubIdentifierContext context, ManagedTypeInfo nativeType)
SyntaxExtensions.cs (6)
16private static FixedStatementSyntax AddStatementWithoutEmptyStatements(this FixedStatementSyntax fixedStatement, StatementSyntax childStatement) 49public static StatementSyntax NestFixedStatements(this ImmutableArray<FixedStatementSyntax> fixedStatements, StatementSyntax innerStatement) 51StatementSyntax nestedStatement = innerStatement; 64static StatementSyntax WrapStatementInBlock(StatementSyntax statement)
UnmanagedToManagedStubGenerator.cs (4)
117List<StatementSyntax> setupStatements = 124List<StatementSyntax> tryStatements = 134List<StatementSyntax> allStatements = setupStatements; 138ImmutableArray<StatementSyntax> finallyStatements = statements.CleanupCallerAllocated;
VariableDeclarations.cs (5)
14public ImmutableArray<StatementSyntax> Initializations { get; init; } 18ImmutableArray<StatementSyntax>.Builder initializations = ImmutableArray.CreateBuilder<StatementSyntax>(); 81ImmutableArray<StatementSyntax>.Builder initializations = ImmutableArray.CreateBuilder<StatementSyntax>();
Roslyn.Diagnostics.CSharp.Analyzers (68)
src\4f0789c9734b88bf\CSharpInitializeParameterService.cs (2)
23internal sealed class CSharpInitializeParameterService() : AbstractInitializerParameterService<StatementSyntax> 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
src\50a3a051b0fef0d6\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
127private readonly ArrayBuilder<StatementSyntax> _statementsBuilder; 135_statementsBuilder = ArrayBuilder<StatementSyntax>.GetInstance();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ArrowExpressionClauseSyntaxExtensions.cs (2)
21if (!arrowExpression.TryConvertToStatement(semicolonToken, createReturnStatementForExpression, out var statement)) 35out StatementSyntax statement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (3)
64bool HasAcceptableDirectiveShape(StatementSyntax statement, SyntaxToken closeBrace) 117var parsed = SyntaxFactory.ParseStatement(nextTrivia.ToFullString()); 203private static bool TryGetExpression(StatementSyntax firstStatement, LanguageVersion languageVersion, [NotNullWhen(true)] out ExpressionSyntax? expression, out SyntaxToken semicolonToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
855[NotNullWhen(true)] out StatementSyntax? statement) 872private static StatementSyntax ConvertToStatement(ExpressionSyntax expression, SyntaxToken semicolonToken, bool createReturnStatementForExpression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\StatementSyntaxExtensions.cs (10)
13public static StatementSyntax WithoutLeadingBlankLinesInTrivia(this StatementSyntax statement) 16public static StatementSyntax? GetPreviousStatement(this StatementSyntax? statement) 21return previousToken.GetAncestors<StatementSyntax>().FirstOrDefault(s => AreSiblingStatements(s, statement)); 27public static StatementSyntax? GetNextStatement(this StatementSyntax? statement) 32return nextToken.GetAncestors<StatementSyntax>().FirstOrDefault(s => AreSiblingStatements(s, statement)); 38private static bool AreSiblingStatements(StatementSyntax first, StatementSyntax second)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
130public static StatementSyntax? GetEmbeddedStatement(this SyntaxNode? node) 166StatementSyntax statementSyntax => statementSyntax.AttributeLists, 838if (current is StatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (3)
163if (token.Parent is not StatementSyntax statement || 200SyntaxNode? statementOrElse = node as StatementSyntax; 287if (token.Parent is not StatementSyntax statement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (1)
52case StatementSyntax statement:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
328return (((previousToken.Parent is StatementSyntax) && currentToken.Parent != previousToken.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
337var embeddedStatement = node.GetEmbeddedStatement();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (1)
474&& (previousToken.Parent is StatementSyntax && !previousToken.Parent.IsKind(SyntaxKind.ForStatement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
257if (node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (1)
196currentToken.GetPreviousToken().IsLastTokenOfNode<StatementSyntax>())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (3)
65var embeddedStatement = node.GetEmbeddedStatement(); 99if (node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block) 112if (!(node is not StatementSyntax statementNode || statementNode.Kind() == SyntaxKind.Block))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpBlockFacts.cs (4)
17internal class CSharpBlockFacts : AbstractBlockFacts<StatementSyntax> 27public override SyntaxNode? GetImmediateParentExecutableBlockForStatement(StatementSyntax statement) 36public override IReadOnlyList<StatementSyntax> GetExecutableBlockStatements(SyntaxNode? node) 53public override IReadOnlyList<StatementSyntax> GetStatementContainerStatements(SyntaxNode? node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
238=> node is StatementSyntax; 241=> node is StatementSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
132if (parent is StatementSyntax && !endToken.IsSemicolonInForStatement())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
96=> node is StatementSyntax(kind: not SyntaxKind.Block) or TypeSyntax or CrefSyntax || 135if (nodeToSpeculate is StatementSyntax statementNode)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (6)
515else if (destinationMember is StatementSyntax statement && statement.IsParentKind(SyntaxKind.GlobalStatement)) 544var containingStatement = token.GetAncestors<StatementSyntax>().Single(blockStatements.Contains); 547var newStatements = statements.OfType<StatementSyntax>().ToArray(); 551var newContainingStatement = containingStatement.GetNodeWithoutLeadingBannerAndPreprocessorDirectives(out var strippedTrivia); 639if (expressionBody.TryConvertToStatement(semicolonToken, createReturnStatementForExpression: false, out var statement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\StatementGenerator.cs (2)
14internal static SyntaxList<StatementSyntax> GenerateStatements(IEnumerable<SyntaxNode> statements) 15=> [.. statements.OfType<StatementSyntax>()];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (1)
394token.Parent.Parent is StatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (6)
119var statement = token.GetAncestor<StatementSyntax>(); 126if (token.Parent.Parent is StatementSyntax) 181if (container is StatementSyntax) 415foreach (var statement in section.Statements) 504targetToken.GetAncestors<StatementSyntax>().Any(s => s.IsKind(SyntaxKind.UnsafeStatement)) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (1)
302if (token.GetAncestor<StatementSyntax>() == null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\TypingFormattingRule.cs (1)
83var firstStatement = statements[0];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (2)
220token.Parent?.Parent is StatementSyntax or ElseClauseSyntax); 480var nonExpressionNode = token.GetAncestors<SyntaxNode>().FirstOrDefault(n => n is StatementSyntax);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
22StatementSyntax,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (3)
167StatementSyntax statement) 175if (!TryConvertExpressionBodyToStatement(body, semicolonToken, !returnsVoid, out var convertedStatement)) 238[NotNullWhen(true)] out StatementSyntax? statement)