25 types derived from StatementSyntax
Microsoft.CodeAnalysis.CSharp (25)
_generated\2\Syntax.xml.Syntax.Generated.cs (24)
6294public sealed partial class BlockSyntax : StatementSyntax 6360public sealed partial class LocalFunctionStatementSyntax : StatementSyntax 6492public sealed partial class LocalDeclarationStatementSyntax : StatementSyntax 6896public sealed partial class ExpressionStatementSyntax : StatementSyntax 6958public sealed partial class EmptyStatementSyntax : StatementSyntax 7005public sealed partial class LabeledStatementSyntax : StatementSyntax 7077public sealed partial class GotoStatementSyntax : StatementSyntax 7164public sealed partial class BreakStatementSyntax : StatementSyntax 7213public sealed partial class ContinueStatementSyntax : StatementSyntax 7262public sealed partial class ReturnStatementSyntax : StatementSyntax 7327public sealed partial class ThrowStatementSyntax : StatementSyntax 7393public sealed partial class YieldStatementSyntax : StatementSyntax 7461public sealed partial class WhileStatementSyntax : StatementSyntax 7535public sealed partial class DoStatementSyntax : StatementSyntax 7615public sealed partial class ForStatementSyntax : StatementSyntax 7723public abstract partial class CommonForEachStatementSyntax : StatementSyntax 7979public sealed partial class UsingStatementSyntax : StatementSyntax 8069public sealed partial class FixedStatementSyntax : StatementSyntax 8145public sealed partial class CheckedStatementSyntax : StatementSyntax 8209public sealed partial class UnsafeStatementSyntax : StatementSyntax 8273public sealed partial class LockStatementSyntax : StatementSyntax 8350public sealed partial class IfStatementSyntax : StatementSyntax 8495public sealed partial class SwitchStatementSyntax : StatementSyntax 9001public sealed partial class TryStatementSyntax : StatementSyntax
Syntax\DeclarationStatementSyntax.cs (1)
7public partial class LocalDeclarationStatementSyntax : StatementSyntax
1461 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.CodeAnalysis.CSharp (339)
_generated\0\Syntax.xml.Main.Generated.cs (52)
1848=> node.Update(VisitList(node.AttributeLists), VisitList(node.Modifiers), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1884=> node.Update(VisitList(node.AttributeLists), VisitToken(node.Identifier), VisitToken(node.ColonToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1905=> 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")); 1908=> 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)); 1911=> 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")); 1914=> 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")); 1917=> 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")); 1920=> 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")); 1923=> 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")); 1932=> 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")); 1935=> 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)); 1938=> node.Update(VisitToken(node.ElseKeyword), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 3986public static GlobalStatementSyntax GlobalStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, StatementSyntax statement) 3993public static GlobalStatementSyntax GlobalStatement(StatementSyntax statement) 3997public static BlockSyntax Block(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken) 4005public static BlockSyntax Block(SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<StatementSyntax> statements) 4010public static BlockSyntax Block(SyntaxList<StatementSyntax> statements = default) 4169public static LabeledStatementSyntax LabeledStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) 4178public static LabeledStatementSyntax LabeledStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, StatementSyntax statement) 4182public static LabeledStatementSyntax LabeledStatement(SyntaxToken identifier, StatementSyntax statement) 4186public static LabeledStatementSyntax LabeledStatement(string identifier, StatementSyntax statement) 4328public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 4339public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement) 4343public static WhileStatementSyntax WhileStatement(ExpressionSyntax condition, StatementSyntax statement) 4347public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 4360public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, StatementSyntax statement, ExpressionSyntax condition) 4364public static DoStatementSyntax DoStatement(StatementSyntax statement, ExpressionSyntax condition) 4368public 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) 4380public static ForStatementSyntax ForStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, ExpressionSyntax? condition, SeparatedSyntaxList<ExpressionSyntax> incrementors, StatementSyntax statement) 4384public static ForStatementSyntax ForStatement(StatementSyntax statement) 4388public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4408public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4412public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4416public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, string identifier, ExpressionSyntax expression, StatementSyntax statement) 4420public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4439public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4443public static ForEachVariableStatementSyntax ForEachVariableStatement(ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4447public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 4463public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, StatementSyntax statement) 4467public static UsingStatementSyntax UsingStatement(StatementSyntax statement) 4471public static FixedStatementSyntax FixedStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) 4482public static FixedStatementSyntax FixedStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax declaration, StatementSyntax statement) 4486public static FixedStatementSyntax FixedStatement(VariableDeclarationSyntax declaration, StatementSyntax statement) 4545public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4556public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, StatementSyntax statement) 4560public static LockStatementSyntax LockStatement(ExpressionSyntax expression, StatementSyntax statement) 4564public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 4575public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement, ElseClauseSyntax? @else) 4579public static IfStatementSyntax IfStatement(ExpressionSyntax condition, StatementSyntax statement) 4583public static ElseClauseSyntax ElseClause(SyntaxToken elseKeyword, StatementSyntax statement) 4591public static ElseClauseSyntax ElseClause(StatementSyntax statement) 4617public static SwitchSectionSyntax SwitchSection(SyntaxList<SwitchLabelSyntax> labels, SyntaxList<StatementSyntax> statements)
_generated\2\Syntax.xml.Syntax.Generated.cs (145)
3049public AnonymousFunctionExpressionSyntax AddBlockStatements(params StatementSyntax[] items) => AddBlockStatementsCore(items); 3050internal abstract AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items); 3157internal override AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items) => AddBlockStatements(items); 3158public new AnonymousMethodExpressionSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 3189public new AnonymousFunctionExpressionSyntax AddBlockStatements(params StatementSyntax[] items) => AddBlockStatementsCore(items); 3299internal override AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items) => AddBlockStatements(items); 3300public new SimpleLambdaExpressionSyntax AddBlockStatements(params StatementSyntax[] items) 3461internal override AnonymousFunctionExpressionSyntax AddBlockStatementsCore(params StatementSyntax[] items) => AddBlockStatements(items); 3462public new ParenthesizedLambdaExpressionSyntax AddBlockStatements(params StatementSyntax[] items) 6209private StatementSyntax? statement; 6227public StatementSyntax Statement => GetRed(ref this.statement, 2)!; 6248public GlobalStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, StatementSyntax statement) 6264public GlobalStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.Modifiers, statement); 6281public StatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeListsCore(attributeLists); 6282internal abstract StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists); 6284public StatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => AddAttributeListsCore(items); 6285internal abstract StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items); 6308public SyntaxList<StatementSyntax> Statements => new SyntaxList<StatementSyntax>(GetRed(ref this.statements, 2)); 6331public BlockSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken) 6343internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6346public BlockSyntax WithStatements(SyntaxList<StatementSyntax> statements) => Update(this.AttributeLists, this.OpenBraceToken, statements, this.CloseBraceToken); 6349internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6351public BlockSyntax AddStatements(params StatementSyntax[] items) => WithStatements(this.Statements.AddRange(items)); 6452internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6464internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6479public LocalFunctionStatementSyntax AddBodyStatements(params StatementSyntax[] items) 6567internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6575internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6943internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6948internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6990internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6994internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7008private StatementSyntax? statement; 7023public StatementSyntax Statement => GetRed(ref this.statement, 3)!; 7044public LabeledStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) 7056internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7060public LabeledStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.Identifier, this.ColonToken, statement); 7062internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7147internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7154internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7198internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7203internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7247internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7252internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7311internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7317internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7376internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7382internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7444internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7451internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7465private StatementSyntax? statement; 7482public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 7505public WhileStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 7517internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7523public WhileStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.WhileKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement); 7525internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7538private StatementSyntax? statement; 7550public StatementSyntax Statement => GetRed(ref this.statement, 2)!; 7583public DoStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 7595internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7598public DoStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.DoKeyword, statement, this.WhileKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.SemicolonToken); 7605internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7622private StatementSyntax? statement; 7663public StatementSyntax Statement => GetRed(ref this.statement, 10)!; 7692public 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) 7704internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7715public 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); 7717internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7754public abstract StatementSyntax Statement { get; } 7755public CommonForEachStatementSyntax WithStatement(StatementSyntax statement) => WithStatementCore(statement); 7756internal abstract CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement); 7774private StatementSyntax? statement; 7807public override StatementSyntax Statement => GetRed(ref this.statement, 9)!; 7832public ForEachStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7844internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7860internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 7861public 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); 7863internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7878private StatementSyntax? statement; 7914public override StatementSyntax Statement => GetRed(ref this.statement, 8)!; 7939public ForEachVariableStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7951internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7966internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 7967public new ForEachVariableStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, this.Variable, this.InKeyword, this.Expression, this.CloseParenToken, statement); 7969internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7984private StatementSyntax? statement; 8012public StatementSyntax Statement => GetRed(ref this.statement, 7)!; 8037public UsingStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 8049internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8057public UsingStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.AwaitKeyword, this.UsingKeyword, this.OpenParenToken, this.Declaration, this.Expression, this.CloseParenToken, statement); 8059internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8073private StatementSyntax? statement; 8090public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8113public FixedStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) 8125internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8131public FixedStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.FixedKeyword, this.OpenParenToken, this.Declaration, this.CloseParenToken, statement); 8133internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8192internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8197internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8200public CheckedStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 8256internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8261internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8264public UnsafeStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 8277private StatementSyntax? statement; 8294public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8317public LockStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 8329internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8335public LockStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.LockKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, statement); 8337internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8354private StatementSyntax? statement; 8387public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8417public IfStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 8429internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8435public IfStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement, this.Else); 8438internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8451private StatementSyntax? statement; 8463public StatementSyntax Statement => GetRed(ref this.statement, 1)!; 8472public ElseClauseSyntax Update(SyntaxToken elseKeyword, StatementSyntax statement) 8485public ElseClauseSyntax WithStatement(StatementSyntax statement) => Update(this.ElseKeyword, statement); 8590internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8600internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8630public SyntaxList<StatementSyntax> Statements => new SyntaxList<StatementSyntax>(GetRed(ref this.statements, 1)); 8651public SwitchSectionSyntax Update(SyntaxList<SwitchLabelSyntax> labels, SyntaxList<StatementSyntax> statements) 8664public SwitchSectionSyntax WithStatements(SyntaxList<StatementSyntax> statements) => Update(this.Labels, statements); 8667public SwitchSectionSyntax AddStatements(params StatementSyntax[] items) => WithStatements(this.Statements.AddRange(items)); 9058internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 9065internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 9068public TryStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 9136public CatchClauseSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 9284public FinallyClauseSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 12465public BaseMethodDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) => AddBodyStatementsCore(items); 12466internal abstract BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items); 12627internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12628public new MethodDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 12773internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12774public new OperatorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 12919internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12920public new ConversionOperatorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13043internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 13044public new ConstructorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13216internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 13217public new DestructorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13797public AccessorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items)
Binder\Binder.cs (1)
102case StatementSyntax:
Binder\Binder_Initializers.cs (2)
233(StatementSyntax)syntax, 246StatementSyntax statementNode,
Binder\Binder_Statements.cs (4)
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) 2600var elseStatementSyntax = node.Else.Statement;
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) 540foreach (StatementSyntax statement in node.Statements) 719StatementSyntax statement = node.Statement; 772foreach (StatementSyntax statement in node.Statements) 827var elseStatementSyntax = node.Else.Statement; 1036private Binder GetBinderForPossibleEmbeddedStatement(StatementSyntax statement, Binder enclosing, out CSharpSyntaxNode embeddedScopeDesignator) 1068private Binder GetBinderForPossibleEmbeddedStatement(StatementSyntax statement, Binder enclosing) 1086private 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; 386private static Binder AdjustBinderForPositionWithinStatement(int position, Binder binder, StatementSyntax stmt) 1450private void GuardedAddSynthesizedStatementToMap(StatementSyntax node, BoundStatement statement) 1460private BoundStatement GuardedGetSynthesizedStatementFromMap(StatementSyntax node) 1534if (syntax == _root || syntax is StatementSyntax) 1579if (current is StatementSyntax) 2287!(node is StatementSyntax) && 2458private BoundStatement TryGetBoundStatementFromMap(StatementSyntax node) 2475public 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.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)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (2)
45private RegionAnalysisContext RegionAnalysisContext(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)
8426this.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)
6034var globalStatement = ((GlobalStatementSyntax)m).Statement; 6038var 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)
109return 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 (136)
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\ConvertSwitchStatementToExpression\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\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\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, 851if (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 (105)
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\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\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
127private readonly ArrayBuilder<StatementSyntax> _statementsBuilder; 135_statementsBuilder = ArrayBuilder<StatementSyntax>.GetInstance();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\CSharpInitializeParameterService.cs (2)
23internal sealed class CSharpInitializeParameterService() : AbstractInitializerParameterService<StatementSyntax> 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
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 (432)
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\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\ConvertSwitchStatementToExpression\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\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\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\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; 152=> 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 (3)
Microsoft.NetCore.Analyzers\Performance\CSharpPreferHashDataOverComputeHash.Fixer.cs (1)
152var statement = s;
Microsoft.NetCore.Analyzers\Runtime\CSharpAvoidRedundantRegexIsMatchBeforeMatch.Fixer.cs (2)
155var firstStatement = block.Statements.FirstOrDefault(); 615foreach (var statement in parentBlock.Statements)
Microsoft.CodeAnalysis.CSharp.Workspaces (84)
CodeGeneration\CSharpSyntaxGenerator.cs (9)
1196StatementSyntax statement => statement.AttributeLists, 1207StatementSyntax statement => statement.WithAttributeLists(attributeLists), 3015newDeclarations = newDeclarations.Select(declaration => declaration is StatementSyntax statement ? SyntaxFactory.GlobalStatement(statement) : declaration); 3054newDeclarations = newDeclarations.Select(declaration => declaration is StatementSyntax statement ? SyntaxFactory.GlobalStatement(statement) : declaration); 3286private static SyntaxList<StatementSyntax> AsStatementList(IEnumerable<SyntaxNode>? nodes) 3289private static StatementSyntax AsStatement(SyntaxNode node) 3296return (StatementSyntax)node; 3645=> SyntaxFactory.Block(statements.Cast<StatementSyntax>()); 3648=> SyntaxFactory.GlobalStatement((StatementSyntax)statement);
ReassignedVariable\CSharpReassignedVariableService.cs (1)
60if (current is StatementSyntax)
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\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, 851if (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\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
127private readonly ArrayBuilder<StatementSyntax> _statementsBuilder; 135_statementsBuilder = ArrayBuilder<StatementSyntax>.GetInstance();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\CSharpInitializeParameterService.cs (2)
23internal sealed class CSharpInitializeParameterService() : AbstractInitializerParameterService<StatementSyntax> 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
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 (8)
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (1)
40public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\IidParameterIndexMarshallerResolver.cs (1)
39public 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)
251StatementSyntax bindStatement = GenerateBindSyntax( 274Block(SingletonList<StatementSyntax>( 292List<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 (246)
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; } 72private static ImmutableArray<StatementSyntax> GenerateStatementsForStubContext(BoundGenerators marshallers, StubIdentifierContext context) 74ImmutableArray<StatementSyntax>.Builder statementsToUpdate = ImmutableArray.CreateBuilder<StatementSyntax>(); 84StatementSyntax firstStatementInStage = statementsToUpdate[0]; 158ImmutableArray<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\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)
64List<StatementSyntax> setupStatements = 71List<StatementSyntax> tryStatements = 81List<StatementSyntax> allStatements = setupStatements; 85ImmutableArray<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\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, 851if (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\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
127private readonly ArrayBuilder<StatementSyntax> _statementsBuilder; 135_statementsBuilder = ArrayBuilder<StatementSyntax>.GetInstance();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\CSharpInitializeParameterService.cs (2)
23internal sealed class CSharpInitializeParameterService() : AbstractInitializerParameterService<StatementSyntax> 37protected override void InsertStatement(SyntaxEditor editor, SyntaxNode functionDeclaration, bool returnsVoid, SyntaxNode? statementToAddAfter, StatementSyntax statement)
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)