25 types derived from StatementSyntax
Microsoft.CodeAnalysis.CSharp (25)
_generated\2\Syntax.xml.Syntax.Generated.cs (24)
6293public sealed partial class BlockSyntax : StatementSyntax 6359public sealed partial class LocalFunctionStatementSyntax : StatementSyntax 6491public sealed partial class LocalDeclarationStatementSyntax : StatementSyntax 6895public sealed partial class ExpressionStatementSyntax : StatementSyntax 6957public sealed partial class EmptyStatementSyntax : StatementSyntax 7004public sealed partial class LabeledStatementSyntax : StatementSyntax 7076public sealed partial class GotoStatementSyntax : StatementSyntax 7163public sealed partial class BreakStatementSyntax : StatementSyntax 7212public sealed partial class ContinueStatementSyntax : StatementSyntax 7261public sealed partial class ReturnStatementSyntax : StatementSyntax 7326public sealed partial class ThrowStatementSyntax : StatementSyntax 7392public sealed partial class YieldStatementSyntax : StatementSyntax 7460public sealed partial class WhileStatementSyntax : StatementSyntax 7534public sealed partial class DoStatementSyntax : StatementSyntax 7614public sealed partial class ForStatementSyntax : StatementSyntax 7722public abstract partial class CommonForEachStatementSyntax : StatementSyntax 7978public sealed partial class UsingStatementSyntax : StatementSyntax 8068public sealed partial class FixedStatementSyntax : StatementSyntax 8144public sealed partial class CheckedStatementSyntax : StatementSyntax 8208public sealed partial class UnsafeStatementSyntax : StatementSyntax 8272public sealed partial class LockStatementSyntax : StatementSyntax 8349public sealed partial class IfStatementSyntax : StatementSyntax 8494public sealed partial class SwitchStatementSyntax : StatementSyntax 9000public sealed partial class TryStatementSyntax : StatementSyntax
Syntax\DeclarationStatementSyntax.cs (1)
7public partial class LocalDeclarationStatementSyntax : StatementSyntax
1458 references to StatementSyntax
ILLink.CodeFixProvider (12)
RequiresUnsafeCodeFixProvider.cs (12)
53var containingStatement = targetNode.AncestorsAndSelf().OfType<StatementSyntax>().FirstOrDefault(); 115private static bool IsEmbeddedStatement(StatementSyntax statement) 133StatementSyntax triggerStatement, 164StatementSyntax statementToWrap = triggerStatement; 246var stmt = statements[nextIndex]; 276List<StatementSyntax> statementsToWrap; 279statementsToWrap = new List<StatementSyntax> { statementToWrap }; 300var newStatements = new List<StatementSyntax>(); 330StatementSyntax triggerStatement, 353StatementSyntax embeddedStatement, 410StatementSyntax 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)
1840=> node.Update(VisitList(node.AttributeLists), VisitList(node.Modifiers), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1876=> node.Update(VisitList(node.AttributeLists), VisitToken(node.Identifier), VisitToken(node.ColonToken), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 1897=> 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")); 1900=> 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)); 1903=> 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")); 1906=> 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")); 1909=> 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")); 1912=> 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")); 1915=> 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")); 1924=> 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")); 1927=> 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)); 1930=> node.Update(VisitToken(node.ElseKeyword), (StatementSyntax?)Visit(node.Statement) ?? throw new ArgumentNullException("statement")); 3974public static GlobalStatementSyntax GlobalStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, StatementSyntax statement) 3981public static GlobalStatementSyntax GlobalStatement(StatementSyntax statement) 3985public static BlockSyntax Block(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken) 3993public static BlockSyntax Block(SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<StatementSyntax> statements) 3998public static BlockSyntax Block(SyntaxList<StatementSyntax> statements = default) 4157public static LabeledStatementSyntax LabeledStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) 4166public static LabeledStatementSyntax LabeledStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, StatementSyntax statement) 4170public static LabeledStatementSyntax LabeledStatement(SyntaxToken identifier, StatementSyntax statement) 4174public static LabeledStatementSyntax LabeledStatement(string identifier, StatementSyntax statement) 4316public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 4327public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement) 4331public static WhileStatementSyntax WhileStatement(ExpressionSyntax condition, StatementSyntax statement) 4335public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 4348public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, StatementSyntax statement, ExpressionSyntax condition) 4352public static DoStatementSyntax DoStatement(StatementSyntax statement, ExpressionSyntax condition) 4356public 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) 4368public static ForStatementSyntax ForStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, ExpressionSyntax? condition, SeparatedSyntaxList<ExpressionSyntax> incrementors, StatementSyntax statement) 4372public static ForStatementSyntax ForStatement(StatementSyntax statement) 4376public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4396public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4400public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4404public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, string identifier, ExpressionSyntax expression, StatementSyntax statement) 4408public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4427public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4431public static ForEachVariableStatementSyntax ForEachVariableStatement(ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4435public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 4451public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, StatementSyntax statement) 4455public static UsingStatementSyntax UsingStatement(StatementSyntax statement) 4459public static FixedStatementSyntax FixedStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) 4470public static FixedStatementSyntax FixedStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax declaration, StatementSyntax statement) 4474public static FixedStatementSyntax FixedStatement(VariableDeclarationSyntax declaration, StatementSyntax statement) 4533public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4544public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, StatementSyntax statement) 4548public static LockStatementSyntax LockStatement(ExpressionSyntax expression, StatementSyntax statement) 4552public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 4563public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement, ElseClauseSyntax? @else) 4567public static IfStatementSyntax IfStatement(ExpressionSyntax condition, StatementSyntax statement) 4571public static ElseClauseSyntax ElseClause(SyntaxToken elseKeyword, StatementSyntax statement) 4579public static ElseClauseSyntax ElseClause(StatementSyntax statement) 4605public 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) 6208private StatementSyntax? statement; 6226public StatementSyntax Statement => GetRed(ref this.statement, 2)!; 6247public GlobalStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, StatementSyntax statement) 6263public GlobalStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.Modifiers, statement); 6280public StatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeListsCore(attributeLists); 6281internal abstract StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists); 6283public StatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => AddAttributeListsCore(items); 6284internal abstract StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items); 6307public SyntaxList<StatementSyntax> Statements => new SyntaxList<StatementSyntax>(GetRed(ref this.statements, 2)); 6330public BlockSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken openBraceToken, SyntaxList<StatementSyntax> statements, SyntaxToken closeBraceToken) 6342internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6345public BlockSyntax WithStatements(SyntaxList<StatementSyntax> statements) => Update(this.AttributeLists, this.OpenBraceToken, statements, this.CloseBraceToken); 6348internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6350public BlockSyntax AddStatements(params StatementSyntax[] items) => WithStatements(this.Statements.AddRange(items)); 6451internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6463internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6478public LocalFunctionStatementSyntax AddBodyStatements(params StatementSyntax[] items) 6566internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6574internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6942internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6947internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 6989internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 6993internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7007private StatementSyntax? statement; 7022public StatementSyntax Statement => GetRed(ref this.statement, 3)!; 7043public LabeledStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) 7055internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7059public LabeledStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.Identifier, this.ColonToken, statement); 7061internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7146internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7153internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7197internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7202internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7246internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7251internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7310internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7316internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7375internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7381internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7443internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7450internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7464private StatementSyntax? statement; 7481public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 7504public WhileStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 7516internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7522public WhileStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.WhileKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement); 7524internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7537private StatementSyntax? statement; 7549public StatementSyntax Statement => GetRed(ref this.statement, 2)!; 7582public DoStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 7594internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7597public DoStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.DoKeyword, statement, this.WhileKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, this.SemicolonToken); 7604internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7621private StatementSyntax? statement; 7662public StatementSyntax Statement => GetRed(ref this.statement, 10)!; 7691public 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) 7703internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7714public 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); 7716internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7753public abstract StatementSyntax Statement { get; } 7754public CommonForEachStatementSyntax WithStatement(StatementSyntax statement) => WithStatementCore(statement); 7755internal abstract CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement); 7773private StatementSyntax? statement; 7806public override StatementSyntax Statement => GetRed(ref this.statement, 9)!; 7831public ForEachStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7843internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7859internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 7860public 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); 7862internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7877private StatementSyntax? statement; 7913public override StatementSyntax Statement => GetRed(ref this.statement, 8)!; 7938public ForEachVariableStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7950internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 7965internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 7966public new ForEachVariableStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, this.Variable, this.InKeyword, this.Expression, this.CloseParenToken, statement); 7968internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 7983private StatementSyntax? statement; 8011public StatementSyntax Statement => GetRed(ref this.statement, 7)!; 8036public UsingStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 8048internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8056public UsingStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.AwaitKeyword, this.UsingKeyword, this.OpenParenToken, this.Declaration, this.Expression, this.CloseParenToken, statement); 8058internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8072private StatementSyntax? statement; 8089public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8112public FixedStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) 8124internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8130public FixedStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.FixedKeyword, this.OpenParenToken, this.Declaration, this.CloseParenToken, statement); 8132internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8191internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8196internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8199public CheckedStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 8255internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8260internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8263public UnsafeStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 8276private StatementSyntax? statement; 8293public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8316public LockStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 8328internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8334public LockStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.LockKeyword, this.OpenParenToken, this.Expression, this.CloseParenToken, statement); 8336internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8353private StatementSyntax? statement; 8386public StatementSyntax Statement => GetRed(ref this.statement, 5)!; 8416public IfStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 8428internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8434public IfStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, this.Condition, this.CloseParenToken, statement, this.Else); 8437internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8450private StatementSyntax? statement; 8462public StatementSyntax Statement => GetRed(ref this.statement, 1)!; 8471public ElseClauseSyntax Update(SyntaxToken elseKeyword, StatementSyntax statement) 8484public ElseClauseSyntax WithStatement(StatementSyntax statement) => Update(this.ElseKeyword, statement); 8589internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 8599internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 8629public SyntaxList<StatementSyntax> Statements => new SyntaxList<StatementSyntax>(GetRed(ref this.statements, 1)); 8650public SwitchSectionSyntax Update(SyntaxList<SwitchLabelSyntax> labels, SyntaxList<StatementSyntax> statements) 8663public SwitchSectionSyntax WithStatements(SyntaxList<StatementSyntax> statements) => Update(this.Labels, statements); 8666public SwitchSectionSyntax AddStatements(params StatementSyntax[] items) => WithStatements(this.Statements.AddRange(items)); 9057internal override StatementSyntax WithAttributeListsCore(SyntaxList<AttributeListSyntax> attributeLists) => WithAttributeLists(attributeLists); 9064internal override StatementSyntax AddAttributeListsCore(params AttributeListSyntax[] items) => AddAttributeLists(items); 9067public TryStatementSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 9135public CatchClauseSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 9283public FinallyClauseSyntax AddBlockStatements(params StatementSyntax[] items) => WithBlock(this.Block.WithStatements(this.Block.Statements.AddRange(items))); 12297public BaseMethodDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) => AddBodyStatementsCore(items); 12298internal abstract BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items); 12459internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12460public new MethodDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 12605internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12606public new OperatorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 12751internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12752public new ConversionOperatorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 12875internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 12876public new ConstructorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13048internal override BaseMethodDeclarationSyntax AddBodyStatementsCore(params StatementSyntax[] items) => AddBodyStatements(items); 13049public new DestructorDeclarationSyntax AddBodyStatements(params StatementSyntax[] items) 13629public 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); 5383if (!(firstStatement is StatementSyntax firstStatementSyntax)) 5388if (!(lastStatement is StatementSyntax lastStatementSyntax)) 5403if (!(statement is StatementSyntax statementSyntax)) 5423if (!(firstStatement is StatementSyntax firstStatementSyntax)) 5428if (!(lastStatement is StatementSyntax lastStatementSyntax)) 5442case 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)
8380this.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)
5910var globalStatement = ((GlobalStatementSyntax)m).Statement; 5914var 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)
331var 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)
164var 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)
164var 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 (1)
Microsoft.NetCore.Analyzers\Performance\CSharpPreferHashDataOverComputeHash.Fixer.cs (1)
152var statement = s;
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)
331var 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 (7)
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (1)
40public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\KeepAliveThisMarshaller.cs (1)
18public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\ManagedHResultExceptionGeneratorResolver.cs (2)
39public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context) 73public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\ObjectUnwrapperResolver.cs (1)
34public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
Marshallers\StructAsHResultMarshallerFactory.cs (1)
32public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context)
VirtualMethodPointerStubGenerator.cs (1)
46var setupStatements = new List<StatementSyntax>
Microsoft.Interop.JavaScript.JSImportGenerator (24)
Comparers.cs (2)
16public static readonly IEqualityComparer<(MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax)> GeneratedSyntax3 = 17new CustomValueTupleElementComparer<MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax>(
JSExportGenerator.cs (7)
53IncrementalValuesProvider<(MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax)> generateSingleStub = methodsToGenerate 71IncrementalValueProvider<ImmutableArray<(StatementSyntax, AttributeListSyntax)>> regSyntax = generateSingleStub 189ImmutableArray<(StatementSyntax Registration, AttributeListSyntax Attribute)> methods, string assemblyName) 198var registerStatements = new List<StatementSyntax>(); 276private static StatementSyntax[] GenerateJSExportArchitectureCheck() 293private static (MemberDeclarationSyntax, StatementSyntax, AttributeListSyntax) GenerateSource( 345StatementSyntax registration = GenerateJSExportRegistration(incrementalContext.SignatureContext);
JSImportGenerator.cs (3)
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)
331var 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)