46 types derived from ExpressionSyntax
Microsoft.CodeAnalysis.CSharp (46)
_generated\2\Syntax.xml.Syntax.Generated.cs (46)
309public abstract partial class TypeSyntax : ExpressionSyntax 1105public sealed partial class ParenthesizedExpressionSyntax : ExpressionSyntax 1154public sealed partial class TupleExpressionSyntax : ExpressionSyntax 1220public sealed partial class PrefixUnaryExpressionSyntax : ExpressionSyntax 1265public sealed partial class AwaitExpressionSyntax : ExpressionSyntax 1312public sealed partial class PostfixUnaryExpressionSyntax : ExpressionSyntax 1358public sealed partial class MemberAccessExpressionSyntax : ExpressionSyntax 1420public sealed partial class ConditionalAccessExpressionSyntax : ExpressionSyntax 1482public sealed partial class MemberBindingExpressionSyntax : ExpressionSyntax 1527public sealed partial class ElementBindingExpressionSyntax : ExpressionSyntax 1570public sealed partial class RangeExpressionSyntax : ExpressionSyntax 1632public sealed partial class ImplicitElementAccessSyntax : ExpressionSyntax 1696public sealed partial class BinaryExpressionSyntax : ExpressionSyntax 1770public sealed partial class AssignmentExpressionSyntax : ExpressionSyntax 1832public sealed partial class ConditionalExpressionSyntax : ExpressionSyntax 1899public abstract partial class InstanceExpressionSyntax : ExpressionSyntax 2002public sealed partial class LiteralExpressionSyntax : ExpressionSyntax 2042public sealed partial class FieldExpressionSyntax : ExpressionSyntax 2082public sealed partial class MakeRefExpressionSyntax : ExpressionSyntax 2135public sealed partial class RefTypeExpressionSyntax : ExpressionSyntax 2188public sealed partial class RefValueExpressionSyntax : ExpressionSyntax 2263public sealed partial class CheckedExpressionSyntax : ExpressionSyntax 2316public sealed partial class DefaultExpressionSyntax : ExpressionSyntax 2369public sealed partial class TypeOfExpressionSyntax : ExpressionSyntax 2422public sealed partial class SizeOfExpressionSyntax : ExpressionSyntax 2475public sealed partial class InvocationExpressionSyntax : ExpressionSyntax 2535public sealed partial class ElementAccessExpressionSyntax : ExpressionSyntax 2907public sealed partial class DeclarationExpressionSyntax : ExpressionSyntax 2964public sealed partial class CastExpressionSyntax : ExpressionSyntax 3024public abstract partial class AnonymousFunctionExpressionSyntax : ExpressionSyntax 3313public sealed partial class RefExpressionSyntax : ExpressionSyntax 3480public sealed partial class InitializerExpressionSyntax : ExpressionSyntax 3531public abstract partial class BaseObjectCreationExpressionSyntax : ExpressionSyntax 3710public sealed partial class WithExpressionSyntax : ExpressionSyntax 3829public sealed partial class AnonymousObjectCreationExpressionSyntax : ExpressionSyntax 3891public sealed partial class ArrayCreationExpressionSyntax : ExpressionSyntax 3955public sealed partial class ImplicitArrayCreationExpressionSyntax : ExpressionSyntax 4022public sealed partial class StackAllocArrayCreationExpressionSyntax : ExpressionSyntax 4084public sealed partial class ImplicitStackAllocArrayCreationExpressionSyntax : ExpressionSyntax 4138public sealed partial class CollectionExpressionSyntax : ExpressionSyntax 4343public sealed partial class QueryExpressionSyntax : ExpressionSyntax 5003public sealed partial class OmittedArraySizeExpressionSyntax : ExpressionSyntax 5042public sealed partial class InterpolatedStringExpressionSyntax : ExpressionSyntax 5093public sealed partial class IsPatternExpressionSyntax : ExpressionSyntax 5153public sealed partial class ThrowExpressionSyntax : ExpressionSyntax 8863public sealed partial class SwitchExpressionSyntax : ExpressionSyntax
3585 references to ExpressionSyntax
Microsoft.Analyzers.Extra (11)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (10)
70internal async Task<(ExpressionSyntax? invocationExpression, FixDetails? details)> 74if (root?.FindNode(span) is not ExpressionSyntax invocationExpression) 136ExpressionSyntax invocationExpression, 320private static async Task<(Document document, ExpressionSyntax expressionSyntax)> 321RemapAsync(Solution sol, DocumentId docId, ExpressionSyntax invocationExpression) 326return (doc, (root!.FindNode(invocationExpression.Span) as ExpressionSyntax)!); 465ExpressionSyntax invocationExpression, 524invocationExpression = (ExpressionSyntax)invocationExpression.Parent; 535private async Task<Solution> ApplyFixAsync(Document invocationDoc, ExpressionSyntax invocationExpression, FixDetails details, CancellationToken cancellationToken) 573ExpressionSyntax invocationExpression,
Utilities\SyntaxNodeExtensions.cs (1)
133public static bool IdentifierNameEquals(this ExpressionSyntax expression, string expectedName)
Microsoft.AspNetCore.App.Analyzers (2)
Infrastructure\VirtualChars\CSharpVirtualCharService.cs (1)
184SyntaxToken token, ExpressionSyntax parentExpression, bool tokenIncludeDelimiters)
RouteEmbeddedLanguage\Infrastructure\RouteUsageDetector.cs (1)
53ExpressionSyntax DelegateExpression);
Microsoft.AspNetCore.App.CodeFixes (1)
Kestrel\ListenOnIPv6AnyFixer.cs (1)
56var instanceVariableInvoked = memberAccessExpressionSyntax.Expression;
Microsoft.AspNetCore.Components.Analyzers (2)
PersistentStateAnalyzer.cs (1)
85private static bool IsDefaultValueInitializer(ExpressionSyntax expression)
SupplyParameterFromFormAnalyzer.cs (1)
85private static bool IsDefaultValueInitializer(ExpressionSyntax expression)
Microsoft.AspNetCore.Mvc.Api.Analyzers (3)
AddResponseTypeAttributeCodeFixAction.cs (3)
204var statusCodeSyntax = CreateStatusCodeSyntax(context, statusCode, out addUsingDirective); 217var statusCodeSyntax = CreateStatusCodeSyntax(context, statusCode, out addUsingDirective); 230private static ExpressionSyntax CreateStatusCodeSyntax(CodeActionContext context, int statusCode, out bool addUsingDirective)
Microsoft.CodeAnalysis.CSharp (1015)
_generated\0\Syntax.xml.Main.Generated.cs (249)
1575=> node.Update(VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1581=> node.Update(VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Operand) ?? throw new ArgumentNullException("operand")); 1584=> node.Update(VisitToken(node.AwaitKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1587=> node.Update((ExpressionSyntax?)Visit(node.Operand) ?? throw new ArgumentNullException("operand"), VisitToken(node.OperatorToken)); 1590=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.OperatorToken), (SimpleNameSyntax?)Visit(node.Name) ?? throw new ArgumentNullException("name")); 1593=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.WhenNotNull) ?? throw new ArgumentNullException("whenNotNull")); 1602=> node.Update((ExpressionSyntax?)Visit(node.LeftOperand), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.RightOperand)); 1608=> node.Update((ExpressionSyntax?)Visit(node.Left) ?? throw new ArgumentNullException("left"), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Right) ?? throw new ArgumentNullException("right")); 1611=> node.Update((ExpressionSyntax?)Visit(node.Left) ?? throw new ArgumentNullException("left"), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Right) ?? throw new ArgumentNullException("right")); 1614=> node.Update((ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition"), VisitToken(node.QuestionToken), (ExpressionSyntax?)Visit(node.WhenTrue) ?? throw new ArgumentNullException("whenTrue"), VisitToken(node.ColonToken), (ExpressionSyntax?)Visit(node.WhenFalse) ?? throw new ArgumentNullException("whenFalse")); 1629=> node.Update(VisitToken(node.Keyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1632=> node.Update(VisitToken(node.Keyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1635=> node.Update(VisitToken(node.Keyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.Comma), (TypeSyntax?)Visit(node.Type) ?? throw new ArgumentNullException("type"), VisitToken(node.CloseParenToken)); 1638=> node.Update(VisitToken(node.Keyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1650=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), (ArgumentListSyntax?)Visit(node.ArgumentList) ?? throw new ArgumentNullException("argumentList")); 1653=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), (BracketedArgumentListSyntax?)Visit(node.ArgumentList) ?? throw new ArgumentNullException("argumentList")); 1662=> node.Update((NameColonSyntax?)Visit(node.NameColon), VisitToken(node.RefKindKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1665=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.ColonToken)); 1674=> node.Update(VisitToken(node.OpenParenToken), (TypeSyntax?)Visit(node.Type) ?? throw new ArgumentNullException("type"), VisitToken(node.CloseParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1677=> node.Update(VisitList(node.Modifiers), VisitToken(node.DelegateKeyword), (ParameterListSyntax?)Visit(node.ParameterList), (BlockSyntax?)Visit(node.Block) ?? throw new ArgumentNullException("block"), (ExpressionSyntax?)Visit(node.ExpressionBody)); 1680=> node.Update(VisitList(node.AttributeLists), VisitList(node.Modifiers), (ParameterSyntax?)Visit(node.Parameter) ?? throw new ArgumentNullException("parameter"), VisitToken(node.ArrowToken), (BlockSyntax?)Visit(node.Block), (ExpressionSyntax?)Visit(node.ExpressionBody)); 1683=> node.Update(VisitToken(node.RefKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1686=> node.Update(VisitList(node.AttributeLists), VisitList(node.Modifiers), (TypeSyntax?)Visit(node.ReturnType), (ParameterListSyntax?)Visit(node.ParameterList) ?? throw new ArgumentNullException("parameterList"), VisitToken(node.ArrowToken), (BlockSyntax?)Visit(node.Block), (ExpressionSyntax?)Visit(node.ExpressionBody)); 1698=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.WithKeyword), (InitializerExpressionSyntax?)Visit(node.Initializer) ?? throw new ArgumentNullException("initializer")); 1701=> node.Update((NameEqualsSyntax?)Visit(node.NameEquals), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1722=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1725=> node.Update(VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1738=> node.Update(VisitToken(node.FromKeyword), (TypeSyntax?)Visit(node.Type), VisitToken(node.Identifier), VisitToken(node.InKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1741=> node.Update(VisitToken(node.LetKeyword), VisitToken(node.Identifier), VisitToken(node.EqualsToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1744=> node.Update(VisitToken(node.JoinKeyword), (TypeSyntax?)Visit(node.Type), VisitToken(node.Identifier), VisitToken(node.InKeyword), (ExpressionSyntax?)Visit(node.InExpression) ?? throw new ArgumentNullException("inExpression"), VisitToken(node.OnKeyword), (ExpressionSyntax?)Visit(node.LeftExpression) ?? throw new ArgumentNullException("leftExpression"), VisitToken(node.EqualsKeyword), (ExpressionSyntax?)Visit(node.RightExpression) ?? throw new ArgumentNullException("rightExpression"), (JoinIntoClauseSyntax?)Visit(node.Into)); 1750=> node.Update(VisitToken(node.WhereKeyword), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition")); 1756=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.AscendingOrDescendingKeyword)); 1759=> node.Update(VisitToken(node.SelectKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1762=> node.Update(VisitToken(node.GroupKeyword), (ExpressionSyntax?)Visit(node.GroupExpression) ?? throw new ArgumentNullException("groupExpression"), VisitToken(node.ByKeyword), (ExpressionSyntax?)Visit(node.ByExpression) ?? throw new ArgumentNullException("byExpression")); 1774=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.IsKeyword), (PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern")); 1777=> node.Update(VisitToken(node.ThrowKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1780=> node.Update(VisitToken(node.WhenKeyword), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition")); 1804=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1810=> node.Update(VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1831=> node.Update(VisitToken(node.OpenBraceToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), (InterpolationAlignmentClauseSyntax?)Visit(node.AlignmentClause), (InterpolationFormatClauseSyntax?)Visit(node.FormatClause), VisitToken(node.CloseBraceToken)); 1834=> node.Update(VisitToken(node.CommaToken), (ExpressionSyntax?)Visit(node.Value) ?? throw new ArgumentNullException("value")); 1858=> node.Update(VisitToken(node.EqualsToken), (ExpressionSyntax?)Visit(node.Value) ?? throw new ArgumentNullException("value")); 1870=> node.Update(VisitList(node.AttributeLists), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.SemicolonToken)); 1879=> node.Update(VisitList(node.AttributeLists), VisitToken(node.GotoKeyword), VisitToken(node.CaseOrDefaultKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 1888=> node.Update(VisitList(node.AttributeLists), VisitToken(node.ReturnKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 1891=> node.Update(VisitList(node.AttributeLists), VisitToken(node.ThrowKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 1894=> node.Update(VisitList(node.AttributeLists), VisitToken(node.YieldKeyword), VisitToken(node.ReturnOrBreakKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 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")); 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)); 1933=> node.Update(VisitList(node.AttributeLists), VisitToken(node.SwitchKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken), VisitToken(node.OpenBraceToken), VisitList(node.Sections), VisitToken(node.CloseBraceToken)); 1942=> node.Update(VisitToken(node.Keyword), (ExpressionSyntax?)Visit(node.Value) ?? throw new ArgumentNullException("value"), VisitToken(node.ColonToken)); 1948=> node.Update((ExpressionSyntax?)Visit(node.GoverningExpression) ?? throw new ArgumentNullException("governingExpression"), VisitToken(node.SwitchKeyword), VisitToken(node.OpenBraceToken), VisitList(node.Arms), VisitToken(node.CloseBraceToken)); 1951=> node.Update((PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern"), (WhenClauseSyntax?)Visit(node.WhenClause), VisitToken(node.EqualsGreaterThanToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1963=> node.Update(VisitToken(node.WhenKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.FilterExpression) ?? throw new ArgumentNullException("filterExpression"), VisitToken(node.CloseParenToken)); 1996=> node.Update((NameEqualsSyntax?)Visit(node.NameEquals), (NameColonSyntax?)Visit(node.NameColon), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 2092=> node.Update(VisitToken(node.ArrowToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 2197=> node.Update(VisitToken(node.HashToken), VisitToken(node.IfKeyword), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition"), VisitToken(node.EndOfDirectiveToken), node.IsActive, node.BranchTaken, node.ConditionValue); 2200=> node.Update(VisitToken(node.HashToken), VisitToken(node.ElifKeyword), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition"), VisitToken(node.EndOfDirectiveToken), node.IsActive, node.BranchTaken, node.ConditionValue); 2371public static ArrayRankSpecifierSyntax ArrayRankSpecifier(SyntaxToken openBracketToken, SeparatedSyntaxList<ExpressionSyntax> sizes, SyntaxToken closeBracketToken) 2379public static ArrayRankSpecifierSyntax ArrayRankSpecifier(SeparatedSyntaxList<ExpressionSyntax> sizes = default) 2541public static ParenthesizedExpressionSyntax ParenthesizedExpression(SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 2550public static ParenthesizedExpressionSyntax ParenthesizedExpression(ExpressionSyntax expression) 2566public static PrefixUnaryExpressionSyntax PrefixUnaryExpression(SyntaxKind kind, SyntaxToken operatorToken, ExpressionSyntax operand) 2599public static PrefixUnaryExpressionSyntax PrefixUnaryExpression(SyntaxKind kind, ExpressionSyntax operand) 2618public static AwaitExpressionSyntax AwaitExpression(SyntaxToken awaitKeyword, ExpressionSyntax expression) 2626public static AwaitExpressionSyntax AwaitExpression(ExpressionSyntax expression) 2630public static PostfixUnaryExpressionSyntax PostfixUnaryExpression(SyntaxKind kind, ExpressionSyntax operand, SyntaxToken operatorToken) 2651public static PostfixUnaryExpressionSyntax PostfixUnaryExpression(SyntaxKind kind, ExpressionSyntax operand) 2664public static MemberAccessExpressionSyntax MemberAccessExpression(SyntaxKind kind, ExpressionSyntax expression, SyntaxToken operatorToken, SimpleNameSyntax name) 2684public static MemberAccessExpressionSyntax MemberAccessExpression(SyntaxKind kind, ExpressionSyntax expression, SimpleNameSyntax name) 2696public static ConditionalAccessExpressionSyntax ConditionalAccessExpression(ExpressionSyntax expression, SyntaxToken operatorToken, ExpressionSyntax whenNotNull) 2705public static ConditionalAccessExpressionSyntax ConditionalAccessExpression(ExpressionSyntax expression, ExpressionSyntax whenNotNull) 2732public static RangeExpressionSyntax RangeExpression(ExpressionSyntax? leftOperand, SyntaxToken operatorToken, ExpressionSyntax? rightOperand) 2739public static RangeExpressionSyntax RangeExpression(ExpressionSyntax? leftOperand, ExpressionSyntax? rightOperand) 2758public static BinaryExpressionSyntax BinaryExpression(SyntaxKind kind, ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 2818public static BinaryExpressionSyntax BinaryExpression(SyntaxKind kind, ExpressionSyntax left, ExpressionSyntax right) 2850public static AssignmentExpressionSyntax AssignmentExpression(SyntaxKind kind, ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 2892public static AssignmentExpressionSyntax AssignmentExpression(SyntaxKind kind, ExpressionSyntax left, ExpressionSyntax right) 2915public static ConditionalExpressionSyntax ConditionalExpression(ExpressionSyntax condition, SyntaxToken questionToken, ExpressionSyntax whenTrue, SyntaxToken colonToken, ExpressionSyntax whenFalse) 2926public static ConditionalExpressionSyntax ConditionalExpression(ExpressionSyntax condition, ExpressionSyntax whenTrue, ExpressionSyntax whenFalse) 2999public static MakeRefExpressionSyntax MakeRefExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 3009public static MakeRefExpressionSyntax MakeRefExpression(ExpressionSyntax expression) 3013public static RefTypeExpressionSyntax RefTypeExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 3023public static RefTypeExpressionSyntax RefTypeExpression(ExpressionSyntax expression) 3027public static RefValueExpressionSyntax RefValueExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken comma, TypeSyntax type, SyntaxToken closeParenToken) 3039public static RefValueExpressionSyntax RefValueExpression(ExpressionSyntax expression, TypeSyntax type) 3043public static CheckedExpressionSyntax CheckedExpression(SyntaxKind kind, SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 3064public static CheckedExpressionSyntax CheckedExpression(SyntaxKind kind, ExpressionSyntax expression) 3118public static InvocationExpressionSyntax InvocationExpression(ExpressionSyntax expression, ArgumentListSyntax argumentList) 3126public static InvocationExpressionSyntax InvocationExpression(ExpressionSyntax expression) 3130public static ElementAccessExpressionSyntax ElementAccessExpression(ExpressionSyntax expression, BracketedArgumentListSyntax argumentList) 3138public static ElementAccessExpressionSyntax ElementAccessExpression(ExpressionSyntax expression) 3166public static ArgumentSyntax Argument(NameColonSyntax? nameColon, SyntaxToken refKindKeyword, ExpressionSyntax expression) 3181public static ArgumentSyntax Argument(ExpressionSyntax expression) 3185public static ExpressionColonSyntax ExpressionColon(ExpressionSyntax expression, SyntaxToken colonToken) 3209public static CastExpressionSyntax CastExpression(SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken, ExpressionSyntax expression) 3219public static CastExpressionSyntax CastExpression(TypeSyntax type, ExpressionSyntax expression) 3223public static AnonymousMethodExpressionSyntax AnonymousMethodExpression(SyntaxTokenList modifiers, SyntaxToken delegateKeyword, ParameterListSyntax? parameterList, BlockSyntax block, ExpressionSyntax? expressionBody) 3231public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 3239public static RefExpressionSyntax RefExpression(SyntaxToken refKeyword, ExpressionSyntax expression) 3247public static RefExpressionSyntax RefExpression(ExpressionSyntax expression) 3251public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, TypeSyntax? returnType, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 3259public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, TypeSyntax? returnType, ParameterListSyntax parameterList, BlockSyntax? block, ExpressionSyntax? expressionBody) 3267public static InitializerExpressionSyntax InitializerExpression(SyntaxKind kind, SyntaxToken openBraceToken, SeparatedSyntaxList<ExpressionSyntax> expressions, SyntaxToken closeBraceToken) 3284public static InitializerExpressionSyntax InitializerExpression(SyntaxKind kind, SeparatedSyntaxList<ExpressionSyntax> expressions = default) 3320public static WithExpressionSyntax WithExpression(ExpressionSyntax expression, SyntaxToken withKeyword, InitializerExpressionSyntax initializer) 3329public static WithExpressionSyntax WithExpression(ExpressionSyntax expression, InitializerExpressionSyntax initializer) 3333public static AnonymousObjectMemberDeclaratorSyntax AnonymousObjectMemberDeclarator(NameEqualsSyntax? nameEquals, ExpressionSyntax expression) 3340public static AnonymousObjectMemberDeclaratorSyntax AnonymousObjectMemberDeclarator(ExpressionSyntax expression) 3433public static ExpressionElementSyntax ExpressionElement(ExpressionSyntax expression) 3440public static SpreadElementSyntax SpreadElement(SyntaxToken operatorToken, ExpressionSyntax expression) 3448public static SpreadElementSyntax SpreadElement(ExpressionSyntax expression) 3485public static FromClauseSyntax FromClause(SyntaxToken fromKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression) 3495public static FromClauseSyntax FromClause(TypeSyntax? type, SyntaxToken identifier, ExpressionSyntax expression) 3499public static FromClauseSyntax FromClause(SyntaxToken identifier, ExpressionSyntax expression) 3503public static FromClauseSyntax FromClause(string identifier, ExpressionSyntax expression) 3507public static LetClauseSyntax LetClause(SyntaxToken letKeyword, SyntaxToken identifier, SyntaxToken equalsToken, ExpressionSyntax expression) 3517public static LetClauseSyntax LetClause(SyntaxToken identifier, ExpressionSyntax expression) 3521public static LetClauseSyntax LetClause(string identifier, ExpressionSyntax expression) 3525public static JoinClauseSyntax JoinClause(SyntaxToken joinKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax inExpression, SyntaxToken onKeyword, ExpressionSyntax leftExpression, SyntaxToken equalsKeyword, ExpressionSyntax rightExpression, JoinIntoClauseSyntax? into) 3539public static JoinClauseSyntax JoinClause(TypeSyntax? type, SyntaxToken identifier, ExpressionSyntax inExpression, ExpressionSyntax leftExpression, ExpressionSyntax rightExpression, JoinIntoClauseSyntax? into) 3543public static JoinClauseSyntax JoinClause(SyntaxToken identifier, ExpressionSyntax inExpression, ExpressionSyntax leftExpression, ExpressionSyntax rightExpression) 3547public static JoinClauseSyntax JoinClause(string identifier, ExpressionSyntax inExpression, ExpressionSyntax leftExpression, ExpressionSyntax rightExpression) 3567public static WhereClauseSyntax WhereClause(SyntaxToken whereKeyword, ExpressionSyntax condition) 3575public static WhereClauseSyntax WhereClause(ExpressionSyntax condition) 3590public static OrderingSyntax Ordering(SyntaxKind kind, ExpressionSyntax expression, SyntaxToken ascendingOrDescendingKeyword) 3610public static OrderingSyntax Ordering(SyntaxKind kind, ExpressionSyntax expression) 3622public static SelectClauseSyntax SelectClause(SyntaxToken selectKeyword, ExpressionSyntax expression) 3630public static SelectClauseSyntax SelectClause(ExpressionSyntax expression) 3634public static GroupClauseSyntax GroupClause(SyntaxToken groupKeyword, ExpressionSyntax groupExpression, SyntaxToken byKeyword, ExpressionSyntax byExpression) 3644public static GroupClauseSyntax GroupClause(ExpressionSyntax groupExpression, ExpressionSyntax byExpression) 3700public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 3709public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, PatternSyntax pattern) 3713public static ThrowExpressionSyntax ThrowExpression(SyntaxToken throwKeyword, ExpressionSyntax expression) 3721public static ThrowExpressionSyntax ThrowExpression(ExpressionSyntax expression) 3725public static WhenClauseSyntax WhenClause(SyntaxToken whenKeyword, ExpressionSyntax condition) 3733public static WhenClauseSyntax WhenClause(ExpressionSyntax condition) 3813public static ConstantPatternSyntax ConstantPattern(ExpressionSyntax expression) 3833public static RelationalPatternSyntax RelationalPattern(SyntaxToken operatorToken, ExpressionSyntax expression) 3939public static InterpolationSyntax Interpolation(SyntaxToken openBraceToken, ExpressionSyntax expression, InterpolationAlignmentClauseSyntax? alignmentClause, InterpolationFormatClauseSyntax? formatClause, SyntaxToken closeBraceToken) 3948public static InterpolationSyntax Interpolation(ExpressionSyntax expression, InterpolationAlignmentClauseSyntax? alignmentClause, InterpolationFormatClauseSyntax? formatClause) 3952public static InterpolationSyntax Interpolation(ExpressionSyntax expression) 3956public static InterpolationAlignmentClauseSyntax InterpolationAlignmentClause(SyntaxToken commaToken, ExpressionSyntax value) 4084public static EqualsValueClauseSyntax EqualsValueClause(SyntaxToken equalsToken, ExpressionSyntax value) 4092public static EqualsValueClauseSyntax EqualsValueClause(ExpressionSyntax value) 4126public static ExpressionStatementSyntax ExpressionStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, SyntaxToken semicolonToken) 4134public static ExpressionStatementSyntax ExpressionStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression) 4138public static ExpressionStatementSyntax ExpressionStatement(ExpressionSyntax expression) 4178public static GotoStatementSyntax GotoStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken gotoKeyword, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4200public static GotoStatementSyntax GotoStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax? expression) 4205public static GotoStatementSyntax GotoStatement(SyntaxKind kind, ExpressionSyntax? expression = default) 4242public static ReturnStatementSyntax ReturnStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4250public static ReturnStatementSyntax ReturnStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax? expression) 4255public static ReturnStatementSyntax ReturnStatement(ExpressionSyntax? expression = default) 4260public static ThrowStatementSyntax ThrowStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken throwKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4268public static ThrowStatementSyntax ThrowStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax? expression) 4273public static ThrowStatementSyntax ThrowStatement(ExpressionSyntax? expression = default) 4278public static YieldStatementSyntax YieldStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken yieldKeyword, SyntaxToken returnOrBreakKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4298public static YieldStatementSyntax YieldStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax? expression) 4303public static YieldStatementSyntax YieldStatement(SyntaxKind kind, ExpressionSyntax? expression = default) 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) 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) 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) 4583public static SwitchStatementSyntax SwitchStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken) 4632public static CaseSwitchLabelSyntax CaseSwitchLabel(SyntaxToken keyword, ExpressionSyntax value, SyntaxToken colonToken) 4641public static CaseSwitchLabelSyntax CaseSwitchLabel(ExpressionSyntax value, SyntaxToken colonToken) 4657public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 4667public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) 4671public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression) 4675public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken equalsGreaterThanToken, ExpressionSyntax expression) 4684public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, WhenClauseSyntax? whenClause, ExpressionSyntax expression) 4688public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, ExpressionSyntax expression) 4749public static CatchFilterClauseSyntax CatchFilterClause(SyntaxToken whenKeyword, SyntaxToken openParenToken, ExpressionSyntax filterExpression, SyntaxToken closeParenToken) 4759public static CatchFilterClauseSyntax CatchFilterClause(ExpressionSyntax filterExpression) 4934public static AttributeArgumentSyntax AttributeArgument(NameEqualsSyntax? nameEquals, NameColonSyntax? nameColon, ExpressionSyntax expression) 4941public static AttributeArgumentSyntax AttributeArgument(ExpressionSyntax expression) 5675public static ArrowExpressionClauseSyntax ArrowExpressionClause(SyntaxToken arrowToken, ExpressionSyntax expression) 5683public static ArrowExpressionClauseSyntax ArrowExpressionClause(ExpressionSyntax expression) 6311public static IfDirectiveTriviaSyntax IfDirectiveTrivia(SyntaxToken hashToken, SyntaxToken ifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 6321public static IfDirectiveTriviaSyntax IfDirectiveTrivia(ExpressionSyntax condition, bool isActive, bool branchTaken, bool conditionValue) 6325public static ElifDirectiveTriviaSyntax ElifDirectiveTrivia(SyntaxToken hashToken, SyntaxToken elifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 6335public static ElifDirectiveTriviaSyntax ElifDirectiveTrivia(ExpressionSyntax condition, bool isActive, bool branchTaken, bool conditionValue) 6537public static PragmaWarningDirectiveTriviaSyntax PragmaWarningDirectiveTrivia(SyntaxToken hashToken, SyntaxToken pragmaKeyword, SyntaxToken warningKeyword, SyntaxToken disableOrRestoreKeyword, SeparatedSyntaxList<ExpressionSyntax> errorCodes, SyntaxToken endOfDirectiveToken, bool isActive) 6553public static PragmaWarningDirectiveTriviaSyntax PragmaWarningDirectiveTrivia(SyntaxToken disableOrRestoreKeyword, SeparatedSyntaxList<ExpressionSyntax> errorCodes, bool isActive)
_generated\2\Syntax.xml.Syntax.Generated.cs (345)
434public SeparatedSyntaxList<ExpressionSyntax> Sizes 439return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(1)) : default; 452public ArrayRankSpecifierSyntax Update(SyntaxToken openBracketToken, SeparatedSyntaxList<ExpressionSyntax> sizes, SyntaxToken closeBracketToken) 465public ArrayRankSpecifierSyntax WithSizes(SeparatedSyntaxList<ExpressionSyntax> sizes) => Update(this.OpenBracketToken, sizes, this.CloseBracketToken); 468public ArrayRankSpecifierSyntax AddSizes(params ExpressionSyntax[] items) => WithSizes(this.Sizes.AddRange(items)); 1107private ExpressionSyntax? expression; 1118public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 1130public ParenthesizedExpressionSyntax Update(SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 1143public ParenthesizedExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.OpenParenToken, expression, this.CloseParenToken); 1222private ExpressionSyntax? operand; 1233public ExpressionSyntax Operand => GetRed(ref this.operand, 1)!; 1242public PrefixUnaryExpressionSyntax Update(SyntaxToken operatorToken, ExpressionSyntax operand) 1255public PrefixUnaryExpressionSyntax WithOperand(ExpressionSyntax operand) => Update(this.OperatorToken, operand); 1267private ExpressionSyntax? expression; 1278public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 1287public AwaitExpressionSyntax Update(SyntaxToken awaitKeyword, ExpressionSyntax expression) 1300public AwaitExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.AwaitKeyword, expression); 1314private ExpressionSyntax? operand; 1322public ExpressionSyntax Operand => GetRedAtZero(ref this.operand)!; 1334public PostfixUnaryExpressionSyntax Update(ExpressionSyntax operand, SyntaxToken operatorToken) 1346public PostfixUnaryExpressionSyntax WithOperand(ExpressionSyntax operand) => Update(operand, this.OperatorToken); 1360private ExpressionSyntax? expression; 1369public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 1396public MemberAccessExpressionSyntax Update(ExpressionSyntax expression, SyntaxToken operatorToken, SimpleNameSyntax name) 1408public MemberAccessExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.OperatorToken, this.Name); 1422private ExpressionSyntax? expression; 1423private ExpressionSyntax? whenNotNull; 1431public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 1437public ExpressionSyntax WhenNotNull => GetRed(ref this.whenNotNull, 2)!; 1458public ConditionalAccessExpressionSyntax Update(ExpressionSyntax expression, SyntaxToken operatorToken, ExpressionSyntax whenNotNull) 1470public ConditionalAccessExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.OperatorToken, this.WhenNotNull); 1472public ConditionalAccessExpressionSyntax WithWhenNotNull(ExpressionSyntax whenNotNull) => Update(this.Expression, this.OperatorToken, whenNotNull); 1572private ExpressionSyntax? leftOperand; 1573private ExpressionSyntax? rightOperand; 1581public ExpressionSyntax? LeftOperand => GetRedAtZero(ref this.leftOperand); 1587public ExpressionSyntax? RightOperand => GetRed(ref this.rightOperand, 2); 1608public RangeExpressionSyntax Update(ExpressionSyntax? leftOperand, SyntaxToken operatorToken, ExpressionSyntax? rightOperand) 1620public RangeExpressionSyntax WithLeftOperand(ExpressionSyntax? leftOperand) => Update(leftOperand, this.OperatorToken, this.RightOperand); 1622public RangeExpressionSyntax WithRightOperand(ExpressionSyntax? rightOperand) => Update(this.LeftOperand, this.OperatorToken, rightOperand); 1698private ExpressionSyntax? left; 1699private ExpressionSyntax? right; 1707public ExpressionSyntax Left => GetRedAtZero(ref this.left)!; 1713public ExpressionSyntax Right => GetRed(ref this.right, 2)!; 1734public BinaryExpressionSyntax Update(ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 1746public BinaryExpressionSyntax WithLeft(ExpressionSyntax left) => Update(left, this.OperatorToken, this.Right); 1748public BinaryExpressionSyntax WithRight(ExpressionSyntax right) => Update(this.Left, this.OperatorToken, right); 1772private ExpressionSyntax? left; 1773private ExpressionSyntax? right; 1781public ExpressionSyntax Left => GetRedAtZero(ref this.left)!; 1787public ExpressionSyntax Right => GetRed(ref this.right, 2)!; 1808public AssignmentExpressionSyntax Update(ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 1820public AssignmentExpressionSyntax WithLeft(ExpressionSyntax left) => Update(left, this.OperatorToken, this.Right); 1822public AssignmentExpressionSyntax WithRight(ExpressionSyntax right) => Update(this.Left, this.OperatorToken, right); 1834private ExpressionSyntax? condition; 1835private ExpressionSyntax? whenTrue; 1836private ExpressionSyntax? whenFalse; 1844public ExpressionSyntax Condition => GetRedAtZero(ref this.condition)!; 1850public ExpressionSyntax WhenTrue => GetRed(ref this.whenTrue, 2)!; 1856public ExpressionSyntax WhenFalse => GetRed(ref this.whenFalse, 4)!; 1879public ConditionalExpressionSyntax Update(ExpressionSyntax condition, SyntaxToken questionToken, ExpressionSyntax whenTrue, SyntaxToken colonToken, ExpressionSyntax whenFalse) 1891public ConditionalExpressionSyntax WithCondition(ExpressionSyntax condition) => Update(condition, this.QuestionToken, this.WhenTrue, this.ColonToken, this.WhenFalse); 1893public ConditionalExpressionSyntax WithWhenTrue(ExpressionSyntax whenTrue) => Update(this.Condition, this.QuestionToken, whenTrue, this.ColonToken, this.WhenFalse); 1895public ConditionalExpressionSyntax WithWhenFalse(ExpressionSyntax whenFalse) => Update(this.Condition, this.QuestionToken, this.WhenTrue, this.ColonToken, whenFalse); 2084private ExpressionSyntax? expression; 2098public ExpressionSyntax Expression => GetRed(ref this.expression, 2)!; 2110public MakeRefExpressionSyntax Update(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 2124public MakeRefExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.Keyword, this.OpenParenToken, expression, this.CloseParenToken); 2137private ExpressionSyntax? expression; 2151public ExpressionSyntax Expression => GetRed(ref this.expression, 2)!; 2163public RefTypeExpressionSyntax Update(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 2177public RefTypeExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.Keyword, this.OpenParenToken, expression, this.CloseParenToken); 2190private ExpressionSyntax? expression; 2205public ExpressionSyntax Expression => GetRed(ref this.expression, 2)!; 2235public RefValueExpressionSyntax Update(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken comma, TypeSyntax type, SyntaxToken closeParenToken) 2249public RefValueExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.Keyword, this.OpenParenToken, expression, this.Comma, this.Type, this.CloseParenToken); 2265private ExpressionSyntax? expression; 2279public ExpressionSyntax Expression => GetRed(ref this.expression, 2)!; 2291public CheckedExpressionSyntax Update(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 2305public CheckedExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.Keyword, this.OpenParenToken, expression, this.CloseParenToken); 2477private ExpressionSyntax? expression; 2486public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 2510public InvocationExpressionSyntax Update(ExpressionSyntax expression, ArgumentListSyntax argumentList) 2522public InvocationExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.ArgumentList); 2537private ExpressionSyntax? expression; 2546public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 2570public ElementAccessExpressionSyntax Update(ExpressionSyntax expression, BracketedArgumentListSyntax argumentList) 2582public ElementAccessExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.ArgumentList); 2735private ExpressionSyntax? expression; 2756public ExpressionSyntax Expression => GetRed(ref this.expression, 2)!; 2777public ArgumentSyntax Update(NameColonSyntax? nameColon, SyntaxToken refKindKeyword, ExpressionSyntax expression) 2791public ArgumentSyntax WithExpression(ExpressionSyntax expression) => Update(this.NameColon, this.RefKindKeyword, expression); 2801public abstract ExpressionSyntax Expression { get; } 2802public BaseExpressionColonSyntax WithExpression(ExpressionSyntax expression) => WithExpressionCore(expression); 2803internal abstract BaseExpressionColonSyntax WithExpressionCore(ExpressionSyntax expression); 2818private ExpressionSyntax? expression; 2825public override ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 2836public ExpressionColonSyntax Update(ExpressionSyntax expression, SyntaxToken colonToken) 2848internal override BaseExpressionColonSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 2849public new ExpressionColonSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.ColonToken); 2967private ExpressionSyntax? expression; 2984public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 3005public CastExpressionSyntax Update(SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken, ExpressionSyntax expression) 3020public CastExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.OpenParenToken, this.Type, this.CloseParenToken, expression); 3056public abstract ExpressionSyntax? ExpressionBody { get; } 3057public AnonymousFunctionExpressionSyntax WithExpressionBody(ExpressionSyntax? expressionBody) => WithExpressionBodyCore(expressionBody); 3058internal abstract AnonymousFunctionExpressionSyntax WithExpressionBodyCore(ExpressionSyntax? expressionBody); 3072private ExpressionSyntax? expressionBody; 3104public override ExpressionSyntax? ExpressionBody => GetRed(ref this.expressionBody, 4); 3127public AnonymousMethodExpressionSyntax Update(SyntaxTokenList modifiers, SyntaxToken delegateKeyword, ParameterListSyntax? parameterList, BlockSyntax block, ExpressionSyntax? expressionBody) 3145internal override AnonymousFunctionExpressionSyntax WithExpressionBodyCore(ExpressionSyntax? expressionBody) => WithExpressionBody(expressionBody); 3146public new AnonymousMethodExpressionSyntax WithExpressionBody(ExpressionSyntax? expressionBody) => Update(this.Modifiers, this.DelegateKeyword, this.ParameterList, this.Block, expressionBody); 3183public new LambdaExpressionSyntax WithExpressionBody(ExpressionSyntax? expressionBody) => (LambdaExpressionSyntax)WithExpressionBodyCore(expressionBody); 3204private ExpressionSyntax? expressionBody; 3238public override ExpressionSyntax? ExpressionBody => GetRed(ref this.expressionBody, 5); 3263public SimpleLambdaExpressionSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 3284internal override AnonymousFunctionExpressionSyntax WithExpressionBodyCore(ExpressionSyntax? expressionBody) => WithExpressionBody(expressionBody); 3285public new SimpleLambdaExpressionSyntax WithExpressionBody(ExpressionSyntax? expressionBody) => Update(this.AttributeLists, this.Modifiers, this.Parameter, this.ArrowToken, this.Block, expressionBody); 3315private ExpressionSyntax? expression; 3324public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 3333public RefExpressionSyntax Update(SyntaxToken refKeyword, ExpressionSyntax expression) 3346public RefExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.RefKeyword, expression); 3362private ExpressionSyntax? expressionBody; 3398public override ExpressionSyntax? ExpressionBody => GetRed(ref this.expressionBody, 6); 3425public ParenthesizedLambdaExpressionSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, TypeSyntax? returnType, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 3447internal override AnonymousFunctionExpressionSyntax WithExpressionBodyCore(ExpressionSyntax? expressionBody) => WithExpressionBody(expressionBody); 3448public new ParenthesizedLambdaExpressionSyntax WithExpressionBody(ExpressionSyntax? expressionBody) => Update(this.AttributeLists, this.Modifiers, this.ReturnType, this.ParameterList, this.ArrowToken, this.Block, expressionBody); 3493public SeparatedSyntaxList<ExpressionSyntax> Expressions 3498return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(1)) : default; 3512public InitializerExpressionSyntax Update(SyntaxToken openBraceToken, SeparatedSyntaxList<ExpressionSyntax> expressions, SyntaxToken closeBraceToken) 3525public InitializerExpressionSyntax WithExpressions(SeparatedSyntaxList<ExpressionSyntax> expressions) => Update(this.OpenBraceToken, expressions, this.CloseBraceToken); 3528public InitializerExpressionSyntax AddExpressions(params ExpressionSyntax[] items) => WithExpressions(this.Expressions.AddRange(items)); 3712private ExpressionSyntax? expression; 3720public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 3746public WithExpressionSyntax Update(ExpressionSyntax expression, SyntaxToken withKeyword, InitializerExpressionSyntax initializer) 3758public WithExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.WithKeyword, this.Initializer); 3762public WithExpressionSyntax AddInitializerExpressions(params ExpressionSyntax[] items) => WithInitializer(this.Initializer.WithExpressions(this.Initializer.Expressions.AddRange(items))); 3774private ExpressionSyntax? expression; 3785public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 3806public AnonymousObjectMemberDeclaratorSyntax Update(NameEqualsSyntax? nameEquals, ExpressionSyntax expression) 3819public AnonymousObjectMemberDeclaratorSyntax WithExpression(ExpressionSyntax expression) => Update(this.NameEquals, expression); 4012public ImplicitArrayCreationExpressionSyntax AddInitializerExpressions(params ExpressionSyntax[] items) => WithInitializer(this.Initializer.WithExpressions(this.Initializer.Expressions.AddRange(items))); 4129public ImplicitStackAllocArrayCreationExpressionSyntax AddInitializerExpressions(params ExpressionSyntax[] items) => WithInitializer(this.Initializer.WithExpressions(this.Initializer.Expressions.AddRange(items))); 4203private ExpressionSyntax? expression; 4210public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 4219public ExpressionElementSyntax Update(ExpressionSyntax expression) 4231public ExpressionElementSyntax WithExpression(ExpressionSyntax expression) => Update(expression); 4242private ExpressionSyntax? expression; 4251public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 4260public SpreadElementSyntax Update(SyntaxToken operatorToken, ExpressionSyntax expression) 4273public SpreadElementSyntax WithExpression(ExpressionSyntax expression) => Update(this.OperatorToken, expression); 4466private ExpressionSyntax? expression; 4482public ExpressionSyntax Expression => GetRed(ref this.expression, 4)!; 4503public FromClauseSyntax Update(SyntaxToken fromKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression) 4519public FromClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.FromKeyword, this.Type, this.Identifier, this.InKeyword, expression); 4530private ExpressionSyntax? expression; 4544public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 4553public LetClauseSyntax Update(SyntaxToken letKeyword, SyntaxToken identifier, SyntaxToken equalsToken, ExpressionSyntax expression) 4568public LetClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.LetKeyword, this.Identifier, this.EqualsToken, expression); 4580private ExpressionSyntax? inExpression; 4581private ExpressionSyntax? leftExpression; 4582private ExpressionSyntax? rightExpression; 4599public ExpressionSyntax InExpression => GetRed(ref this.inExpression, 4)!; 4603public ExpressionSyntax LeftExpression => GetRed(ref this.leftExpression, 6)!; 4607public ExpressionSyntax RightExpression => GetRed(ref this.rightExpression, 8)!; 4636public JoinClauseSyntax Update(SyntaxToken joinKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax inExpression, SyntaxToken onKeyword, ExpressionSyntax leftExpression, SyntaxToken equalsKeyword, ExpressionSyntax rightExpression, JoinIntoClauseSyntax? into) 4652public JoinClauseSyntax WithInExpression(ExpressionSyntax inExpression) => Update(this.JoinKeyword, this.Type, this.Identifier, this.InKeyword, inExpression, this.OnKeyword, this.LeftExpression, this.EqualsKeyword, this.RightExpression, this.Into); 4654public JoinClauseSyntax WithLeftExpression(ExpressionSyntax leftExpression) => Update(this.JoinKeyword, this.Type, this.Identifier, this.InKeyword, this.InExpression, this.OnKeyword, leftExpression, this.EqualsKeyword, this.RightExpression, this.Into); 4656public JoinClauseSyntax WithRightExpression(ExpressionSyntax rightExpression) => Update(this.JoinKeyword, this.Type, this.Identifier, this.InKeyword, this.InExpression, this.OnKeyword, this.LeftExpression, this.EqualsKeyword, rightExpression, this.Into); 4710private ExpressionSyntax? condition; 4719public ExpressionSyntax Condition => GetRed(ref this.condition, 1)!; 4728public WhereClauseSyntax Update(SyntaxToken whereKeyword, ExpressionSyntax condition) 4741public WhereClauseSyntax WithCondition(ExpressionSyntax condition) => Update(this.WhereKeyword, condition); 4804private ExpressionSyntax? expression; 4811public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 4829public OrderingSyntax Update(ExpressionSyntax expression, SyntaxToken ascendingOrDescendingKeyword) 4841public OrderingSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.AscendingOrDescendingKeyword); 4853private ExpressionSyntax? expression; 4862public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 4871public SelectClauseSyntax Update(SyntaxToken selectKeyword, ExpressionSyntax expression) 4884public SelectClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.SelectKeyword, expression); 4895private ExpressionSyntax? groupExpression; 4896private ExpressionSyntax? byExpression; 4905public ExpressionSyntax GroupExpression => GetRed(ref this.groupExpression, 1)!; 4909public ExpressionSyntax ByExpression => GetRed(ref this.byExpression, 3)!; 4930public GroupClauseSyntax Update(SyntaxToken groupKeyword, ExpressionSyntax groupExpression, SyntaxToken byKeyword, ExpressionSyntax byExpression) 4943public GroupClauseSyntax WithGroupExpression(ExpressionSyntax groupExpression) => Update(this.GroupKeyword, groupExpression, this.ByKeyword, this.ByExpression); 4945public GroupClauseSyntax WithByExpression(ExpressionSyntax byExpression) => Update(this.GroupKeyword, this.GroupExpression, this.ByKeyword, byExpression); 5095private ExpressionSyntax? expression; 5104public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 5130public IsPatternExpressionSyntax Update(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 5142public IsPatternExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.IsKeyword, this.Pattern); 5155private ExpressionSyntax? expression; 5164public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 5173public ThrowExpressionSyntax Update(SyntaxToken throwKeyword, ExpressionSyntax expression) 5186public ThrowExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.ThrowKeyword, expression); 5197private ExpressionSyntax? condition; 5206public ExpressionSyntax Condition => GetRed(ref this.condition, 1)!; 5215public WhenClauseSyntax Update(SyntaxToken whenKeyword, ExpressionSyntax condition) 5228public WhenClauseSyntax WithCondition(ExpressionSyntax condition) => Update(this.WhenKeyword, condition); 5623private ExpressionSyntax? expression; 5631public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 5640public ConstantPatternSyntax Update(ExpressionSyntax expression) 5652public ConstantPatternSyntax WithExpression(ExpressionSyntax expression) => Update(expression); 5708private ExpressionSyntax? expression; 5718public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 5727public RelationalPatternSyntax Update(SyntaxToken operatorToken, ExpressionSyntax expression) 5740public RelationalPatternSyntax WithExpression(ExpressionSyntax expression) => Update(this.OperatorToken, expression); 6051private ExpressionSyntax? expression; 6063public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 6095public InterpolationSyntax Update(SyntaxToken openBraceToken, ExpressionSyntax expression, InterpolationAlignmentClauseSyntax? alignmentClause, InterpolationFormatClauseSyntax? formatClause, SyntaxToken closeBraceToken) 6108public InterpolationSyntax WithExpression(ExpressionSyntax expression) => Update(this.OpenBraceToken, expression, this.AlignmentClause, this.FormatClause, this.CloseBraceToken); 6122private ExpressionSyntax? value; 6131public ExpressionSyntax Value => GetRed(ref this.value, 1)!; 6140public InterpolationAlignmentClauseSyntax Update(SyntaxToken commaToken, ExpressionSyntax value) 6153public InterpolationAlignmentClauseSyntax WithValue(ExpressionSyntax value) => Update(this.CommaToken, value); 6717private ExpressionSyntax? value; 6726public ExpressionSyntax Value => GetRed(ref this.value, 1)!; 6735public EqualsValueClauseSyntax Update(SyntaxToken equalsToken, ExpressionSyntax value) 6748public EqualsValueClauseSyntax WithValue(ExpressionSyntax value) => Update(this.EqualsToken, value); 6898private ExpressionSyntax? expression; 6907public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 6930public ExpressionStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, SyntaxToken semicolonToken) 6944public ExpressionStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, expression, this.SemicolonToken); 7079private ExpressionSyntax? expression; 7108public ExpressionSyntax? Expression => GetRed(ref this.expression, 3); 7134public GotoStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken gotoKeyword, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7150public GotoStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.GotoKeyword, this.CaseOrDefaultKeyword, expression, this.SemicolonToken); 7264private ExpressionSyntax? expression; 7275public ExpressionSyntax? Expression => GetRed(ref this.expression, 2); 7298public ReturnStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7313public ReturnStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.ReturnKeyword, expression, this.SemicolonToken); 7329private ExpressionSyntax? expression; 7340public ExpressionSyntax? Expression => GetRed(ref this.expression, 2); 7363public ThrowStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken throwKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7378public ThrowStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.ThrowKeyword, expression, this.SemicolonToken); 7395private ExpressionSyntax? expression; 7408public ExpressionSyntax? Expression => GetRed(ref this.expression, 3); 7431public YieldStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken yieldKeyword, SyntaxToken returnOrBreakKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7447public YieldStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.YieldKeyword, this.ReturnOrBreakKeyword, expression, this.SemicolonToken); 7463private ExpressionSyntax? condition; 7477public ExpressionSyntax Condition => GetRed(ref this.condition, 3)!; 7504public WhileStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 7520public WhileStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.WhileKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.Statement); 7538private ExpressionSyntax? condition; 7555public ExpressionSyntax Condition => GetRed(ref this.condition, 5)!; 7582public DoStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 7600public DoStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.DoKeyword, this.Statement, this.WhileKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.SemicolonToken); 7619private ExpressionSyntax? condition; 7636public SeparatedSyntaxList<ExpressionSyntax> Initializers 7641return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(4)) : default; 7647public ExpressionSyntax? Condition => GetRed(ref this.condition, 6); 7651public SeparatedSyntaxList<ExpressionSyntax> Incrementors 7656return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(8)) : default; 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) 7708public ForStatementSyntax WithInitializers(SeparatedSyntaxList<ExpressionSyntax> initializers) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7710public ForStatementSyntax WithCondition(ExpressionSyntax? condition) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7712public ForStatementSyntax WithIncrementors(SeparatedSyntaxList<ExpressionSyntax> incrementors) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, incrementors, this.CloseParenToken, this.Statement); 7718public ForStatementSyntax AddInitializers(params ExpressionSyntax[] items) => WithInitializers(this.Initializers.AddRange(items)); 7719public ForStatementSyntax AddIncrementors(params ExpressionSyntax[] items) => WithIncrementors(this.Incrementors.AddRange(items)); 7745public abstract ExpressionSyntax Expression { get; } 7746public CommonForEachStatementSyntax WithExpression(ExpressionSyntax expression) => WithExpressionCore(expression); 7747internal abstract CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression); 7772private ExpressionSyntax? expression; 7802public override ExpressionSyntax Expression => GetRed(ref this.expression, 7)!; 7831public ForEachStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7855internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7856public new ForEachStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, this.Type, this.Identifier, this.InKeyword, expression, this.CloseParenToken, this.Statement); 7875private ExpressionSyntax? variable; 7876private ExpressionSyntax? expression; 7905public ExpressionSyntax Variable => GetRed(ref this.variable, 4)!; 7909public override ExpressionSyntax Expression => GetRed(ref this.expression, 6)!; 7938public ForEachVariableStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7958public ForEachVariableStatementSyntax WithVariable(ExpressionSyntax variable) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, variable, this.InKeyword, this.Expression, this.CloseParenToken, this.Statement); 7961internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7962public new ForEachVariableStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, this.Variable, this.InKeyword, expression, this.CloseParenToken, this.Statement); 7982private ExpressionSyntax? expression; 8007public ExpressionSyntax? Expression => GetRed(ref this.expression, 5); 8036public UsingStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 8054public UsingStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.AwaitKeyword, this.UsingKeyword, this.OpenParenToken, this.Declaration, expression, this.CloseParenToken, this.Statement); 8275private ExpressionSyntax? expression; 8289public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 8316public LockStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 8332public LockStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, this.LockKeyword, this.OpenParenToken, expression, this.CloseParenToken, this.Statement); 8352private ExpressionSyntax? condition; 8376public ExpressionSyntax Condition => GetRed(ref this.condition, 3)!; 8416public IfStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 8432public IfStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.Statement, this.Else); 8497private ExpressionSyntax? expression; 8527public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 8577public SwitchStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken) 8593public SwitchStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, this.SwitchKeyword, this.OpenParenToken, expression, this.CloseParenToken, this.OpenBraceToken, this.Sections, this.CloseBraceToken); 8769private ExpressionSyntax? value; 8782public ExpressionSyntax Value => GetRed(ref this.value, 1)!; 8793public CaseSwitchLabelSyntax Update(SyntaxToken keyword, ExpressionSyntax value, SyntaxToken colonToken) 8807public CaseSwitchLabelSyntax WithValue(ExpressionSyntax value) => Update(this.Keyword, value, this.ColonToken); 8865private ExpressionSyntax? governingExpression; 8873public ExpressionSyntax GoverningExpression => GetRedAtZero(ref this.governingExpression)!; 8909public SwitchExpressionSyntax Update(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 8921public SwitchExpressionSyntax WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 8940private ExpressionSyntax? expression; 8953public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 8976public SwitchExpressionArmSyntax Update(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken equalsGreaterThanToken, ExpressionSyntax expression) 8991public SwitchExpressionArmSyntax WithExpression(ExpressionSyntax expression) => Update(this.Pattern, this.WhenClause, this.EqualsGreaterThanToken, expression); 9201private ExpressionSyntax? filterExpression; 9212public ExpressionSyntax FilterExpression => GetRed(ref this.filterExpression, 2)!; 9223public CatchFilterClauseSyntax Update(SyntaxToken whenKeyword, SyntaxToken openParenToken, ExpressionSyntax filterExpression, SyntaxToken closeParenToken) 9237public CatchFilterClauseSyntax WithFilterExpression(ExpressionSyntax filterExpression) => Update(this.WhenKeyword, this.OpenParenToken, filterExpression, this.CloseParenToken); 10055private ExpressionSyntax? expression; 10067public ExpressionSyntax Expression => GetRed(ref this.expression, 2)!; 10090public AttributeArgumentSyntax Update(NameEqualsSyntax? nameEquals, NameColonSyntax? nameColon, ExpressionSyntax expression) 10104public AttributeArgumentSyntax WithExpression(ExpressionSyntax expression) => Update(this.NameEquals, this.NameColon, expression); 13217private ExpressionSyntax? expression; 13226public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 13235public ArrowExpressionClauseSyntax Update(SyntaxToken arrowToken, ExpressionSyntax expression) 13248public ArrowExpressionClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.ArrowToken, expression); 15620public abstract ExpressionSyntax Condition { get; } 15621public ConditionalDirectiveTriviaSyntax WithCondition(ExpressionSyntax condition) => WithConditionCore(condition); 15622internal abstract ConditionalDirectiveTriviaSyntax WithConditionCore(ExpressionSyntax condition); 15635private ExpressionSyntax? condition; 15646public override ExpressionSyntax Condition => GetRed(ref this.condition, 2)!; 15663public IfDirectiveTriviaSyntax Update(SyntaxToken hashToken, SyntaxToken ifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 15678internal override ConditionalDirectiveTriviaSyntax WithConditionCore(ExpressionSyntax condition) => WithCondition(condition); 15679public new IfDirectiveTriviaSyntax WithCondition(ExpressionSyntax condition) => Update(this.HashToken, this.IfKeyword, condition, this.EndOfDirectiveToken, this.IsActive, this.BranchTaken, this.ConditionValue); 15695private ExpressionSyntax? condition; 15706public override ExpressionSyntax Condition => GetRed(ref this.condition, 2)!; 15723public ElifDirectiveTriviaSyntax Update(SyntaxToken hashToken, SyntaxToken elifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 15738internal override ConditionalDirectiveTriviaSyntax WithConditionCore(ExpressionSyntax condition) => WithCondition(condition); 15739public new ElifDirectiveTriviaSyntax WithCondition(ExpressionSyntax condition) => Update(this.HashToken, this.ElifKeyword, condition, this.EndOfDirectiveToken, this.IsActive, this.BranchTaken, this.ConditionValue); 16440public SeparatedSyntaxList<ExpressionSyntax> ErrorCodes 16445return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(4)) : default; 16460public PragmaWarningDirectiveTriviaSyntax Update(SyntaxToken hashToken, SyntaxToken pragmaKeyword, SyntaxToken warningKeyword, SyntaxToken disableOrRestoreKeyword, SeparatedSyntaxList<ExpressionSyntax> errorCodes, SyntaxToken endOfDirectiveToken, bool isActive) 16477public PragmaWarningDirectiveTriviaSyntax WithErrorCodes(SeparatedSyntaxList<ExpressionSyntax> errorCodes) => Update(this.HashToken, this.PragmaKeyword, this.WarningKeyword, this.DisableOrRestoreKeyword, errorCodes, this.EndOfDirectiveToken, this.IsActive); 16482public PragmaWarningDirectiveTriviaSyntax AddErrorCodes(params ExpressionSyntax[] items) => WithErrorCodes(this.ErrorCodes.AddRange(items));
Binder\Binder.IdentifierUsedAsValueFinder.cs (5)
155case ExpressionSyntax expression: 377var v = selectClause.Expression; 390var v = groupClause.GroupExpression; 391var k = groupClause.ByExpression; 538private bool MakeQueryUnboundLambda(Binder enclosingBinder, RangeVariableMap qvm, RangeVariableSymbol parameter, ExpressionSyntax expression)
Binder\Binder_AnonymousTypes.cs (2)
47ExpressionSyntax expression = fieldInitializer.Expression; 151private static bool IsAnonymousTypeMemberExpression(ExpressionSyntax expr)
Binder\Binder_Deconstruct.cs (10)
31var left = node.Left; 32var right = node.Right; 34ExpressionSyntax? expression = null; 87ExpressionSyntax left, 88ExpressionSyntax right, 91ref ExpressionSyntax? expression, 114ExpressionSyntax left, 177private static bool IsDeconstructionResultUsed(ExpressionSyntax left) 736ExpressionSyntax node, 739ref ExpressionSyntax? expression)
Binder\Binder_Expressions.cs (62)
26/// This portion of the binder converts an <see cref="ExpressionSyntax"/> into a <see cref="BoundExpression"/>. 260internal BoundExpression BindValue(ExpressionSyntax node, BindingDiagnosticBag diagnostics, BindValueKind valueKind) 266internal BoundExpression BindRValueWithoutTargetType(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool reportNoTargetType = true) 275internal BoundExpression BindTypeOrRValue(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 467internal BoundExpression BindValueAllowArgList(ExpressionSyntax node, BindingDiagnosticBag diagnostics, BindValueKind valueKind) 513ExpressionSyntax value; 568public BoundExpression BindExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 573protected BoundExpression BindExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool invoked, bool indexed) 591protected BoundExpression BindExpressionAllowArgList(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 598private void CheckContextForPointerTypes(ExpressionSyntax node, BindingDiagnosticBag diagnostics, BoundExpression expr) 611private BoundExpression BindExpressionInternal(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool invoked, bool indexed) 627BoundExpression bindExpressionInternal(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool invoked, bool indexed) 897private BoundExpression BindRefType(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 904private BoundExpression BindScopedType(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 1394private BoundExpression BindParenthesizedExpression(ExpressionSyntax innerExpression, BindingDiagnosticBag diagnostics) 1408ExpressionSyntax typeSyntax = node.Type; 1463ExpressionSyntax typeSyntax = node.Type; 2484public BoundExpression BindNamespaceOrTypeOrExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2510public BoundExpression BindLabel(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2538public BoundExpression BindNamespaceOrType(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2550private static BoundExpression CreateBoundNamespaceOrTypeExpression(ExpressionSyntax node, Symbol symbol) 2786private BoundExpression BindRangeExpressionOperand(ExpressionSyntax operand, BindingDiagnosticBag diagnostics) 2822private BoundExpression BindCastCore(ExpressionSyntax node, BoundExpression operand, TypeWithAnnotations targetTypeWithAnnotations, bool wasCompilerGenerated, BindingDiagnosticBag diagnostics) 3001private BoundExpression BindExplicitNullableCastFromNonNullable(ExpressionSyntax node, BoundExpression operand, TypeWithAnnotations targetTypeWithAnnotations, BindingDiagnosticBag diagnostics) 3100private static string GetName(ExpressionSyntax syntax) 3475private BoundExpression BindArgumentExpression(BindingDiagnosticBag diagnostics, ExpressionSyntax argumentExpression, RefKind refKind, bool allowArglist) 4136foreach (var arg in firstRankSpecifier.Sizes) 4155foreach (var arg in dimension) 4175private BoundExpression BindArrayDimension(ExpressionSyntax dimension, BindingDiagnosticBag diagnostics, ref bool hasErrors) 4294foreach (var expression in initializer.Expressions) 4303foreach (var expression in initializer.Expressions) 4367foreach (var expressionSyntax in node.Expressions) 4381foreach (var expr in node.Expressions) 4500ExpressionSyntax creationSyntax, 4621foreach (ExpressionSyntax size in rankSpecifier.Sizes) 4638ExpressionSyntax countSyntax = rankSpecifiers[0].Sizes[0]; 5811ExpressionSyntax syntax, 5855foreach (var memberInitializer in initializerSyntax.Expressions) 5873ExpressionSyntax memberInitializer, 5891var rhsExpr = initializer.Right.CheckAndUnwrapRefExpression(diagnostics, out RefKind refKind); 5950var leftSyntax = namedAssignment.Left; 5962ExpressionSyntax leftSyntax, 5972ExpressionSyntax leftSyntax, 6189ExpressionSyntax memberNameSyntax, 6213ExpressionSyntax memberNameSyntax, 6421foreach (var elementInitializer in initializerSyntax.Expressions) 6474ExpressionSyntax elementInitializer, 6530foreach (var childElementInitializer in elementInitializerExpressions) 7610ExpressionSyntax exprSyntax = node.Expression; 7657private BoundExpression BindLeftOfPotentialColorColorMemberAccess(ExpressionSyntax left, BindingDiagnosticBag diagnostics) 7791ExpressionSyntax node, 7868ExpressionSyntax node, 8019ExpressionSyntax node, 8091ExpressionSyntax node, 9606private BoundExpression BindElementAccess(ExpressionSyntax node, BoundExpression receiver, BracketedArgumentListSyntax argumentList, bool allowInlineArrayElementAccess, BindingDiagnosticBag diagnostics) 9631private BoundExpression BindElementOrIndexerAccess(ExpressionSyntax node, BoundExpression expr, AnalyzedArguments analyzedArguments, bool allowInlineArrayElementAccess, BindingDiagnosticBag diagnostics) 9697BoundExpression tryImplicitConversionToInlineArrayIndex(ExpressionSyntax node, BoundExpression index, BindingDiagnosticBag diagnostics, out WellKnownType indexOrRangeWellknownType) 9723BoundExpression bindInlineArrayElementAccess(ExpressionSyntax node, BoundExpression expr, int length, AnalyzedArguments analyzedArguments, BoundExpression convertedIndex, WellKnownType indexOrRangeWellknownType, FieldSymbol elementField, BindingDiagnosticBag diagnostics) 11686private bool ResultIsUsed(ExpressionSyntax node) 11759var receiver = node.Expression; 11769private BoundExpression GetReceiverForConditionalBinding(ExpressionSyntax binding, BindingDiagnosticBag diagnostics) 11796var receiverSyntax = node.Expression;
Binder\Binder_Invocation.cs (4)
21/// This portion of the binder converts an <see cref="ExpressionSyntax"/> into a <see cref="BoundExpression"/>. 25private BoundExpression BindMethodGroup(ExpressionSyntax node, bool invoked, bool indexed, BindingDiagnosticBag diagnostics) 2379var argument = node.ArgumentList.Arguments[0].Expression; 2455private bool CheckSyntaxForNameofArgument(ExpressionSyntax argument, out string name, BindingDiagnosticBag diagnostics, bool top = true)
Binder\Binder_Operators.cs (22)
561TypeSymbol getResultType(ExpressionSyntax node, TypeSymbol leftType, BindingDiagnosticBag diagnostics) 894ExpressionSyntax current = node; 1324private void ReportBinaryOperatorError(ExpressionSyntax node, BindingDiagnosticBag diagnostics, SyntaxToken operatorToken, BoundExpression left, BoundExpression right, 1394ExpressionSyntax child; 3240private BoundExpression BindIncrementOperator(ExpressionSyntax node, ExpressionSyntax operandSyntax, SyntaxToken operatorToken, BindingDiagnosticBag diagnostics) 3247BoundExpression bindIncrementOperator(ExpressionSyntax node, ExpressionSyntax operandSyntax, SyntaxToken operatorToken, ref OperatorResolutionForReporting operatorResolutionForReporting, BindingDiagnosticBag diagnostics) 3421ExpressionSyntax node, 3464ExpressionSyntax node, 3504ExpressionSyntax node, 3646TypeSymbol getResultType(ExpressionSyntax node, TypeSymbol operandType, InstanceUserDefinedIncrementUsageMode mode, BindingDiagnosticBag diagnostics) 3655ExpressionSyntax node, 3739ExpressionSyntax node, 4817protected static bool IsUnderscore(ExpressionSyntax node) => 4986ExpressionSyntax possibleType, 5923var whenTrue = node.WhenTrue.CheckAndUnwrapRefExpression(diagnostics, out var whenTrueRefKind); 5924var whenFalse = node.WhenFalse.CheckAndUnwrapRefExpression(diagnostics, out var whenFalseRefKind); 5948private BoundExpression BindValueConditionalOperator(ConditionalExpressionSyntax node, ExpressionSyntax whenTrue, ExpressionSyntax whenFalse, BindingDiagnosticBag diagnostics) 5989private BoundExpression BindRefConditionalOperator(ConditionalExpressionSyntax node, ExpressionSyntax whenTrue, ExpressionSyntax whenFalse, BindingDiagnosticBag diagnostics)
Binder\Binder_Patterns.cs (10)
641ExpressionSyntax expression, 652ExpressionSyntax innerExpression = SkipParensAndNullSuppressions(expression, diagnostics, ref hasErrors); 720private static ExpressionSyntax SkipParensAndNullSuppressions(ExpressionSyntax e, BindingDiagnosticBag diagnostics, ref bool hasErrors) 751ExpressionSyntax patternExpression, 781ExpressionSyntax patternExpression, 801ExpressionSyntax patternExpression, 1894ExpressionSyntax? expr = p.ExpressionColon?.Expression; 1935TypeSymbol inputType, ExpressionSyntax expr, BindingDiagnosticBag diagnostics, ref bool hasErrors) 2067ExpressionSyntax innerExpression = SkipParensAndNullSuppressions(node.Expression, diagnostics, ref hasErrors);
Binder\Binder_Query.cs (8)
231var v = selectClause.Expression; 254var v = groupClause.GroupExpression; 255var k = groupClause.ByExpression; 773private BoundBlock CreateLambdaBlockForQueryClause(ExpressionSyntax expression, BoundExpression result, BindingDiagnosticBag diagnostics) 831private UnboundLambda MakeQueryUnboundLambda(RangeVariableMap qvm, RangeVariableSymbol parameter, ExpressionSyntax expression, bool withDependencies) 836private UnboundLambda MakeQueryUnboundLambda(RangeVariableMap qvm, ImmutableArray<RangeVariableSymbol> parameters, ExpressionSyntax expression, bool withDependencies) 847private UnboundLambda MakeQueryUnboundLambdaWithCast(RangeVariableMap qvm, RangeVariableSymbol parameter, ExpressionSyntax expression, TypeSyntax castTypeSyntax, TypeWithAnnotations castType, bool withDependencies) 872Debug.Assert(node is ExpressionSyntax || LambdaUtilities.IsQueryPairLambda(node));
Binder\Binder_Statements.cs (20)
393private BoundExpression BindThrownExpression(ExpressionSyntax exprSyntax, BindingDiagnosticBag diagnostics, ref bool hasErrors) 439ExpressionSyntax exprSyntax = node.Expression; 649private BoundExpressionStatement BindExpressionStatement(CSharpSyntaxNode node, ExpressionSyntax syntax, bool allowsAnyExpression, BindingDiagnosticBag diagnostics) 872ExpressionSyntax value; 878protected BoundExpression BindInferredVariableInitializer(BindingDiagnosticBag diagnostics, ExpressionSyntax initializer, BindValueKind valueKind, CSharpSyntaxNode errorSyntax) 920out ExpressionSyntax value) 1013ExpressionSyntax value; 1146foreach (var expressionSyntax in rankSpecifier.Sizes) 1421var rhsExpr = node.Right.CheckAndUnwrapRefExpression(diagnostics, out var refKind); 1866ExpressionSyntax node, 2649internal BoundExpression BindBooleanExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2904internal BoundStatement BindStatementExpressionList(SeparatedSyntaxList<ExpressionSyntax> statements, BindingDiagnosticBag diagnostics) 2913var syntax = statements[0]; 2921var syntax = statements[i]; 3039var expressionSyntax = syntax.Expression?.CheckAndUnwrapRefExpression(diagnostics, out refKind); 3513internal BoundBlock CreateBlockFromExpression(CSharpSyntaxNode node, ImmutableArray<LocalSymbol> locals, RefKind refKind, BoundExpression expression, ExpressionSyntax expressionSyntax, BindingDiagnosticBag diagnostics) 3641ExpressionSyntax expressionSyntax = expressionBody.Expression.CheckAndUnwrapRefExpression(diagnostics, out refKind); 3651public BoundBlock BindLambdaExpressionAsBlock(ExpressionSyntax body, BindingDiagnosticBag diagnostics) 3657var expressionSyntax = body.CheckAndUnwrapRefExpression(diagnostics, out refKind); 3663public BoundBlock CreateBlockFromExpression(ExpressionSyntax body, BoundExpression expression, BindingDiagnosticBag diagnostics)
Binder\Binder_Symbols.cs (10)
187/// Otherwise, call <see cref="Binder.BindTypeOrAlias(ExpressionSyntax, BindingDiagnosticBag, ConsList{TypeSymbol}, bool)"/> instead. 305internal TypeWithAnnotations BindType(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved = null, bool suppressUseSiteDiagnostics = false) 314internal TypeWithAnnotations BindType(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, out AliasSymbol alias, ConsList<TypeSymbol> basesBeingResolved = null) 323internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindTypeOrAlias(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved = null, bool suppressUseSiteDiagnostics = false) 387internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindNamespaceOrTypeSymbol(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved = null) 397internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindNamespaceOrTypeSymbol(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved, bool suppressUseSiteDiagnostics) 411/// <see cref="BindQualifiedName(ExpressionSyntax, SimpleNameSyntax, BindingDiagnosticBag, ConsList{TypeSymbol}, bool)"/> 420internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindNamespaceOrTypeOrAliasSymbol(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved, bool suppressUseSiteDiagnostics) 1665ExpressionSyntax leftName, 2390while (node is ExpressionSyntax)
Binder\EarlyWellKnownAttributeBinder.cs (1)
57internal static bool CanBeValidAttributeArgument(ExpressionSyntax node)
Binder\ExpressionListVariableBinder.cs (2)
18private readonly SeparatedSyntaxList<ExpressionSyntax> _expressions; 20internal ExpressionListVariableBinder(SeparatedSyntaxList<ExpressionSyntax> expressions, Binder next) : base(next)
Binder\ExpressionVariableFinder.cs (7)
58Debug.Assert(node is ExpressionSyntax); 113SeparatedSyntaxList<ExpressionSyntax> nodes) 119foreach (ExpressionSyntax n in nodes) 323var operands = ArrayBuilder<ExpressionSyntax>.GetInstance(); 324ExpressionSyntax current = node; 467ExpressionSyntax possibleTupleDeclaration, 579SeparatedSyntaxList<ExpressionSyntax> nodes)
Binder\FixedStatementBinder.cs (1)
37foreach (var size in rankSpecifier.Sizes)
Binder\ForEachLoopBinder.cs (8)
102ExpressionSyntax declaration, 197ExpressionSyntax variables = ((ForEachVariableStatementSyntax)_syntax).Variable; 203ExpressionSyntax expression = null; 261var expr = _syntax.Expression; 382var variables = node.Variable; 387ExpressionSyntax expression = null; 620var expr = _syntax.Expression; 628internal TypeWithAnnotations InferCollectionElementType(BindingDiagnosticBag diagnostics, ExpressionSyntax collectionSyntax)
Binder\ForLoopBinder.cs (4)
37foreach (var size in rankSpecifier.Sizes) 93ExpressionSyntax conditionSyntax = node.Condition; 102SeparatedSyntaxList<ExpressionSyntax> incrementors = node.Incrementors; 105var scopeDesignator = incrementors.First();
Binder\LocalBinderFactory.cs (10)
58foreach (var size in rankSpecifier.Sizes) 80var expressionSyntax = syntax as ExpressionSyntax; 233var argumentExpression = node.ArgumentList.Arguments[0].Expression; 552ExpressionSyntax expressionSyntax = node.Expression; 612foreach (ExpressionSyntax initializer in node.Initializers) 618ExpressionSyntax condition = node.Condition; 626SeparatedSyntaxList<ExpressionSyntax> incrementors = node.Incrementors; 631foreach (ExpressionSyntax incrementor in incrementors) 1013(node == _root && node is ExpressionSyntax));
Binder\LocalScopeBinder.cs (4)
193foreach (var expression in rankSpecifier.Sizes) 234foreach (var expression in rankSpecifier.Sizes) 249foreach (var expression in rankSpecifier.Sizes) 287static void findExpressionVariablesInRankSpecifier(ExpressionSyntax expression, (LocalScopeBinder localScopeBinder, ArrayBuilder<LocalSymbol> locals, Binder localDeclarationBinder) args)
Binder\LockBinder.cs (2)
26protected override ExpressionSyntax TargetExpressionSyntax 38ExpressionSyntax exprSyntax = TargetExpressionSyntax;
Binder\LockOrUsingBinder.cs (2)
29protected abstract ExpressionSyntax TargetExpressionSyntax { get; } 39ExpressionSyntax targetExpressionSyntax = TargetExpressionSyntax;
Binder\NameofBinder.cs (2)
24private readonly ExpressionSyntax _nameofArgument; 31internal NameofBinder(ExpressionSyntax nameofArgument, Binder next, WithTypeParametersBinder? withTypeParametersBinder, Binder? withParametersBinder)
Binder\OpenTypeVisitor.cs (1)
33public static void Visit(ExpressionSyntax typeSyntax, out Dictionary<GenericNameSyntax, bool>? allowedMap)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (2)
682if (!binder.TryGetCollectionIterationType((ExpressionSyntax)argument.Syntax, targetType.StrippedType(), out TypeWithAnnotations targetElementType)) 907if (!binder.TryGetCollectionIterationType((ExpressionSyntax)argument.Syntax, formalType.Type, out TypeWithAnnotations targetElementType))
Binder\SwitchBinder.cs (1)
397ExpressionSyntax node = SwitchSyntax.Expression;
Binder\SwitchBinder_Patterns.cs (1)
298void reportIfConstantNamedUnderscore(BoundPattern pattern, ExpressionSyntax expression)
Binder\TypeofBinder.cs (1)
27internal TypeofBinder(ExpressionSyntax typeExpression, Binder next)
Binder\UsingStatementBinder.cs (4)
29ExpressionSyntax expressionSyntax = TargetExpressionSyntax; 47foreach (var size in rankSpecifier.Sizes) 68protected override ExpressionSyntax TargetExpressionSyntax 78ExpressionSyntax expressionSyntax = TargetExpressionSyntax;
Binder\WhileBinder.cs (1)
51ExpressionSyntax condition;
BoundTree\BoundTreeVisitors.cs (3)
187if (syntax is not (ExpressionSyntax or PatternSyntax)) 189syntax = syntax.DescendantNodes(n => n is not (ExpressionSyntax or PatternSyntax)).FirstOrDefault(n => n is ExpressionSyntax or PatternSyntax) ?? syntax;
BoundTree\UnboundLambda.cs (3)
92syntax is ExpressionSyntax && LambdaUtilities.IsLambdaBody(syntax, allowReducedLambdas: true) || // query lambdas 1651return lambdaBodyBinder.CreateBlockFromExpression((ExpressionSyntax)this.Body, expression, diagnostics); 1658return lambdaBodyBinder.BindLambdaExpressionAsBlock((ExpressionSyntax)this.Body, diagnostics);
Compilation\CSharpCompilation.cs (1)
886var expression = expressionStatement.Expression;
Compilation\CSharpSemanticModel.cs (33)
122(node is ExpressionSyntax && (isSpeculative || allowNamedArgumentName || !SyntaxFacts.IsNamedArgumentName(node))) || 148internal abstract SymbolInfo GetCollectionInitializerSymbolInfoWorker(InitializerExpressionSyntax collectionInitializer, ExpressionSyntax node, CancellationToken cancellationToken = default(CancellationToken)); 169internal abstract BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols); 204internal Binder GetSpeculativeBinder(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 253private static BoundExpression GetSpeculativelyBoundExpressionHelper(Binder binder, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 281protected BoundExpression GetSpeculativelyBoundExpressionWithoutNullability(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 523public SymbolInfo GetSymbolInfo(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 612public SymbolInfo GetCollectionInitializerSymbolInfo(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 732public SymbolInfo GetSpeculativeSymbolInfo(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 966public TypeInfo GetTypeInfo(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1055public TypeInfo GetSpeculativeTypeInfo(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 1060internal CSharpTypeInfo GetSpeculativeTypeInfoWorker(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 1085public Conversion GetSpeculativeConversion(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 1100public ImmutableArray<ISymbol> GetMemberGroup(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1151public ImmutableArray<IPropertySymbol> GetIndexerGroup(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1164public Optional<object> GetConstantValue(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1633var parentExpr = token.Parent as ExpressionSyntax; 2408case ExpressionSyntax expression: 2469/// Analyze data-flow within an <see cref="ExpressionSyntax"/>. 2473public virtual DataFlowAnalysis AnalyzeDataFlow(ExpressionSyntax expression) 2819public abstract Conversion ClassifyConversion(ExpressionSyntax expression, ITypeSymbol destination, bool isExplicitInSource = false); 2837public Conversion ClassifyConversion(int position, ExpressionSyntax expression, ITypeSymbol destination, bool isExplicitInSource = false) 2890internal abstract Conversion ClassifyConversionForCast(ExpressionSyntax expression, TypeSymbol destination); 2906internal Conversion ClassifyConversionForCast(int position, ExpressionSyntax expression, TypeSymbol destination) 4297if (invocation != null && invocation.Expression.SkipParens() == ((ExpressionSyntax)boundNode.Syntax).SkipParens() && (object)call.Method != null) 5021case ExpressionSyntax expression: 5050case ExpressionSyntax expression: 5071case ExpressionSyntax expression: 5092case ExpressionSyntax expression: 5109return node is ExpressionSyntax expression 5444case ExpressionSyntax expressionSyntax: 5462return node is ExpressionSyntax expression
Compilation\MemberSemanticModel.cs (11)
172var expression = SyntaxFactory.GetStandaloneExpression(type); 192internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 230ExpressionSyntax typeOfArgument = null; 338else if ((current as ExpressionSyntax).IsValidScopeDesignator()) 431ExpressionSyntax expression, 488ExpressionSyntax expression, 849return GetLambdaParameterSymbol(parameter, (ExpressionSyntax)paramList.Parent, cancellationToken); 865ExpressionSyntax lambda, 1308internal override SymbolInfo GetCollectionInitializerSymbolInfoWorker(InitializerExpressionSyntax collectionInitializer, ExpressionSyntax node, CancellationToken cancellationToken = default(CancellationToken)) 2286!(node is ExpressionSyntax) && 2316if (!(node is ExpressionSyntax))
Compilation\SpeculativeSemanticModelWithMemberModel.cs (4)
221ExpressionSyntax expression, 229ExpressionSyntax expression, 485internal override SymbolInfo GetCollectionInitializerSymbolInfoWorker(InitializerExpressionSyntax collectionInitializer, ExpressionSyntax node, CancellationToken cancellationToken = default(CancellationToken)) 575internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
Compilation\SpeculativeSyntaxTreeSemanticModel.cs (5)
101private SpeculativeBindingOption GetSpeculativeBindingOption(ExpressionSyntax node) 119var expression = (ExpressionSyntax)node; 132var expression = (ExpressionSyntax)node;
Compilation\SyntaxTreeSemanticModel.cs (8)
223if ((object)result.Symbol == null && result.CandidateReason == CandidateReason.None && node is ExpressionSyntax && SyntaxFacts.IsInNamespaceOrTypeContext((ExpressionSyntax)node)) 233BoundExpression bound = binder.BindExpression((ExpressionSyntax)node, BindingDiagnosticBag.Discarded); 291internal override SymbolInfo GetCollectionInitializerSymbolInfoWorker(InitializerExpressionSyntax collectionInitializer, ExpressionSyntax node, CancellationToken cancellationToken = default(CancellationToken)) 520public override Conversion ClassifyConversion(ExpressionSyntax expression, ITypeSymbol destination, bool isExplicitInSource = false) 558internal override Conversion ClassifyConversionForCast(ExpressionSyntax expression, TypeSymbol destination) 738internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 2288public override DataFlowAnalysis AnalyzeDataFlow(ExpressionSyntax expression)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (1)
20private RegionAnalysisContext RegionAnalysisContext(ExpressionSyntax expression)
Compiler\MethodCompiler.cs (1)
2203case ExpressionSyntax expression:
CSharpExtensions.cs (13)
496public static SymbolInfo GetSymbolInfo(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 513public static SymbolInfo GetCollectionInitializerSymbolInfo(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 595public static SymbolInfo GetSpeculativeSymbolInfo(this SemanticModel? semanticModel, int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 717public static TypeInfo GetTypeInfo(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 751public static TypeInfo GetSpeculativeTypeInfo(this SemanticModel? semanticModel, int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 878public static Conversion GetSpeculativeConversion(this SemanticModel? semanticModel, int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 964public static ImmutableArray<ISymbol> GetMemberGroup(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1006public static ImmutableArray<IPropertySymbol> GetIndexerGroup(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1019public static Optional<object> GetConstantValue(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1105/// Analyze data-flow within an <see cref="ExpressionSyntax"/>. 1107public static DataFlowAnalysis? AnalyzeDataFlow(this SemanticModel? semanticModel, ExpressionSyntax expression) 1330public static Conversion ClassifyConversion(this SemanticModel? semanticModel, ExpressionSyntax expression, ITypeSymbol destination, bool isExplicitInSource = false) 1350public static Conversion ClassifyConversion(this SemanticModel? semanticModel, int position, ExpressionSyntax expression, ITypeSymbol destination, bool isExplicitInSource = false)
FlowAnalysis\NullableWalker.cs (1)
4205var foundIterationType = _binder.TryGetCollectionIterationType((ExpressionSyntax)node.Syntax, collectionType, out targetElementType);
Lowering\LocalRewriter\LocalRewriter.cs (1)
880if (syntax is ExpressionSyntax { Parent: { } parent } && parent.Kind() == SyntaxKind.EqualsValueClause) // Should be the initial value.
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (1)
56return SyntaxFacts.IsInNamespaceOrTypeContext(startNode as ExpressionSyntax) || token.IsKind(SyntaxKind.NewKeyword) || this.InNamespaceOrType;
Symbols\Source\GlobalExpressionVariable.cs (3)
52Debug.Assert(nodeToBind.Kind() == SyntaxKind.VariableDeclarator || nodeToBind is ExpressionSyntax); 179Debug.Assert(nodeToBind.Kind() == SyntaxKind.VariableDeclarator || nodeToBind is ExpressionSyntax); 208binder.BindExpression((ExpressionSyntax)nodeToBind, BindingDiagnosticBag.Discarded);
Symbols\Source\SourceFixedFieldSymbol.cs (1)
84ExpressionSyntax sizeExpression = arguments[0].Expression;
Symbols\Source\SourceLocalSymbol.cs (7)
144ExpressionSyntax collection) 208nodeToBind is ExpressionSyntax); 719private readonly ExpressionSyntax _collection; 726ExpressionSyntax collection, 780ExpressionSyntax? expression = null; 822nodeToBind is ExpressionSyntax); 876_nodeBinder.BindExpression((ExpressionSyntax)_nodeToBind, BindingDiagnosticBag.Discarded);
Syntax\AnonymousFunctionExpressionSyntax.cs (1)
20: WithExpressionBody((ExpressionSyntax)body).WithBlock(null);
Syntax\AnonymousMethodExpressionSyntax.cs (4)
17: WithExpressionBody((ExpressionSyntax)body).WithBlock(null); 22: Update(asyncKeyword, delegateKeyword, parameterList, null, (ExpressionSyntax)body); 31public AnonymousMethodExpressionSyntax Update(SyntaxToken asyncKeyword, SyntaxToken delegateKeyword, ParameterListSyntax parameterList, BlockSyntax block, ExpressionSyntax expressionBody) 49public static AnonymousMethodExpressionSyntax AnonymousMethodExpression(SyntaxToken asyncKeyword, SyntaxToken delegateKeyword, ParameterListSyntax parameterList, BlockSyntax block, ExpressionSyntax expressionBody)
Syntax\CSharpPragmaWarningStateMap.cs (1)
120var currentErrorCode = currentPragmaDirective.ErrorCodes[x];
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\ExpressionStatementSyntax.cs (2)
28public ExpressionStatementSyntax Update(ExpressionSyntax expression, SyntaxToken semicolonToken) 37public static ExpressionStatementSyntax ExpressionStatement(ExpressionSyntax expression, SyntaxToken semicolonToken)
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 (8)
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 (9)
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\GotoStatementSyntax.cs (3)
11public GotoStatementSyntax Update(SyntaxToken gotoKeyword, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax expression, SyntaxToken semicolonToken) 20public static GotoStatementSyntax GotoStatement(SyntaxKind kind, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax expression) 23public static GotoStatementSyntax GotoStatement(SyntaxKind kind, SyntaxToken gotoKeyword, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax expression, SyntaxToken semicolonToken)
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\LambdaExpressionSyntax.cs (1)
15: WithExpressionBody((ExpressionSyntax)body).WithBlock(null);
Syntax\LambdaUtilities.cs (3)
218private static bool IsReducedSelectOrGroupByClause(SelectOrGroupClauseSyntax selectOrGroupClause, ExpressionSyntax selectOrGroupExpression) 450SeparatedSyntaxList<ExpressionSyntax> incrementors = ((ForStatementSyntax)node.Parent).Incrementors; 468if (node is ExpressionSyntax && node.Parent != null && node.Parent.Parent == null)
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\NameColonSyntax.cs (2)
11public override ExpressionSyntax Expression => Name; 13internal override BaseExpressionColonSyntax WithExpressionCore(ExpressionSyntax expression)
Syntax\ParenthesizedLambdaExpressionSyntax.cs (10)
14: WithExpressionBody((ExpressionSyntax)body).WithBlock(null); 19: Update(asyncKeyword, parameterList, arrowToken, null, (ExpressionSyntax)body); 30public ParenthesizedLambdaExpressionSyntax Update(SyntaxToken asyncKeyword, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 33public ParenthesizedLambdaExpressionSyntax Update(SyntaxTokenList modifiers, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 36public ParenthesizedLambdaExpressionSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 45public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxToken asyncKeyword, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 48public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(ParameterListSyntax parameterList, BlockSyntax? block, ExpressionSyntax? expressionBody) 51public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxTokenList modifiers, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 54public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxTokenList modifiers, ParameterListSyntax parameterList, BlockSyntax? block, ExpressionSyntax? expressionBody) 57public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, ParameterListSyntax parameterList, BlockSyntax? block, ExpressionSyntax? expressionBody)
Syntax\ReturnStatementSyntax.cs (2)
11public ReturnStatementSyntax Update(SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 20public static ReturnStatementSyntax ReturnStatement(SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken)
Syntax\SimpleLambdaExpressionSyntax.cs (9)
14: WithExpressionBody((ExpressionSyntax)body).WithBlock(null); 19: Update(asyncKeyword, parameter, arrowToken, null, (ExpressionSyntax)body); 30public SimpleLambdaExpressionSyntax Update(SyntaxToken asyncKeyword, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 33public SimpleLambdaExpressionSyntax Update(SyntaxTokenList modifiers, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 43public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, ParameterSyntax parameter, BlockSyntax? block, ExpressionSyntax? expressionBody) 50public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(SyntaxToken asyncKeyword, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 53public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(ParameterSyntax parameter, BlockSyntax? block, ExpressionSyntax? expressionBody) 56public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(SyntaxTokenList modifiers, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 59public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(SyntaxTokenList modifiers, ParameterSyntax parameter, BlockSyntax? block, ExpressionSyntax? expressionBody)
Syntax\SwitchStatementSyntax.cs (2)
11public SwitchStatementSyntax Update(SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken) 20public static SwitchStatementSyntax SwitchStatement(SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken)
Syntax\SyntaxExtensions.cs (4)
202internal static ExpressionSyntax SkipParens(this ExpressionSyntax expression) 215internal static bool IsDeconstructionLeft(this ExpressionSyntax node) 343internal static CSharpSyntaxNode? GetContainingDeconstruction(this ExpressionSyntax expr)
Syntax\SyntaxFactory.cs (17)
1761public static ExpressionSyntax ParseExpression(string text, int offset = 0, ParseOptions? options = null, bool consumeFullText = true) 1768return CreateRed<ExpressionSyntax>(node, lexer.Options); 2107var parent = node.Parent as ExpressionSyntax; 2141public static ExpressionSyntax GetStandaloneExpression(ExpressionSyntax expression) 2143return SyntaxFactory.GetStandaloneNode(expression) as ExpressionSyntax ?? expression; 2159if (node == null || !(node is ExpressionSyntax || node is CrefSyntax)) 2323public static ExpressionSyntax? GetNonGenericExpression(ExpressionSyntax expression) 2475public static CaseSwitchLabelSyntax CaseSwitchLabel(ExpressionSyntax value) 2769public static SwitchStatementSyntax SwitchStatement(ExpressionSyntax expression, SyntaxList<SwitchSectionSyntax> sections) 2786public static SwitchStatementSyntax SwitchStatement(ExpressionSyntax expression) 2794: SimpleLambdaExpression(parameter, null, (ExpressionSyntax)body); 2799: SimpleLambdaExpression(asyncKeyword, parameter, arrowToken, null, (ExpressionSyntax)body); 2807: ParenthesizedLambdaExpression(parameterList, null, (ExpressionSyntax)body); 2812: ParenthesizedLambdaExpression(asyncKeyword, parameterList, arrowToken, null, (ExpressionSyntax)body);
Syntax\SyntaxFacts.cs (9)
54public static bool IsInvoked(ExpressionSyntax node) 56node = (ExpressionSyntax)SyntaxFactory.GetStandaloneExpression(node); 64public static bool IsIndexed(ExpressionSyntax node) 66node = (ExpressionSyntax)SyntaxFactory.GetStandaloneExpression(node); 71public static bool IsNamespaceAliasQualifier(ExpressionSyntax node) 82public static bool IsInTypeOnlyContext(ExpressionSyntax node) 240public static bool IsInNamespaceOrTypeContext(ExpressionSyntax? node) 489if (syntax is ExpressionSyntax expr) 616node.DescendantNodesAndSelf(child => !IsNestedFunction(child) && !(node is ExpressionSyntax)).Any(n => n is ReturnStatementSyntax { Expression: { } });
Syntax\SyntaxNodeExtensions.cs (8)
109return syntax is StatementSyntax || IsValidScopeDesignator(syntax as ExpressionSyntax); 113internal static bool IsValidScopeDesignator(this ExpressionSyntax? expression) 194internal static SyntaxToken ExtractAnonymousTypeMemberName(this ExpressionSyntax input) 317internal static ExpressionSyntax? CheckAndUnwrapRefExpression( 318this ExpressionSyntax? syntax, 335internal static void CheckDeconstructionCompatibleArgument(this ExpressionSyntax expression, BindingDiagnosticBag diagnostics) 351private static bool IsDeconstructionCompatibleArgument(ExpressionSyntax expression) 356var invocationTarget = invocation.Expression;
Syntax\ThrowStatementSyntax.cs (2)
11public ThrowStatementSyntax Update(SyntaxToken throwKeyword, ExpressionSyntax expression, SyntaxToken semicolonToken) 20public static ThrowStatementSyntax ThrowStatement(SyntaxToken throwKeyword, ExpressionSyntax expression, SyntaxToken semicolonToken)
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)
Syntax\YieldStatementSyntax.cs (2)
11public YieldStatementSyntax Update(SyntaxToken yieldKeyword, SyntaxToken returnOrBreakKeyword, ExpressionSyntax expression, SyntaxToken semicolonToken) 20public static YieldStatementSyntax YieldStatement(SyntaxKind kind, SyntaxToken yieldKeyword, SyntaxToken returnOrBreakKeyword, ExpressionSyntax expression, SyntaxToken semicolonToken)
Microsoft.CodeAnalysis.CSharp.Analyzers (4)
MetaAnalyzers\Fixers\CSharpCompareSymbolsCorrectlyFix.cs (2)
20=> SyntaxFactory.ConditionalAccessExpression((ExpressionSyntax)expression, (ExpressionSyntax)whenNotNull);
MetaAnalyzers\Fixers\CSharpPreferIsKindFix.cs (2)
80private static ExpressionSyntax ConvertKindNameToIsKind(ExpressionSyntax expression)
Microsoft.CodeAnalysis.CSharp.CodeStyle (396)
src\roslyn\src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (13)
18ExpressionSyntax, ExpressionSyntax, SyntaxKind>(CSharpExpressionPrecedenceService.Instance) 49protected override int GetPrecedence(ExpressionSyntax binaryLike) 52protected override bool IsBinaryLike(ExpressionSyntax node) 59protected override (ExpressionSyntax, SyntaxToken, ExpressionSyntax) GetPartsOfBinaryLike(ExpressionSyntax binaryLike) 71protected override ExpressionSyntax? TryGetAppropriateParent(ExpressionSyntax binaryLike) 74ExpressionSyntax expression => expression, 75ConstantPatternSyntax { Parent: ExpressionSyntax expression } => expression, 76ConstantPatternSyntax { Parent: UnaryPatternSyntax { Parent: ExpressionSyntax expression } } => expression, 80protected override bool IsAsExpression(ExpressionSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (1)
24private ExpressionSyntax? _assignmentTargetOpt;
src\roslyn\src\Analyzers\CSharp\Analyzers\HiddenExplicitCast\CSharpHiddenExplicitCastDiagnosticAnalyzer.cs (2)
43var currentExpression = castExpression.Expression; 46var inner = currentExpression.WalkDownParentheses().WalkDownSuppressions();
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (1)
88var argumentExpression = argumentNode.Expression;
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (4)
122var expr = condition.Left.IsKind(SyntaxKind.NullLiteralExpression) 145bool InvocationExpressionIsEquivalent(ExpressionSyntax expression) 308private static bool IsNullCheckExpression(ExpressionSyntax left, ExpressionSyntax right)
src\roslyn\src\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (2)
18: AbstractQualifyMemberAccessDiagnosticAnalyzer<SyntaxKind, ExpressionSyntax, SimpleNameSyntax> 23protected override bool IsAlreadyQualifiedMemberAccess(ExpressionSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
31var left = node switch
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastDiagnosticAnalyzer.cs (3)
20: AbstractRemoveUnnecessaryCastDiagnosticAnalyzer<SyntaxKind, ExpressionSyntax> 25protected override bool IsUnnecessaryCast(SemanticModel model, ExpressionSyntax cast, CancellationToken cancellationToken) 28protected override TextSpan GetFadeSpan(ExpressionSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (6)
87var invokedExpression = invocation.Expression; 192foreach (var candidate in outermostBody.DescendantNodes().OfType<ExpressionSyntax>()) 208var rewrittenExpression = analyzer.ReplacedExpression; 288private static bool MayHaveSideEffects(ExpressionSyntax expression) 334ExpressionSyntax expression,
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
50var inner = parenthesizedExpression.Expression; 56ExpressionSyntax parentExpression;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyBooleanExpression\CSharpSimplifyConditionalDiagnosticAnalyzer.cs (2)
19ExpressionSyntax, 25protected override CommonConversion GetConversion(SemanticModel semanticModel, ExpressionSyntax node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationDiagnosticAnalyzer.cs (2)
18: AbstractSimplifyInterpolationDiagnosticAnalyzer<InterpolationSyntax, ExpressionSyntax> 22protected override AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax> Helpers => CSharpSimplifyInterpolationHelpers.Instance;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
11: AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax>
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
17ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyAccessor\CSharpSimplifyPropertyAccessorDiagnosticAnalyzer.cs (1)
71static bool IsFieldValueAssignmentExpression(ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (1)
49public static bool IsMergable([NotNullWhen(true)] ExpressionSyntax? expression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (11)
26ExpressionSyntax, 44protected override ExpressionSyntax? GetFieldInitializer(VariableDeclaratorSyntax variable, CancellationToken cancellationToken) 87bool CouldReferenceField(ExpressionSyntax expression) 94void AddIneligibleFieldsForExpression(ExpressionSyntax expression, bool alwaysRestricted = false) 153private static bool CheckExpressionSyntactically(ExpressionSyntax expression) 171protected override ExpressionSyntax? GetGetterExpression(IMethodSymbol getMethod, CancellationToken cancellationToken) 181var expr = GetGetterExpressionFromSymbol(getMethod, cancellationToken); 188private static ExpressionSyntax? GetGetterExpressionFromSymbol(IMethodSymbol getMethod, CancellationToken cancellationToken) 204protected override ExpressionSyntax? GetSetterExpression( 214var setExpression = GetExpressionFromSetter(setAccessor); 226private static ExpressionSyntax? GetExpressionFromSetter(AccessorDeclarationSyntax? setAccessor)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (4)
20ExpressionSyntax, 37protected override ExpressionSyntax GetConditionOfIfStatement(IfStatementSyntax ifStatement) 40protected override bool IsNullCheck(ExpressionSyntax condition, [NotNullWhen(true)] out ExpressionSyntax? checkedExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForArrayDiagnosticAnalyzer.cs (3)
156var arrayCreationExpression = isConcreteOrImplicitArrayCreation 157? (ExpressionSyntax)initializer.GetRequiredParent() 205SyntaxNodeAnalysisContext context, SyntaxTree syntaxTree, NotificationOption2 notification, ExpressionSyntax expression, bool changesSemantics)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (1)
155var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForEmptyDiagnosticAnalyzer.cs (2)
38var nodeToReplace = 42? (ExpressionSyntax)invocation
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (5)
25using FluentState = UpdateExpressionState<ExpressionSyntax, StatementSyntax>; 177var current = memberAccess.Expression; 292void AddFinalMatch(ExpressionSyntax expression) 326bool IsListLike(ExpressionSyntax expression) 343foreach (var expression in initializer.Expressions)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (22)
63ExpressionSyntax expression, 81ExpressionSyntax expression, 93var topMostExpression = expression.WalkUpParentheses(); 354SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 395using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionsToProcess); 396using var _2 = PooledHashSet<ExpressionSyntax>.GetInstance(out var seenExpressions); 405var locallyScopedExpression = expressionsToProcess.Pop().WalkUpParentheses(); 492void AddExpressionToProcess(ExpressionSyntax expression) 554if (argument.Parent is not BaseArgumentListSyntax { Parent: ExpressionSyntax parentInvocation } argumentList) 593bool IsPrimitiveConstant(ExpressionSyntax expression) 606i => i.IsToken ? i : CreateElement((ExpressionSyntax)i.AsNode()!)); 623CollectionElementSyntax CreateElement(ExpressionSyntax expression) 758where TArrayCreationExpressionSyntax : ExpressionSyntax 1025var argExpression = argument.Expression; 1059public static bool IsIterable(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1093ExpressionSyntax expression, 1168static bool IsPossiblyDottedGenericName(ExpressionSyntax expression) 1173if (expression is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: GenericNameSyntax } && 1182static bool IsPossiblyDottedName(ExpressionSyntax name) 1187if (name is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: IdentifierNameSyntax } && 1207var expression = arguments.Single().Expression; 1223nodeOrToken => nodeOrToken.IsToken ? nodeOrToken : Argument((ExpressionSyntax)nodeOrToken.AsNode()!)));
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (3)
11internal sealed class CSharpUpdateExpressionSyntaxHelper : IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> 20out ExpressionSyntax expression, 36out ExpressionSyntax condition,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (8)
19ExpressionSyntax, 29protected override IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> SyntaxHelper 167using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var spreadElements); 194var currentArgumentExpression = argumentList.Arguments[0].Expression; 195using var _2 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionPieces); 219var piece = expressionPieces[i]; 238foreach (var piece in expressionPieces) 241var current = piece;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (3)
28ExpressionSyntax, 71if (match.Node is ExpressionSyntax expression) 86foreach (var expression in initializer.Expressions)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (7)
62var coalesceLeft = coalesceExpression.Left; 63var coalesceRight = coalesceExpression.Right; 134if (!IsReferenceEqualsNullCheck(semanticModel, ifStatement.Condition, cancellationToken, out var testedExpression)) 174ExpressionSyntax condition, 176[NotNullWhen(true)] out ExpressionSyntax? testedExpression) 195var arg0 = invocation.ArgumentList.Arguments[0].Expression; 196var arg1 = invocation.ArgumentList.Arguments[1].Expression;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBodyForLambda\UseExpressionBodyForLambdaHelpers.cs (5)
32var expressionBodyOpt = GetBodyAsExpression(declaration); 77var expressionBody = GetBodyAsExpression(declaration); 89internal static ExpressionSyntax? GetBodyAsExpression(LambdaExpressionSyntax declaration) 90=> declaration.Body as ExpressionSyntax; 114[NotNullWhen(true)] out ExpressionSyntax? expression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
70SemanticModel semanticModel, ExpressionSyntax left, ExpressionSyntax right)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (2)
271var nodeToCheck = identifierName.WalkUpParentheses(); 336var value = variableDeclarator.Initializer.Value.WalkDownParentheses();
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (4)
20ExpressionSyntax, 43ISyntaxFacts syntaxFacts, ExpressionSyntax conditionNode, 44[NotNullWhen(true)] out ExpressionSyntax? conditionPartToCheck, out bool isEquals) 71[NotNullWhen(true)] out ExpressionSyntax? condition,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseNamedMemberInitializerAnalyzer.cs (1)
14ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseObjectInitializerDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (4)
92internal sealed class Constant(ExpressionSyntax expression, IOperation target) : AnalyzedPattern(target) 94public readonly ExpressionSyntax ExpressionSyntax = expression; 100internal sealed class Relational(BinaryOperatorKind operatorKind, ExpressionSyntax value, IOperation target) : AnalyzedPattern(target) 103public readonly ExpressionSyntax Value = value;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (5)
18return pattern?.Target.Syntax is ExpressionSyntax ? pattern : null; 101ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 106ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right 116ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 118ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (4)
49var expression = (ExpressionSyntax)context.Node; 123private static bool IsTopmostExpression(ExpressionSyntax node) 130ExpressionSyntax => false,
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (10)
21private readonly ExpressionSyntax _comparison; 22private readonly ExpressionSyntax _operand; 31ExpressionSyntax comparison, 32ExpressionSyntax operand, 58ExpressionSyntax comparison, 59ExpressionSyntax operand, 229case ExpressionSyntax expression: 263if (node is ExpressionSyntax currentExpression && 269if (_declarator.DescendantNodesAndSelf().OfType<ExpressionSyntax>().Any( 312private bool CheckExpression(ExpressionSyntax exprsesion)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (8)
71var comparison = (ExpressionSyntax)node; 79var operand = GetNullCheckOperand(comparisonLeft, comparison.Kind(), comparisonRight)?.WalkDownParentheses(); 120var typeNode = asExpression.Right; 285var initializerValue = declarator.Initializer?.Value; 327private static ExpressionSyntax? GetNullCheckOperand(ExpressionSyntax left, SyntaxKind comparisonKind, SyntaxNode right) 333return (ExpressionSyntax)right;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
196var declaratorValue = declarator.Initializer.Value.WalkDownParentheses();
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (1)
42var whenNotNull = parentConditionalAccess.WhenNotNull;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseTupleSwap\CSharpUseTupleSwapDiagnosticAnalyzer.cs (7)
81var localDeclarationExprA = variableDeclarator.Initializer?.Value.WalkDownParentheses(); 87if (!IsSimpleAssignment(firstAssignmentStatement, out var firstAssignmentExprA, out var firstAssignmentExprB)) 92if (!IsSimpleAssignment(secondAssignmentStatement, out var secondAssignmentExprB, out var secondAssignmentExprTemp)) 131[NotNullWhen(true)] out ExpressionSyntax? left, 132[NotNullWhen(true)] out ExpressionSyntax? right)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (5)
31ExpressionSyntax initializerExpression, 109var containingTypeName = memberName.GetLeftSideOfDot(); 120ExpressionSyntax containingTypeName, 193private static ExpressionSyntax GetRightmostInvocationExpression(ExpressionSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
173SyntaxToken token, ExpressionSyntax parentExpression, bool tokenIncludeDelimiters)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\AssignmentExpressionSyntaxExtensions.cs (1)
15var left = assignment.Left;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (4)
38[NotNullWhen(true)] out ExpressionSyntax? expression, 151block.TryConvertToExpressionBody(languageVersion, preference, cancellationToken, out var expression, out semicolonToken)) 192ExpressionSyntax expression, ExpressionBodyPreference preference) 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 (60)
20public static ExpressionSyntax? WalkUpParentheses(this ExpressionSyntax? expression) 28public static ExpressionSyntax WalkDownParentheses(this ExpressionSyntax expression) 36public static ExpressionSyntax WalkDownSuppressions(this ExpressionSyntax expression) 44public static bool IsQualifiedCrefName([NotNullWhen(true)] this ExpressionSyntax? expression) 47public static bool IsSimpleMemberAccessExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 50public static bool IsAnyMemberAccessExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 59public static bool IsMemberBindingExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 63public static bool IsRightSideOfQualifiedName([NotNullWhen(true)] this ExpressionSyntax? expression) 66public static bool IsRightSideOfColonColon(this ExpressionSyntax expression) 69public static bool IsRightSideOfDot([NotNullWhen(true)] this ExpressionSyntax? name) 72public static bool IsRightSideOfDotOrArrow([NotNullWhen(true)] this ExpressionSyntax? name) 75public static bool IsRightSideOfDotOrColonColon(this ExpressionSyntax name) 78public static bool IsRightSideOfDotOrArrowOrColonColon([NotNullWhen(true)] this ExpressionSyntax name) 81public static bool IsRightOfCloseParen(this ExpressionSyntax expression) 88public static bool IsLeftSideOfDot([NotNullWhen(true)] this ExpressionSyntax? expression) 97public static bool IsLeftSideOfSimpleMemberAccessExpression(this ExpressionSyntax expression) 101public static bool IsLeftSideOfDotOrArrow(this ExpressionSyntax expression) 105public static bool IsLeftSideOfQualifiedName(this ExpressionSyntax expression) 111public static bool IsExpressionOfInvocation(this ExpressionSyntax expression) 115public static bool TryGetNameParts(this ExpressionSyntax expression, [NotNullWhen(true)] out IList<string>? parts) 128public static bool TryGetNameParts(this ExpressionSyntax expression, List<string> parts) 169public static bool IsInConstantContext([NotNullWhen(true)] this ExpressionSyntax? expression) 196public static bool IsInOutContext([NotNullWhen(true)] this ExpressionSyntax? expression) 200public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression) 207public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression, [NotNullWhen(true)] out SyntaxNode? refParent) 210expression = (ExpressionSyntax)expression.Parent; 223public static bool IsInInContext([NotNullWhen(true)] this ExpressionSyntax? expression) 227private static ExpressionSyntax? GetExpressionToAnalyzeForWrites(ExpressionSyntax? expression) 231expression = (ExpressionSyntax)expression.GetRequiredParent(); 239public static bool IsOnlyWrittenTo([NotNullWhen(true)] this ExpressionSyntax? expression) 273private static bool IsExpressionOfArgumentInDeconstruction(ExpressionSyntax expr) 320[NotNullWhen(true)] this ExpressionSyntax? expression, 397public static bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] this ExpressionSyntax? expression) 403public static bool IsOperandOfIncrementOrDecrementExpression(this ExpressionSyntax expression) 420public static bool IsNamedArgumentIdentifier(this ExpressionSyntax expression) 424[NotNullWhen(true)] this ExpressionSyntax? expression, SemanticModel semanticModel, CancellationToken cancellationToken) 454[NotNullWhen(true)] this ExpressionSyntax? expression, SemanticModel semanticModel, CancellationToken cancellationToken) 465this ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 604var parentNonExpression = expression.GetAncestors().SkipWhile(n => n is ExpressionSyntax).FirstOrDefault(); 605var topExpression = expression; 648public static bool IsNameOfArgumentExpression(this ExpressionSyntax expression) 658public static SimpleNameSyntax? GetRightmostName(this ExpressionSyntax node) 693public static OperatorPrecedence GetOperatorPrecedence(this ExpressionSyntax expression) 852this ExpressionSyntax expression, 872private static StatementSyntax ConvertToStatement(ExpressionSyntax expression, SyntaxToken semicolonToken, bool createReturnStatementForExpression) 900public static bool IsDirectChildOfMemberAccessExpression(this ExpressionSyntax expression) 903public static bool InsideCrefReference(this ExpressionSyntax expression) 907this ExpressionSyntax expression, 911var topExpression = expression.WalkUpParentheses(); 936bool HasType(ExpressionSyntax expression, [NotNullWhen(true)] out ITypeSymbol? type) 998ITypeSymbol? GetTargetTypeForConditionalExpression(ConditionalExpressionSyntax conditionalExpression, ExpressionSyntax expression) 1008ITypeSymbol? GetTargetTypeForLambdaExpression(LambdaExpressionSyntax lambda, ExpressionSyntax expression) 1055ITypeSymbol? GetTargetTypeForInitializerExpression(InitializerExpressionSyntax initializerExpression, ExpressionSyntax expression) 1064foreach (var sibling in initializerExpression.Expressions) 1084ITypeSymbol? GetTargetTypeForAssignmentExpression(AssignmentExpressionSyntax assignmentExpression, ExpressionSyntax expression) 1089ITypeSymbol? GetTargetTypeForBinaryExpression(BinaryExpressionSyntax binaryExpression, ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (16)
31var expression = node.Expression; 38var parentExpression = nodeParent.IsKind(SyntaxKind.ConstantPattern) 39? nodeParent.Parent as ExpressionSyntax 40: nodeParent as ExpressionSyntax; 345static bool ContainsConditionalAccessOnRightmostPath(ExpressionSyntax expr) 348for (var current = expr; current != null;) 355: current.ChildNodes().FirstOrDefault() as ExpressionSyntax; 363ParenthesizedExpressionSyntax node, ExpressionSyntax expression, 431ParenthesizedExpressionSyntax node, ExpressionSyntax parentExpression, SemanticModel semanticModel) 433var expression = node.Expression; 564var expression = node.Expression; 656private static bool IsPreviousExpressionPotentiallyAmbiguous(ExpressionSyntax node) 658ExpressionSyntax? previousExpression = null; 691private static bool IsNextExpressionPotentiallyAmbiguous(ExpressionSyntax node) 693ExpressionSyntax? nextExpression = null; 725private static bool IsSimpleOrDottedName(ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (12)
27if (name.Parent is ExpressionSyntax expression) 44if (name.Parent is ExpressionSyntax expression) 59private static void DecomposeName(ExpressionSyntax expression, out ExpressionSyntax qualifier, out string name, out int arity) 104ExpressionSyntax expression, 107var expr = SyntaxFactory.GetStandaloneExpression(expression); 108DecomposeName(expr, out var qualifier, out var name, out _); 137case ExpressionSyntax expression: 352this SemanticModel semanticModel, ExpressionSyntax expression, 358var current = expression; 429SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 431var topExpression = expression.WalkUpParentheses();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SimpleNameSyntaxExtensions.cs (1)
14public static ExpressionSyntax GetLeftSideOfDot(this SimpleNameSyntax name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
179return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 403var expression = initializer.Expressions[0];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
344foreach (var errorCode in pragmaWarningDirectiveTrivia.ErrorCodes)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpExpressionPrecedenceService.cs (2)
12internal sealed class CSharpExpressionPrecedenceService : AbstractCSharpPrecedenceService<ExpressionSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
19internal sealed class CSharpRefactoringHelpers : AbstractRefactoringHelpers<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (10)
44=> (node as ExpressionSyntax).IsWrittenTo(semanticModel, cancellationToken); 47=> (node as ExpressionSyntax).IsOnlyWrittenTo(); 50=> (node as ExpressionSyntax).IsInOutContext(); 53=> (node as ExpressionSyntax).IsInRefContext(); 56=> (node as ExpressionSyntax).IsInInContext(); 59=> (expression as ExpressionSyntax).CanReplaceWithRValue(semanticModel, cancellationToken); 193=> semanticModel.GetCollectionInitializerSymbolInfo((ExpressionSyntax)node, cancellationToken); 432=> (node as ExpressionSyntax).IsInsideNameOfExpression(semanticModel, cancellationToken); 459=> semanticModel.GenerateNameForExpression((ExpressionSyntax)expression, capitalize, cancellationToken); 488=> semanticModel.ClassifyConversion((ExpressionSyntax)expression, destination).ToCommonConversion();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (7)
183=> node is ExpressionSyntax expression ? SyntaxFactory.GetStandaloneExpression(expression) : node; 584=> SyntaxFacts.IsInNamespaceOrTypeContext(node as ExpressionSyntax); 612=> (node as ExpressionSyntax).IsInConstantContext(); 1058=> (node as ExpressionSyntax).IsLeftSideOfDot(); 1076=> (node as ExpressionSyntax).IsLeftSideOfAssignExpression(); 1079=> (node as ExpressionSyntax).IsLeftSideOfAnyAssignExpression(); 1082=> (node as ExpressionSyntax).IsLeftSideOfCompoundAssignExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (52)
46public static bool IsUnnecessaryCast(ExpressionSyntax cast, SemanticModel semanticModel, CancellationToken cancellationToken) 125var leftOrRightChild = castExpression.WalkUpParentheses(); 143bool IsConstantZero(ExpressionSyntax child) 178ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 222private static bool CastRemovalCouldCauseSignExtensionWarning(ExpressionSyntax castSyntax, IConversionOperation conversionOperation) 249ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 289ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 634ExpressionSyntax castNode, 699ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, SemanticModel semanticModel, CancellationToken cancellationToken) 785ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 786ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, 853ExpressionSyntax castNode, SemanticModel originalSemanticModel, 854ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 878ExpressionSyntax castNode, SemanticModel originalSemanticModel, 879ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 907ExpressionSyntax castNode, 909ExpressionSyntax rewrittenExpression, 911Func<ExpressionSyntax, TConditionalOrSwitchExpression?> getConditionalOrSwitchExpression, 912Func<TConditionalOrSwitchExpression, ImmutableArray<ExpressionSyntax>> getArmExpressions, 913Func<TConditionalOrSwitchExpression, ExpressionSyntax, ExpressionSyntax?> getAlternativeArm, 915where TConditionalOrSwitchExpression : ExpressionSyntax 920var parentExpression = castExpression.WalkUpParentheses(); 945foreach (var armExpression in getArmExpressions(originalConditionalOrSwitchExpression)) 1001var otherSide = getAlternativeArm(originalConditionalOrSwitchExpression, parentExpression); 1057ExpressionSyntax expression, 1151=> node is ExpressionSyntax expression && expression.WalkDownParentheses().Kind() is SyntaxKind.CastExpression or SyntaxKind.AsExpression; 1155ExpressionSyntax castOrAsNode, 1179var parent = castOrAsNode.WalkUpParentheses(); 1212ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 1280private static bool IsFieldOrArrayElement(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1287ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 1300ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1353ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1386ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1417ExpressionSyntax rewrittenExpression, 1526ExpressionSyntax rewrittenExpression, 1568ExpressionSyntax expression, 1660ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1683private static (SemanticModel? rewrittenSemanticModel, ExpressionSyntax? rewrittenExpression) GetSemanticModelWithCastRemoved( 1684ExpressionSyntax castNode, 1685ExpressionSyntax castedExpressionNode, 1691var rewrittenExpression = analyzer.ReplacedExpression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (44)
31ExpressionSyntax, 56ExpressionSyntax expression, 57ExpressionSyntax newExpression, 68protected override bool CanAccessInstanceMemberThrough(ExpressionSyntax expression) 71protected override SyntaxNode GetSemanticRootForSpeculation(ExpressionSyntax expression) 107nodeToSpeculate is ExpressionSyntax || 119var isInNamespaceOrTypeContext = SyntaxFacts.IsInNamespaceOrTypeContext(originalNode as ExpressionSyntax); 181Debug.Assert(nodeToSpeculate is ExpressionSyntax); 191public bool ReplacementChangesSemanticsOfUnchangedLambda(ExpressionSyntax originalLambda, ExpressionSyntax replacedLambda) 302var expression = (ExpressionSyntax)currentReplacedNode.ChildNodes().First(); 368ExpressionSyntax originalOtherPartOfConditional, newOtherPartOfConditional; 418if (ReplacementBreaksBoxingInConditionalExpression(originalExpressionTypeInfo, newExpressionTypeInfo, (ExpressionSyntax)previousOriginalNode, (ExpressionSyntax)previousReplacedNode)) 464var previousReplacedExpression = (ExpressionSyntax)previousReplacedNode; 518ReplacementBreaksCollectionInitializerAddMethod((ExpressionSyntax)previousOriginalNode, (ExpressionSyntax)previousReplacedNode); 522return !TypesAreCompatible((ExpressionSyntax)currentOriginalNode, (ExpressionSyntax)currentReplacedNode); 531return !TypesAreCompatible((ExpressionSyntax)currentOriginalNode, (ExpressionSyntax)currentReplacedNode); 542private bool ReplacementBreaksBoxingInConditionalExpression(TypeInfo originalExpressionTypeInfo, TypeInfo newExpressionTypeInfo, ExpressionSyntax previousOriginalNode, ExpressionSyntax previousReplacedNode) 573private bool ReplacementBreaksCollectionInitializerAddMethod(ExpressionSyntax originalInitializer, ExpressionSyntax newInitializer) 588protected override ImmutableArray<ArgumentSyntax> GetArguments(ExpressionSyntax expression) 596private static BaseArgumentListSyntax GetArgumentList(ExpressionSyntax expression) 609protected override ExpressionSyntax GetReceiver(ExpressionSyntax expression) 620var result = ((InvocationExpressionSyntax)expression).Expression; 631var result = ((ElementAccessExpressionSyntax)expression).Expression; 645protected override bool IsInNamespaceOrTypeContext(ExpressionSyntax node) 648protected override ExpressionSyntax GetForEachStatementExpression(CommonForEachStatementSyntax forEachStatement) 651protected override ExpressionSyntax GetThrowStatementExpression(ThrowStatementSyntax throwStatement) 743ExpressionSyntax originalExpression, 744ExpressionSyntax newExpression, 813protected override bool ConversionsAreCompatible(SemanticModel originalModel, ExpressionSyntax originalExpression, SemanticModel newModel, ExpressionSyntax newExpression) 838private static bool ConditionalExpressionConversionsAreAllowed(ExpressionSyntax originalExpression) 841protected override bool ConversionsAreCompatible(ExpressionSyntax originalExpression, ITypeSymbol originalTargetType, ExpressionSyntax newExpression, ITypeSymbol newTargetType) 934protected override Conversion ClassifyConversion(SemanticModel model, ExpressionSyntax expression, ITypeSymbol targetType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
57SyntaxToken identifier, TypeSyntax typeName, ExpressionSyntax initializer, SemanticModel semanticModel, CSharpSimplifierOptions options, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
93var initializerExpression = CSharpUseImplicitTypeHelper.GetInitializerExpression(initializer.Value);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
136ExpressionSyntax initializer,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
240ExpressionSyntax initializer, 245var expression = GetInitializerExpression(initializer); 316internal static ExpressionSyntax GetInitializerExpression(ExpressionSyntax initializer) 318var current = (initializer as RefExpressionSyntax)?.Expression ?? initializer;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (360)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddAnonymousTypeMemberName\CSharpAddAnonymousTypeMemberNameCodeFixProvider.cs (2)
22ExpressionSyntax, 34protected override ExpressionSyntax GetExpression(AnonymousObjectMemberDeclaratorSyntax declarator)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\ArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(ArgumentSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\AttributeArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(AttributeArgumentSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\CSharpAddExplicitCastCodeFixProvider.cs (8)
23: AbstractAddExplicitCastCodeFixProvider<ExpressionSyntax> 40protected override void GetPartsOfCastOrConversionExpression(ExpressionSyntax expression, out SyntaxNode type, out ExpressionSyntax castedExpression) 47protected override ExpressionSyntax Cast(ExpressionSyntax expression, ITypeSymbol type) 55ExpressionSyntax spanNode, 56ArrayBuilder<(ExpressionSyntax node, ITypeSymbol type)> candidates, 90SemanticModel semanticModel, ExpressionSyntax targetNode, ITypeSymbol conversionType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddParameter\CSharpAddParameterCodeFixProvider.cs (2)
28ExpressionSyntax, 52protected override Argument<ExpressionSyntax> GetArgument(ArgumentSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
72if (location is ExpressionSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (1)
28if (location is ExpressionSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (19)
22private sealed class Rewriter : CSharpSyntaxVisitor<ExpressionSyntax> 28private ExpressionSyntax? _assignmentTarget; 55var switchExpression = rewriter.RewriteSwitchStatement( 65ExpressionSyntax switchExpression, 93private ExpressionStatementSyntax GenerateAssignment(ExpressionSyntax switchExpression, SyntaxKind assignmentKind, SyntaxTriviaList leadingTrivia) 104private StatementSyntax GenerateVariableDeclaration(ExpressionSyntax switchExpression, ITypeSymbol? declaratorToRemoveType) 180public override ExpressionSyntax VisitAssignmentExpression(AssignmentExpressionSyntax node) 186private ExpressionSyntax CastIfChangeInRuntimeRepresentation(ExpressionSyntax node) 205private ExpressionSyntax RewriteStatements(SyntaxList<StatementSyntax> statements) 209var result = Visit(statements[0]); 214public override ExpressionSyntax VisitSwitchStatement(SwitchStatementSyntax node) 217private ExpressionSyntax RewriteSwitchStatement( 236var armExpression = Visit(nextStatement); 277public override ExpressionSyntax VisitReturnStatement(ReturnStatementSyntax node) 283public override ExpressionSyntax VisitThrowStatement(ThrowStatementSyntax node) 291public override ExpressionSyntax VisitExpressionStatement(ExpressionStatementSyntax node) 293var result = Visit(node.Expression); 298public override ExpressionSyntax DefaultVisit(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (8)
288public static ImmutableArray<ExpressionSyntax> GetAssignmentValuesForNonPrimaryConstructor( 295? assignment.Syntax as ExpressionSyntax 305if (arg is { Parameter: IParameterSymbol param, Value.Syntax: ExpressionSyntax captured }) 360public static ImmutableArray<ExpressionSyntax> GetAssignmentValuesFromObjectCreation( 378var dictionaryBuilder = ImmutableDictionary<ISymbol, ExpressionSyntax>.Empty.ToBuilder(); 385Value: IOperation { Syntax: ExpressionSyntax syntax } 401private static ImmutableArray<ExpressionSyntax> GetAssignmentExpressionsFromValuesMap( 403ImmutableDictionary<ISymbol, ExpressionSyntax> assignmentValues)
src\roslyn\src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (2)
148var newExpr = (ExpressionSyntax)newNameNode;
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (1)
166var argumentExpression = tuple.Arguments[i].Expression;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (10)
26: AbstractGenerateConstructorService<CSharpGenerateConstructorService, ExpressionSyntax> 45out ImmutableArray<Argument<ExpressionSyntax>> arguments, 69private static ImmutableArray<Argument<ExpressionSyntax>> GetArguments(SeparatedSyntaxList<ArgumentSyntax> arguments) 72private static ImmutableArray<Argument<ExpressionSyntax>> GetArguments(SeparatedSyntaxList<AttributeArgumentSyntax> arguments) 73=> arguments.SelectAsArray(a => new Argument<ExpressionSyntax>( 83out ImmutableArray<Argument<ExpressionSyntax>> arguments, 115out ImmutableArray<Argument<ExpressionSyntax>> arguments, 150out ImmutableArray<Argument<ExpressionSyntax>> arguments, 173protected override string GenerateNameForExpression(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 176protected override ITypeSymbol GetArgumentType(SemanticModel semanticModel, Argument<ExpressionSyntax> argument, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateEnumMember\CSharpGenerateEnumMemberService.cs (2)
20AbstractGenerateEnumMemberService<CSharpGenerateEnumMemberService, SimpleNameSyntax, ExpressionSyntax> 28[NotNullWhen(true)] out ExpressionSyntax? simpleNameOrMemberAccessExpression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateConversionCodeFixProvider.cs (1)
43node is ExpressionSyntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateMethodCodeFixProvider.cs (1)
62node is ExpressionSyntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (5)
25AbstractGenerateConversionService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 29return node is ExpressionSyntax && 42SemanticDocument document, AbstractGenerateParameterizedMemberService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state) 217protected override string GetImplicitConversionDisplayText(AbstractGenerateParameterizedMemberService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state) 220protected override string GetExplicitConversionDisplayText(AbstractGenerateParameterizedMemberService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (2)
24AbstractGenerateDeconstructMethodService<CSharpGenerateDeconstructMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 29protected override AbstractInvocationInfo CreateInvocationMethodInfo(SemanticDocument document, AbstractGenerateParameterizedMemberService<CSharpGenerateDeconstructMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateMethodService.cs (4)
26AbstractGenerateMethodService<CSharpGenerateMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 37protected override AbstractInvocationInfo CreateInvocationMethodInfo(SemanticDocument document, AbstractGenerateParameterizedMemberService<CSharpGenerateMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state) 82[NotNullWhen(true)] out ExpressionSyntax? simpleNameOrMemberAccessExpression, 147ExpressionSyntax expression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (2)
21internal abstract class CSharpGenerateParameterizedMemberService<TService> : AbstractGenerateParameterizedMemberService<TService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 22where TService : AbstractGenerateParameterizedMemberService<TService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>
src\roslyn\src\Analyzers\CSharp\CodeFixes\HiddenExplicitCast\CSharpHiddenExplicitCastCodeFixProvider.cs (1)
52return currentCast.WithExpression((ExpressionSyntax)g.CastExpression(typeToInsert, currentCast.Expression));
src\roslyn\src\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (2)
88var invocationOrCreation = (ExpressionSyntax)invocationOrCreationLocation.FindNode(
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
89SemanticModel model, ExpressionSyntax? expression, [NotNullWhen(true)] out ITypeSymbol? returnExpressionType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
66ExpressionSyntax nextExpression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
67ExpressionSyntax nextExpression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (1)
25ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (2)
24internal sealed partial class CSharpRemoveAsyncModifierCodeFixProvider() : AbstractRemoveAsyncModifierCodeFixProvider<ReturnStatementSyntax, ExpressionSyntax> 33protected override SyntaxNode? ConvertToBlockBody(SyntaxNode node, ExpressionSyntax expressionBody)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (2)
76var left = isNode switch 85var withoutSuppression = suppression.Operand.WithAppendedTrailingTrivia(suppression.OperatorToken.GetAllTrivia());
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastCodeFixProvider.cs (5)
41d => (ExpressionSyntax)d.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken)); 48var oldParent = castExpression.WalkUpParentheses(); 49var newParent = Recurse(oldParent); 56private static ExpressionSyntax Recurse(ExpressionSyntax old)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryNullableWarningSuppressionsCodeFixProvider.cs (1)
97var result = ((PostfixUnaryExpressionSyntax)current).Operand.WithTriviaFrom(current);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (4)
28: AbstractRemoveUnusedValuesCodeFixProvider<ExpressionSyntax, StatementSyntax, BlockSyntax, 135return assignment.Update((ExpressionSyntax)newNameNode, assignment.OperatorToken, objectCreationNode); 209var leftOfAssignment = assignmentExpression.Left; 210var rightOfAssignment = assignmentExpression.Right;
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyInterpolation\CSharpSimplifyInterpolationCodeFixProvider.cs (3)
20ExpressionSyntax, 25protected override AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax> Helpers => CSharpSimplifyInterpolationHelpers.Instance; 27protected override InterpolationSyntax WithExpression(InterpolationSyntax interpolation, ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (2)
95private static MemberAccessExpressionSyntax? Merge(ExpressionSyntax? outerExpression, ExpressionSyntax? innerExpression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (2)
40ExpressionSyntax> 101var fieldInitializer = fieldDeclarator.Initializer?.Value;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (27)
43where TParentExpression : ExpressionSyntax 86if (preMatches is [{ Node: ExpressionSyntax } preMatch] && postMatches.IsEmpty) 90else if (preMatches.IsEmpty && postMatches is [{ Node: ExpressionSyntax } postMatch]) 215var expression = (ExpressionSyntax)(object)match.Node; 455bool useSpread, ExpressionSyntax expression) 531foreach (var expression in expressions) 538var indentedExpression = IndentNode(foreachStatement, foreachStatement.Expression, preferredIndentation); 565var condition = IndentNode(ifStatement, ifStatement.Condition, preferredIndentation).Parenthesize(includeElasticTrivia: false); 589else if (node is ExpressionSyntax expression) 801foreach (var expression in initializer.Expressions) 856else if (node is ExpressionSyntax expression) 865static ExpressionSyntax ConvertExpression( 866ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 872static ImmutableArray<ExpressionSyntax> ConvertExpressions( 873ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 888static ImmutableArray<ExpressionSyntax> ConvertAssignment( 889AssignmentExpressionSyntax assignment, Func<ExpressionSyntax, ExpressionSyntax> indent) 894static ImmutableArray<ExpressionSyntax> ConvertInvocation( 895InvocationExpressionSyntax invocation, Func<ExpressionSyntax, ExpressionSyntax> indent) 907ParsedDocument document, TParentExpression expressionToReplace, SyntaxFormattingOptions formattingOptions) where TParentExpression : ExpressionSyntax
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (3)
28: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 37ExpressionSyntax arrayCreationExpression, 100SemanticModel semanticModel, ExpressionSyntax expression, INamedTypeSymbol? expressionType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForCreateCodeFixProvider.cs (1)
66var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread, UseKeyValue: false));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForFluentCodeFixProvider.cs (3)
53var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>( 103static ImmutableArray<CollectionMatch<ExpressionSyntax>> CreateMatches( 108using var result = TemporaryArray<CollectionMatch<ExpressionSyntax>>.Empty;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForNewCodeFixProvider.cs (1)
67var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread, UseKeyValue: false));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocCodeFixProvider.cs (2)
24: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 33ExpressionSyntax stackAllocExpression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (2)
24ExpressionSyntax, 45ExpressionSyntax newObjectCreation = useCollectionExpression
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider_CollectionInitializer.cs (8)
34SeparatedSyntaxList<ExpressionSyntax> CreateCollectionInitializerExpressions() 38UseInitializerHelpers.AddExistingItems<CollectionMatch<SyntaxNode>, ExpressionSyntax>( 53var expression = ConvertExpression(statement.Expression) 68return SeparatedList<ExpressionSyntax>(nodesAndTokens); 93static ExpressionSyntax ConvertExpression( 94ExpressionSyntax expression) 114static ExpressionSyntax ConvertInvocation(InvocationExpressionSyntax invocation) 126var expression = arguments[0].Expression;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundAssignmentCodeFixProvider.cs (11)
20: AbstractUseCompoundAssignmentCodeFixProvider<SyntaxKind, AssignmentExpressionSyntax, ExpressionSyntax>(Utilities.Kinds) 26SyntaxKind assignmentOpKind, ExpressionSyntax left, SyntaxToken syntaxToken, ExpressionSyntax right) 31protected override ExpressionSyntax Increment(ExpressionSyntax left, bool postfix) 36protected override ExpressionSyntax Decrement(ExpressionSyntax left, bool postfix) 41private static ExpressionSyntax Postfix(SyntaxKind kind, ExpressionSyntax operand) 44private static ExpressionSyntax Prefix(SyntaxKind kind, ExpressionSyntax operand)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (3)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 34protected override VariableDeclaratorSyntax WithInitializer(VariableDeclaratorSyntax variable, ExpressionSyntax value) 57protected override ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (5)
23: AbstractUseConditionalExpressionForReturnCodeFixProvider<StatementSyntax, IfStatementSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 44protected override ExpressionSyntax WrapIfStatementIfNecessary(IConditionalOperation operation) 52protected override ExpressionSyntax WrapReturnExpressionIfNecessary(ExpressionSyntax returnExpression, IOperation returnOperation) 60protected override ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (1)
18public static ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseDeconstruction\CSharpUseDeconstructionCodeFixProvider.cs (1)
145private ExpressionSyntax CreateTupleOrDeclarationExpression(INamedTypeSymbol tupleType, TypeSyntax typeNode)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
167SeparatedList<ExpressionSyntax>(expressionsAndCommasToWrap));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExpressionBodyForLambda\UseExpressionBodyForLambdaCodeActionHelpers.cs (3)
28var expressionBody = UseExpressionBodyForLambdaHelpers.GetBodyAsExpression(lambdaExpression); 38semanticModel, declaration, declaration.GetLanguageVersion(), ExpressionBodyPreference.WhenPossible, cancellationToken, out var expressionBody)) 57SemanticModel semanticModel, LambdaExpressionSyntax lambdaExpression, ExpressionSyntax expressionBody)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (3)
106var tupleDeclaration = GenerateTupleDeclaration( 182private static ExpressionSyntax GenerateTupleDeclaration( 197ExpressionSyntax newDeclaration;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (19)
72var updatedNode = FixOne(result, generator); 83private static ExpressionSyntax FixOne(Result result, SyntaxGenerator generator) 110var expression = invocation.Expression is MemberAccessExpressionSyntax memberAccess 155(ExpressionSyntax? startExpr, bool startFromEnd, ExpressionSyntax? endExpr, bool endFromEnd) GetComputedRangeData() 165return (startExpr: null, startFromEnd: false, (ExpressionSyntax)subtraction.RightOperand.Syntax, endFromEnd: true); 170return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 179return ((ExpressionSyntax)subtraction.RightOperand.Syntax, startFromEnd: true, endExpr: null, endFromEnd: false); 184return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 200var startExpr = (ExpressionSyntax)startOperation.Syntax; 203ExpressionSyntax? endExpr = null; 215endExpr = (ExpressionSyntax)endOperation.Syntax; 231private static ExpressionSyntax? WalkUpCheckedExpressions(ExpressionSyntax? expr) 246return RangeExpression(leftOperand: null, WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax)); 251return RangeExpression(leftOperand: null, IndexExpression(WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax))); 265constant1 == 0 ? null : WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax), 266IndexExpression((ExpressionSyntax)generator.LiteralExpression(constant2 - constant1)));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\Helpers.cs (1)
15public static PrefixUnaryExpressionSyntax IndexExpression(ExpressionSyntax expr)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (3)
65private static ExpressionSyntax Rewrite(BinaryExpressionSyntax binary) 93BinaryExpressionSyntax binary, ExpressionSyntax expr, ExpressionSyntax nullLiteral)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForReferenceEqualsCodeFixProvider.cs (6)
22: AbstractUseIsNullCheckForReferenceEqualsCodeFixProvider<ExpressionSyntax> 33private static SyntaxNode CreateEqualsNullCheck(ExpressionSyntax argument) 36private static SyntaxNode CreateIsNullCheck(ExpressionSyntax argument) 39private static SyntaxNode CreateIsNotNullCheck(ExpressionSyntax argument) 58protected override SyntaxNode CreateNullCheck(ExpressionSyntax argument, bool isUnconstrainedGeneric) 63protected override SyntaxNode CreateNotNullCheck(ExpressionSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (6)
60List<ExpressionSyntax> references)>(diagnostics.Length); 69var references = new List<ExpressionSyntax>(diagnostic.AdditionalLocations.Count - 2); 73references.Add((ExpressionSyntax)diagnostic.AdditionalLocations[i].FindNode(getInnermostNodeForTie: true, cancellationToken)); 180ImmutableArray<ExpressionSyntax> references) 228var expressionBody = anonymousFunction.Body is ExpressionSyntax expression 232var semicolonToken = anonymousFunction.Body is ExpressionSyntax
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
22ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\CSharpUseObjectInitializerCodeFixProvider.cs (5)
22using ObjectInitializerMatch = Match<ExpressionSyntax, StatementSyntax, MemberAccessExpressionSyntax, ExpressionStatementSyntax>; 30ExpressionSyntax, 70private SeparatedSyntaxList<ExpressionSyntax> CreateExpressions( 77UseInitializerHelpers.AddExistingItems<ObjectInitializerMatch, ExpressionSyntax>( 106return SeparatedList<ExpressionSyntax>(nodesAndTokens);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\UseInitializerHelpers.cs (4)
18SeparatedSyntaxList<ExpressionSyntax> expressions) 27var firstExpression = expressions.First(); 39Func<TMatch?, ExpressionSyntax, TElementSyntax> createElement) 50nodesAndTokens.Add(createElement(null, (ExpressionSyntax)nodeOrToken.AsNode()!));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (3)
84editor.ReplaceNode(expression, IsPatternExpression((ExpressionSyntax)pattern.Target.Syntax, patternSyntax)); 121private static ExpressionSyntax AsExpressionSyntax(ExpressionSyntax expr, AnalyzedPattern p)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (6)
58var parent = binaryExpression ?? (ExpressionSyntax?)isPatternExpression; 84var toReplace = parent.WalkUpParentheses(); 93var whenNotNull = conditionalAccessExpression.WhenNotNull; 101static ExpressionSyntax RewriteMemberBindingToExpression(ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (5)
94var comparison = (ExpressionSyntax)comparisonLocation.FindNode(cancellationToken); 107var condition = GetCondition(languageVersion, comparison, asExpression, declarationPattern); 159private static ExpressionSyntax GetCondition( 161ExpressionSyntax comparison,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
594if (identifier.GetRequiredParent() is ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
138ExpressionSyntax expression = node;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseTupleSwap\CSharpUseTupleSwapCodeFixProvider.cs (2)
55var exprA = assignment.Left.WalkDownParentheses().WithoutTrivia(); 56var exprB = assignment.Right.WalkDownParentheses().WithoutTrivia();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (4)
171var stringLiteral = CreateUtf8String(SyntaxTriviaList.Empty, stringValue, argumentList.Arguments.Last().GetTrailingTrivia(), isConvertedToReadOnlySpan); 182private static ExpressionSyntax CreateUtf8String(SyntaxNode nodeToTakeTriviaFrom, string stringValue, bool isConvertedToReadOnlySpan) 187private static ExpressionSyntax CreateUtf8String(SyntaxTriviaList leadingTrivia, string stringValue, SyntaxTriviaList trailingTrivia, bool isConvertedToReadOnlySpan) 191var stringLiteral = ParseExpression(QuoteCharacter + stringValue + QuoteCharacter + Suffix).WithLeadingTrivia(leadingTrivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (1)
15if (argument is ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
99ExpressionSyntax GenerateAttributeSyntax(TypedConstant constant)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
636if (anonymousFunctionSyntax.ExpressionBody is ExpressionSyntax expressionBody)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
26var expression = ExpressionGenerator.GenerateNonEnumValueExpression(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
64var value = CreateEnumMemberValue(destination, enumMember); 72private static ExpressionSyntax? CreateEnumMemberValue( 117var lastExpression = lastMember.EqualsValue!.Value;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (19)
24public static ExpressionSyntax GenerateExpression( 50private static ExpressionSyntax GenerateNullLiteral() 53internal static ExpressionSyntax GenerateExpression( 61return (ExpressionSyntax)CSharpFlagsEnumGenerator.Instance.CreateEnumConstantValue(enumType, value); 75internal static ExpressionSyntax GenerateNonEnumValueExpression(ITypeSymbol? type, object? value, bool canUseFieldReference) 77var intermediaryValue = value switch 95: (ExpressionSyntax)CSharpSyntaxGeneratorInternal.Instance.DefaultExpression(type), 105private static ExpressionSyntax GenerateBooleanLiteralExpression(bool val) 112private static ExpressionSyntax GenerateStringLiteralExpression(string val) 119private static ExpressionSyntax GenerateCharLiteralExpression(char val) 180private static ExpressionSyntax GenerateDoubleLiteralExpression(ITypeSymbol? type, double value, bool canUseFieldReference) 209private static ExpressionSyntax GenerateSingleLiteralExpression(ITypeSymbol? type, float value, bool canUseFieldReference) 238private static ExpressionSyntax GenerateNonNegativeLiteralExpression<T>( 249private static ExpressionSyntax GenerateLiteralExpression<T>( 259var result = GenerateFieldReference(type, value, constants); 286private static ExpressionSyntax? GenerateFieldReference<T>(ITypeSymbol? type, T value, IEnumerable<KeyValuePair<T, string>> constants) 293var memberAccess = GenerateMemberAccess("System", typeof(T).Name); 307private static ExpressionSyntax GenerateMemberAccess(params ReadOnlySpan<string> names) 309ExpressionSyntax result = IdentifierName(GlobalKeyword);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (1)
95var initializer = CodeGenerationFieldInfo.GetInitializer(field) is ExpressionSyntax initializerNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (1)
110private static ExpressionSyntax GenerateEqualsValueClauseWorker(IParameterSymbol parameter, object? value)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\PropertyGenerator.cs (1)
115var initializer = CodeGenerationPropertyInfo.GetInitializer(property) is ExpressionSyntax initializerNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeRefactorings\CSharpRefactoringHelpersService.cs (1)
16internal sealed class CSharpRefactoringHelpersService() : AbstractRefactoringHelpersService<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (2)
52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CastExpressionSyntaxExtensions.cs (2)
15public static ExpressionSyntax Uncast(this CastExpressionSyntax node) 28var resultNode = node.Expression
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
281var expr = parenExpr.Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (8)
1544SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1549while (node is ExpressionSyntax && node.GetLastToken(includeZeroWidth: true) == leftToken) 2785ExpressionSyntax? parentExpression = null; 2832if (token.IsLastTokenOfNode<ExpressionSyntax>(out var expression)) 2855ExpressionSyntax nameExpr = type; 2858nameExpr = (ExpressionSyntax)nameExpr.Parent!; 2912private static bool IsRightSideName(ExpressionSyntax name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (9)
18public static ExpressionSyntax Parenthesize( 19this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 52this ExpressionSyntax expression, bool includeElasticTrivia) 54var withoutTrivia = expression.WithoutTrivia(); 83this ExpressionSyntax expression, 86var parenthesized = expression.Parenthesize(); 97public static ExpressionSyntax CastIfPossible( 98this ExpressionSyntax expression, 163this ExpressionSyntax name,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (1)
21public static ITypeSymbol DetermineParameterType(ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
26public static ExpressionSyntax GenerateExpressionSyntax(this ITypeSymbol typeSymbol, bool nameSyntax = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (9)
16private sealed class ExpressionSyntaxGeneratorVisitor : SymbolVisitor<ExpressionSyntax> 29public override ExpressionSyntax DefaultVisit(ISymbol symbol) 33where TExpressionSyntax : ExpressionSyntax 41public override ExpressionSyntax VisitNamedType(INamedTypeSymbol symbol) 59var container = symbol.ContainingType.Accept(this)!; 77var container = symbol.ContainingNamespace.Accept(this)!; 85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol) 102var container = symbol.ContainingNamespace.Accept(this)!; 108ISymbol symbol, ExpressionSyntax container, SimpleNameSyntax syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
99[.. Enumerable.Repeat<ExpressionSyntax>(OmittedArraySizeExpression(), arrayType.Rank)]));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (1)
114ExpressionSyntax? expression = null;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (23)
74=> SyntaxFactory.EqualsValueClause(operatorToken, (ExpressionSyntax)value); 82expression == null ? null : SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression))]); 89=> SyntaxFactory.ConditionalAccessExpression((ExpressionSyntax)expression, (ExpressionSyntax)whenNotNull); 95=> SyntaxFactory.RefExpression((ExpressionSyntax)expression); 103ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 109=> SyntaxFactory.YieldStatement(SyntaxKind.YieldReturnStatement, (ExpressionSyntax)expression); 131=> SyntaxFactory.Interpolation((ExpressionSyntax)syntaxNode); 134=> SyntaxFactory.InterpolationAlignmentClause(CommaToken, (ExpressionSyntax)alignment); 211(ExpressionSyntax)expression, 219=> SyntaxFactory.ConstantPattern((ExpressionSyntax)expression); 227=> SyntaxFactory.RelationalPattern(LessThanToken, (ExpressionSyntax)expression); 230=> SyntaxFactory.RelationalPattern(LessThanEqualsToken, (ExpressionSyntax)expression); 233=> SyntaxFactory.RelationalPattern(GreaterThanToken, (ExpressionSyntax)expression); 236=> SyntaxFactory.RelationalPattern(GreaterThanEqualsToken, (ExpressionSyntax)expression); 256=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)ParenthesizeNonSimple(expression)).WithAdditionalAnnotations(Simplifier.Annotation); 314ParenthesizeLeft((ExpressionSyntax)expression), 321internal static ExpressionSyntax ParenthesizeLeft(ExpressionSyntax expression) 336return (ExpressionSyntax)Parenthesize(expression); 343=> SyntaxFactory.BinaryExpression(syntaxKind, (ExpressionSyntax)ParenthesizeNonSimple(left), (ExpressionSyntax)ParenthesizeNonSimple(right)); 349=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)ParenthesizeNonSimple(expression)).WithAdditionalAnnotations(Simplifier.Annotation);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (26)
52private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right) 78out var operatorToken, out var left, out var right)) 80var types = InferTypeInBinaryOrAssignmentExpression((ExpressionSyntax)node, operatorToken, left, right, left).Where(IsUsableTypeFunc); 83types = InferTypeInBinaryOrAssignmentExpression((ExpressionSyntax)node, operatorToken, left, right, right).Where(IsUsableTypeFunc); 127var expression = node as ExpressionSyntax; 948private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 996var otherSide = onRightOfToken ? left : right; 1083private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1115ExpressionSyntax expressionOpt = null, 1170private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1321private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1352private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1378ExpressionSyntax expressionOpt = null, 1423foreach (var sibling in initializerExpression.Expressions.Where(e => e.Kind() != SyntaxKind.ComplexElementInitializerExpression)) 1450foreach (var sibling in initializerExpression.Expressions) 1763ExpressionSyntax expressionOpt = null, 1835var argumentExpression = invocation.ArgumentList.Arguments[0].Expression; 1958var argumentExpression = attributeArgumentSyntax.Expression; 2316private IEnumerable<TypeInferenceInfo> InferTypeInVariableComponentAssignment(ExpressionSyntax left) 2383var expr = arg.Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (3)
30public static Argument<ExpressionSyntax> GetArgument(ArgumentSyntax argument) 232=> body is ExpressionSyntax or ArrowExpressionClauseSyntax; 247ExpressionSyntax expression => expression.TryConvertToStatement(semicolonToken, createReturnStatementForExpression, out statement),
Microsoft.CodeAnalysis.CSharp.Features (830)
AddImport\CSharpAddImportCodeRefactoringProvider.cs (1)
19ExpressionSyntax,
ChangeSignature\CSharpChangeSignatureService.cs (1)
607ExpressionSyntax lastArgumentExpression;
CodeFixes\GenerateType\GenerateTypeCodeFixProvider.cs (1)
53ExpressionSyntax expression => expression.GetRightmostName(),
CodeFixes\Suppression\CSharpSuppressionCodeFixProvider.cs (1)
55var ids = new SeparatedSyntaxList<ExpressionSyntax>().Add(id);
CodeRefactorings\AddAwait\CSharpAddAwaitCodeRefactoringProvider.cs (1)
22: AbstractAddAwaitCodeRefactoringProvider<ExpressionSyntax>
CodeRefactorings\ConvertLocalFunctionToMethod\CSharpConvertLocalFunctionToMethodCodeRefactoringProvider.cs (1)
242newNode = ((ExpressionSyntax)newNode).Parenthesize();
CodeRefactorings\InlineMethod\CSharpInlineMethodRefactoringProvider.cs (5)
20: AbstractInlineMethodRefactoringProvider<BaseMethodDeclarationSyntax, StatementSyntax, ExpressionSyntax, InvocationExpressionSyntax> 29protected override ExpressionSyntax? GetRawInlineExpression(BaseMethodDeclarationSyntax methodDeclarationSyntax) 62protected override ExpressionSyntax GenerateLiteralExpression(ITypeSymbol typeSymbol, object? value) 68protected override bool IsValidExpressionUnderExpressionStatement(ExpressionSyntax expressionNode) 120private static bool IsNullConditionalInvocationExpression(ExpressionSyntax expressionSyntax)
CodeRefactorings\InlineTemporary\InlineTemporaryCodeRefactoringProvider.cs (11)
106var identifierNode = identifier.WalkUpParentheses(); 139var expressionToInline = await CreateExpressionToInlineAsync(document, declarator, cancellationToken).ConfigureAwait(false); 187.OfType<ExpressionSyntax>() 344var parentExpressions = scope.AncestorsAndSelf().OfType<ExpressionSyntax>(); 430private static async Task<ExpressionSyntax> CreateExpressionToInlineAsync( 437var expression = variableDeclarator.Initializer.Value.WalkDownParentheses(); 439var expressionToInline = CreateExpressionToInline(); 448ExpressionSyntax CreateExpressionToInline() 500private static SyntaxNode GetTopMostParentingExpression(ExpressionSyntax expression) 501=> expression.AncestorsAndSelf().OfType<ExpressionSyntax>().Last(); 503private static bool IsInDeconstructionAssignmentLeft(ExpressionSyntax node)
CodeRefactorings\SyncNamespace\CSharpChangeNamespaceService.cs (2)
167var memberAccessNamespaceName = CreateNamespaceAsMemberAccess(newNamespaceParts, aliasQualifier, newNamespaceParts.Length - 1); 433private static ExpressionSyntax CreateNamespaceAsMemberAccess(ImmutableArray<string> namespaceParts, string? aliasQualifier, int index)
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (25)
151static SyntaxNode AdjustBinaryExpressionOperands(BinaryExpressionSyntax logicalAnd, ExpressionSyntax replacement) 162private static Func<SyntaxNode, SyntaxNode>? CombineWhenClauseCondition(PatternSyntax switchPattern, ExpressionSyntax condition, SemanticModel model) 268private static PatternSyntax CreatePattern(ExpressionSyntax originalReceiver, ExpressionOrPatternSyntax target, bool flipped) 276ExpressionSyntax constant => originalReceiver.Parent switch 305ExpressionSyntax rightReceiver, 328private static (ExpressionSyntax Receiver, ExpressionOrPatternSyntax Target, bool Flipped)? TryDetermineReceiver( 329ExpressionSyntax node, 369static (ExpressionSyntax Expression, ExpressionSyntax Constant, bool Flipped)? TryDetermineConstant(BinaryExpressionSyntax node, SemanticModel model) 386ExpressionSyntax expression = names[^1]; 416private static (ExpressionSyntax CommonReceiver, ImmutableArray<IdentifierNameSyntax> LeftNames, ImmutableArray<IdentifierNameSyntax> RightNames)? TryGetCommonReceiver( 417ExpressionSyntax left, 418ExpressionSyntax right, 426if (!TryGetInnermostReceiver(left, leftNames, out var leftReceiver, model) || 427!TryGetInnermostReceiver(right, rightNames, out var rightReceiver, model) || 433var commonReceiver = leftReceiver; 478static bool TryGetInnermostReceiver(ExpressionSyntax node, ArrayBuilder<IdentifierNameSyntax> builder, [NotNullWhen(true)] out ExpressionSyntax? receiver, SemanticModel model) 515private static ExpressionSyntax? GetInnermostReceiver(ExpressionSyntax node, ArrayBuilder<IdentifierNameSyntax> builder, SemanticModel model) 530private static ExpressionSyntax? GetInnermostReceiver<TArg>( 531ExpressionSyntax node, TArg arg, 537ExpressionSyntax? GetInnermostReceiver(ExpressionSyntax node) 565var right = GetInnermostReceiver(conditionalAccess.WhenNotNull);
Completion\CompletionProviders\AwaitCompletionProvider.cs (5)
134var node = location.Location.FindNode(cancellationToken) as ExpressionSyntax; 136node = node.GetRequiredParent() as ExpressionSyntax; 205var memberAccessExpression = memberAccess.Expression.WalkDownParentheses(); 212else if (potentialAwaitableExpression is ExpressionSyntax expression &&
Completion\CompletionProviders\ImportCompletion\ExtensionMemberImportCompletionProvider.cs (1)
75if (node is ExpressionSyntax expression &&
Completion\CompletionProviders\ObjectAndWithInitializerCompletionProvider.cs (1)
70if (token.Parent.Parent is not ExpressionSyntax expression)
Completion\CompletionProviders\ObjectCreationCompletionProvider.cs (1)
56return newToken.Parent as ExpressionSyntax;
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider.cs (2)
84var expression = dotToken.Kind() == SyntaxKind.DotToken 85? dotToken.Parent as ExpressionSyntax
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider_Conversions.cs (2)
88var expression = (ExpressionSyntax)dotToken.GetRequiredParent();
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (2)
103static ITypeSymbol? GetMemberAccessType(ITypeSymbol? type, ExpressionSyntax? expression, Document document, SemanticModel semanticModel, int position) 170private static (PropertyPatternClauseSyntax?, ExpressionSyntax?, SubpatternSyntax? editingSubpattern) TryGetPropertyPatternClause(SyntaxTree tree, int position, CancellationToken cancellationToken)
ConvertAnonymousType\CSharpConvertAnonymousTypeToClassCodeRefactoringProvider.cs (1)
21ExpressionSyntax,
ConvertAnonymousType\CSharpConvertAnonymousTypeToTupleCodeRefactoringProvider.cs (1)
25ExpressionSyntax,
ConvertAutoPropertyToFullProperty\CSharpConvertAutoPropertyToFullPropertyCodeRefactoringProvider.cs (1)
61ExpressionSyntax backingFieldExpression,
ConvertBetweenRegularAndVerbatimString\AbstractConvertBetweenRegularAndVerbatimStringCodeRefactoringProvider.cs (1)
22where TStringExpressionSyntax : ExpressionSyntax
ConvertCast\CSharpConvertDirectCastToTryCastCodeRefactoringProvider.cs (1)
53var newExpression = castExpression.Expression
ConvertCast\CSharpConvertTryCastToDirectCastCodeRefactoringProvider.cs (1)
44var expression = asExpression.Left;
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (3)
64var foreachCollectionExpression = foreachStatement.Expression; 94EqualsValueClause((ExpressionSyntax)generator.LiteralExpression(0)))]), 96(ExpressionSyntax)generator.LessThanExpression(
ConvertForToForEach\CSharpConvertForToForEachCodeRefactoringProvider.cs (7)
22ExpressionSyntax, 44[NotNullWhen(true)] out ExpressionSyntax? initializer, 46out ExpressionSyntax? stepValueExpressionOpt, 77SyntaxToken iterationVariable, ExpressionSyntax incrementor, out ExpressionSyntax? stepValue) 84ExpressionSyntax operand; 116ExpressionSyntax collectionExpression,
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (1)
36return syntax is ExpressionSyntax expressionSyntax &&
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.cs (1)
20: AbstractConvertIfToSwitchCodeRefactoringProvider<IfStatementSyntax, ExpressionSyntax, BinaryExpressionSyntax, PatternSyntax>
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (6)
31ExpressionSyntax target, ImmutableArray<AnalyzedSwitchSection> sections, Feature feature) 58private static ExpressionSyntax AsExpressionSyntax(IOperation operation) 61IReturnOperation { ReturnedValue.Syntax: ExpressionSyntax value } => value, 62IThrowOperation { Exception.Syntax: ExpressionSyntax exception } => ThrowExpression(exception), 68IfStatementSyntax ifStatement, ExpressionSyntax expression, IEnumerable<SyntaxNode> sectionList) 86private static WhenClauseSyntax? AsWhenClause(ExpressionSyntax? expression)
ConvertLinq\ConvertForEachToLinqQuery\AbstractConverter.cs (12)
37protected ExpressionSyntax CreateQueryExpressionOrLinqInvocation( 38ExpressionSyntax selectExpression, 55ExpressionSyntax selectExpression, 122private ExpressionSyntax CreateLinqInvocationOrSimpleExpression( 123ExpressionSyntax selectExpression, 141private ExpressionSyntax CreateLinqInvocationOrSimpleExpression( 143ExpressionSyntax receiverForInvocation, 146ExpressionSyntax selectExpression, 164var lambdaBody = CreateLinqInvocationForExtendedNode(selectExpression, ref currentExtendedNodeIndex, ref receiverForInvocation, ref hasForEachChild); 219private ExpressionSyntax CreateLinqInvocationForExtendedNode( 220ExpressionSyntax selectExpression, 222ref ExpressionSyntax receiver,
ConvertLinq\ConvertForEachToLinqQuery\AbstractToMethodConverter.cs (10)
25ExpressionSyntax selectExpression, 26ExpressionSyntax modifyingExpression, 31private readonly ExpressionSyntax _selectExpression = selectExpression; 35private readonly ExpressionSyntax _modifyingExpression = modifyingExpression; 42protected abstract bool CanReplaceInitialization(ExpressionSyntax expressionSyntax, CancellationToken cancellationToken); 44protected abstract StatementSyntax CreateDefaultStatement(ExpressionSyntax queryOrLinqInvocationExpression, ExpressionSyntax expression); 48var queryOrLinqInvocationExpression = CreateQueryExpressionOrLinqInvocation( 101void Convert(ExpressionSyntax replacingExpression, SyntaxNode nodeToRemoveIfFollowedByReturn) 179protected InvocationExpressionSyntax CreateInvocationExpression(ExpressionSyntax queryOrLinqInvocationExpression)
ConvertLinq\ConvertForEachToLinqQuery\CSharpConvertForEachToLinqQueryProvider.cs (3)
216var expression = expressionStatement.Expression; 231var operand = postfixUnaryExpression.Operand; 258var selectExpression = invocationExpression.ArgumentList.Arguments.Single().Expression;
ConvertLinq\ConvertForEachToLinqQuery\ToCountConverter.cs (5)
19ExpressionSyntax selectExpression, 20ExpressionSyntax modifyingExpression, 27ExpressionSyntax expression, 41protected override StatementSyntax CreateDefaultStatement(ExpressionSyntax queryOrLinqInvocationExpression, ExpressionSyntax expression)
ConvertLinq\ConvertForEachToLinqQuery\ToToListConverter.cs (5)
20ExpressionSyntax selectExpression, 21ExpressionSyntax modifyingExpression, 29ExpressionSyntax expression, CancellationToken cancellationToken) 46protected override StatementSyntax CreateDefaultStatement(ExpressionSyntax queryOrLinqInvocationExpression, ExpressionSyntax expression)
ConvertLinq\ConvertForEachToLinqQuery\YieldReturnConverter.cs (1)
25var queryOrLinqInvocationExpression = CreateQueryExpressionOrLinqInvocation(
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (17)
126ExpressionSyntax expression1; 160ExpressionSyntax expression2; 256if (currentNode is ExpressionSyntax or 377Func<ExpressionSyntax, ExpressionSyntax, StatementSyntax> leafExpressionCreationMethod, 378ExpressionSyntax initializer, 391out var variable, 413ExpressionSyntax initializer, 415out ExpressionSyntax variable, 423ExpressionSyntax variableExpression, 424ExpressionSyntax expressionToVerifyType, 426out ExpressionSyntax variableLocal, 517ExpressionSyntax expression, 571static StatementSyntax internalNodeMethod(ExpressionSyntax expression) 659var lastSelectExpression = ((SelectClauseSyntax)queryExpressionProcessingInfo.Stack.Peek()).Expression; 789Func<ExpressionSyntax, StatementSyntax> leafExpressionCreationMethod, 904private bool IsLocalOrParameterSymbol(ExpressionSyntax expression)
ConvertPrimaryToRegularConstructor\ConvertPrimaryToRegularConstructorCodeRefactoringProvider.cs (2)
467var left = parameter.Name == field.Name 469: (ExpressionSyntax)fieldName;
ConvertProgram\ConvertProgramTransform_TopLevelStatements.cs (1)
301(ExpressionSyntax)CSharpSyntaxGenerator.Instance.DefaultExpression(field.Type)));
ConvertToInterpolatedString\CSharpConvertConcatenationToInterpolatedStringRefactoringProvider.cs (1)
18AbstractConvertConcatenationToInterpolatedStringRefactoringProvider<ExpressionSyntax>
ConvertToInterpolatedString\CSharpConvertPlaceholderToInterpolatedStringRefactoringProvider.cs (2)
18ExpressionSyntax, 26protected override ExpressionSyntax ParseExpression(string text)
ConvertToRawString\ConvertInterpolatedStringToRawStringCodeRefactoringProvider.cs (2)
498foreach (var descendant in interpolation.DescendantNodes().OfType<ExpressionSyntax>())
ConvertToRawString\ConvertStringToRawStringCodeRefactoringProvider.cs (10)
50ExpressionSyntax expression, 79if (token.Parent is not ExpressionSyntax parentExpression) 129ExpressionSyntax expression, 138var replacement = provider.Convert(parsedDocument, expression, kind, options, cancellationToken); 156using var _ = PooledDictionary<ExpressionSyntax, IConvertStringProvider>.GetInstance(out var expressionToProvider); 161foreach (var expression in node.DepthFirstTraversalNodes().OfType<ExpressionSyntax>()) 198if (expression.Ancestors().OfType<ExpressionSyntax>().Any(static (e, expressionToProvider) => expressionToProvider.ContainsKey(e), expressionToProvider)) 205if (current is not ExpressionSyntax currentExpression) 210var replacement = provider.Convert(currentParsedDocument, currentExpression, kind, formattingOptions, cancellationToken);
ConvertToRawString\IConvertStringProvider.cs (7)
15ExpressionSyntax expression, 20ExpressionSyntax Convert( 22ExpressionSyntax expression, 29where TStringExpression : ExpressionSyntax 33public bool CanConvert(ParsedDocument document, ExpressionSyntax expression, SyntaxFormattingOptions formattingOptions, out CanConvertParams convertParams, CancellationToken cancellationToken) 41public ExpressionSyntax Convert(ParsedDocument document, ExpressionSyntax expression, ConvertToRawKind kind, SyntaxFormattingOptions formattingOptions, CancellationToken cancellationToken)
ConvertTupleToStruct\CSharpConvertTupleToStructCodeRefactoringProvider.cs (1)
18ExpressionSyntax,
Debugging\CSharpProximityExpressionsService.cs (1)
55var expression = SyntaxFactory.ParseExpression(expressionValue);
Debugging\CSharpProximityExpressionsService.RelevantExpressionsCollector.cs (1)
106ExpressionSyntax component,
Debugging\CSharpProximityExpressionsService_ExpressionTermCollector.cs (8)
16private static string ConvertToString(ExpressionSyntax expression) 18var converted = expression.ConvertToSingleLine(); 22private static void AddExpressionTerms(ExpressionSyntax expression, IList<string> terms) 38private static void AddIfValidTerm(ExpressionSyntax expression, ExpressionType type, IList<string> terms) 54private static void AddSubExpressionTerms(ExpressionSyntax expression, IList<string> terms, ref ExpressionType expressionType) 332private static void AddBinaryExpressionTerms(ExpressionSyntax binaryExpression, ExpressionSyntax left, ExpressionSyntax right, IList<string> terms, ref ExpressionType expressionType)
Debugging\DataTipInfoGetter.cs (3)
18ExpressionSyntax, 30if (token.Parent is not ExpressionSyntax expression) 64var current = expression.GetRootConditionalAccessExpression() ?? expression;
Diagnostics\Analyzers\CSharpPreferFrameworkTypeDiagnosticAnalyzer.cs (2)
17ExpressionSyntax, 35protected override bool IsInMemberAccessOrCrefReferenceContext(ExpressionSyntax node)
Diagnostics\Analyzers\CSharpSimplifyTypeNamesDiagnosticAnalyzer.cs (2)
112if (!ExpressionSimplifier.Instance.TrySimplify((ExpressionSyntax)node, model, options, out var replacement, out issueSpan, cancellationToken))
DocumentationComments\CSharpDocumentationCommentSnippetService.cs (1)
164var expression = throwExpressionOrStatement switch
EditAndContinue\BreakpointSpans.cs (2)
426if (node is ExpressionSyntax expression) 962private static bool IsBreakableExpression(ExpressionSyntax expression)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (6)
418if (oldBody is ExpressionSyntax || 419newBody is ExpressionSyntax || 422Debug.Assert(oldBody is ExpressionSyntax or BlockSyntax); 423Debug.Assert(newBody is ExpressionSyntax or BlockSyntax); 2794var expression = GetExpressionFromStatementPart(containingStatementPart); 2821private static ExpressionSyntax GetExpressionFromStatementPart(SyntaxNode statement)
EditAndContinue\DeclarationBody\FieldWithInitializerDeclarationBody.cs (1)
26public ExpressionSyntax InitializerExpression
EditAndContinue\DeclarationBody\PropertyOrIndexerAccessorDeclarationBody.cs (1)
46/// <see cref="ExpressionSyntax"/> or <see cref="BlockSyntax"/> or <see langword="null"/>.
EditAndContinue\DeclarationBody\PropertyOrIndexerWithExplicitBodyDeclarationBody.cs (1)
22public ExpressionSyntax BodyExpression
EditAndContinue\SyntaxComparer.cs (2)
247if (node != null && node.Parent.IsKind(SyntaxKind.ForStatement) && node is ExpressionSyntax) 1327private static void GetLocalNames(ExpressionSyntax expression, ref List<SyntaxToken>? result)
EditAndContinue\SyntaxUtilities.cs (4)
96Debug.Assert(syntax is ExpressionSyntax or BlockSyntax); 107if (syntax is ExpressionSyntax { Parent: ArrowExpressionClauseSyntax }) 113if (syntax is ExpressionSyntax { Parent.Parent: VariableDeclaratorSyntax }) 119if (syntax is ExpressionSyntax { Parent.Parent: PropertyDeclarationSyntax })
ExtractMethod\CSharpExtractMethodService.cs (1)
21ExpressionSyntax>
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (13)
281ExpressionSyntax LiteralExpression(object value) 461var returnExpr = returnStatement.Expression; 504protected override ExpressionSyntax CreateFlowControlReturnExpression(ExtractMethodFlowControlInformation flowControlInformation, object flowValue) 506var flowValueExpression = ExpressionGenerator.GenerateExpression( 822protected override ExpressionSyntax CreateCallSignature() 825ExpressionSyntax methodExpression = 844var invocation = (ExpressionSyntax)InvocationExpression(methodExpression, ArgumentList([.. arguments])); 872ExpressionSyntax right) 886ExpressionSyntax initialValue, 926ExpressionSyntax CreateLeftExpression() 966var returnVariableExpression = variableInfos.Length switch 988ExpressionSyntax CreateReturnExpression(VariableInfo variableInfo)
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.ExpressionCodeGenerator.cs (6)
93var containingScope = (ExpressionSyntax)this.SelectionResult.GetContainingScope(); 95var expression = returnType.TypeKind == TypeKind.Array && containingScope is InitializerExpressionSyntax initializerExpression 104private ExpressionSyntax WrapInCheckedExpressionIfNeeded(ExpressionSyntax expression) 138var callSignature = CreateCallSignature().WithAdditionalAnnotations(CallSiteAnnotation);
ExtractMethod\CSharpSelectionResult.ExpressionResult.cs (5)
41var scope = firstToken.GetCommonRoot(lastToken).GetAncestorOrThis<ExpressionSyntax>(); 49if (GetContainingScope() is not ExpressionSyntax node) 83SemanticModel semanticModel, ExpressionSyntax node, CancellationToken cancellationToken) 86var expression = node.WalkDownParentheses();
ExtractMethod\CSharpSelectionValidator.cs (4)
40var selectionInExpression = commonRoot is ExpressionSyntax; 200SelectionInExpression = firstValidNode is ExpressionSyntax, 371var expression = selectionInfo.CommonRoot.GetAncestor<ExpressionSyntax>();
ExtractMethod\CSharpSelectionValidator.Validator.cs (2)
20ExpressionSyntax expression => CheckExpression(semanticModel, expression, cancellationToken), 44private static bool CheckExpression(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken)
ExtractMethod\Extensions.cs (1)
255=> node is ExpressionSyntax && node.Parent is CastExpressionSyntax;
GenerateMember\GenerateVariable\CSharpGenerateVariableService.cs (3)
25AbstractGenerateVariableService<CSharpGenerateVariableService, SimpleNameSyntax, ExpressionSyntax> 90out SyntaxToken identifierToken, out ExpressionSyntax simpleNameOrMemberAccessExpression, out bool isInExecutableBlock, out bool isConditionalAccessExpression) 170ExpressionSyntax expression,
GenerateType\CSharpGenerateTypeService.cs (19)
35AbstractGenerateTypeService<CSharpGenerateTypeService, SimpleNameSyntax, ObjectCreationExpressionSyntax, ExpressionSyntax, TypeDeclarationSyntax, ArgumentSyntax> 39protected override ExpressionSyntax GetLeftSideOfDot(SimpleNameSyntax simpleName) 42protected override bool IsInCatchDeclaration(ExpressionSyntax expression) 45protected override bool IsArrayElementType(ExpressionSyntax expression) 53ExpressionSyntax expression, 84protected override bool IsInInterfaceList(ExpressionSyntax expression) 112protected override bool TryGetNameParts(ExpressionSyntax expression, out IList<string> nameParts) 137ExpressionSyntax nameOrMemberAccessExpression = null; 144nameOrMemberAccessExpression = generateTypeServiceStateOptions.NameOrMemberAccessExpression = (ExpressionSyntax)simpleName.Parent; 148var leftSideExpression = simpleName.GetLeftSideOfDot(); 321ExpressionSyntax outerMostMemberAccessExpression = null; 329outerMostMemberAccessExpression = (ExpressionSyntax)nameOrMemberAccessExpression.Parent; 332outerMostMemberAccessExpression = outerMostMemberAccessExpression.GetAncestorsOrThis<ExpressionSyntax>().SkipWhile(n => n != null && n.IsKind(SyntaxKind.SimpleMemberAccessExpression)).FirstOrDefault(); 415foreach (var expression in initializer.Expressions) 428private static IMethodSymbol GetMethodSymbolIfPresent(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 504protected override bool IsInVariableTypeContext(ExpressionSyntax expression) 632internal override bool TryGetBaseList(ExpressionSyntax expression, out TypeKindOptions typeKindValue) 656internal override bool IsPublicOnlyAccessibility(ExpressionSyntax expression, Project project) 709internal override bool IsSimpleName(ExpressionSyntax expression)
InitializeParameter\CSharpAddParameterCheckCodeRefactoringProvider.cs (2)
27ExpressionSyntax, 59protected override StatementSyntax CreateParameterCheckIfStatement(ExpressionSyntax condition, StatementSyntax ifTrueStatement, CSharpSimplifierOptions options)
InitializeParameter\CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs (1)
23ExpressionSyntax>
InlineHints\CSharpInlineParameterNameHintsService.cs (1)
86private static HintKind GetKind(ExpressionSyntax arg)
IntroduceParameter\CSharpIntroduceParameterCodeRefactoringProvider.cs (1)
19ExpressionSyntax,
IntroduceVariable\CSharpIntroduceLocalForExpressionCodeRefactoringProvider.cs (5)
30ExpressionSyntax, 64var expression = expressionStatement.Expression; 80var expression = expressionStatement.Expression; 91ExpressionSyntax expression, 119ExpressionSyntax CreateDeclarationExpression()
IntroduceVariable\CSharpIntroduceVariableService.cs (13)
25AbstractIntroduceVariableService<CSharpIntroduceVariableService, ExpressionSyntax, TypeSyntax, TypeDeclarationSyntax, QueryExpressionSyntax, NameSyntax> 29protected override bool IsInNonFirstQueryClause(ExpressionSyntax expression) 45protected override bool IsInFieldInitializer(ExpressionSyntax expression) 50protected override bool IsInParameterInitializer(ExpressionSyntax expression) 53protected override bool IsInConstructorInitializer(ExpressionSyntax expression) 56protected override bool IsInAutoPropertyInitializer(ExpressionSyntax expression) 59protected override bool IsInExpressionBodiedMember(ExpressionSyntax expression) 79protected override bool IsInAttributeArgumentInitializer(ExpressionSyntax expression) 107protected override bool CanIntroduceVariableFor(ExpressionSyntax expression) 131protected override IEnumerable<SyntaxNode> GetContainingExecutableBlocks(ExpressionSyntax expression) 137protected override bool CanReplace(ExpressionSyntax expression) 140protected override bool IsExpressionInStaticLocalFunction(ExpressionSyntax expression) 149ISet<ExpressionSyntax> matches)
IntroduceVariable\CSharpIntroduceVariableService.Rewriter.cs (4)
21private readonly ISet<ExpressionSyntax> _matches; 23private Rewriter(SyntaxNode replacementNode, ISet<ExpressionSyntax> matches) 31if (node is ExpressionSyntax expression && _matches.Contains(expression)) 93public static SyntaxNode Visit(SyntaxNode node, SyntaxNode replacementNode, ISet<ExpressionSyntax> matches)
IntroduceVariable\CSharpIntroduceVariableService_IntroduceField.cs (3)
27ExpressionSyntax expression, 46var newQualifiedName = oldTypeDeclaration != null 48: (ExpressionSyntax)IdentifierName(newNameToken);
IntroduceVariable\CSharpIntroduceVariableService_IntroduceLocal.cs (16)
32ExpressionSyntax expression, 51var updatedExpression = expression.WithoutTrivia(); 112ExpressionSyntax expression, 118var oldBody = (ExpressionSyntax)oldLambda.Body; 121var rewrittenBody = Rewrite( 178ExpressionSyntax rewrittenBody, 228private static TypeSyntax GetTypeSyntax(SemanticDocument document, ExpressionSyntax expression, CancellationToken cancellationToken) 234ExpressionSyntax expression, 246var newExpression = Rewrite(document, expression, newLocalName, document, oldBody.Expression, allOccurrences, cancellationToken); 290ExpressionSyntax expression, 314var firstAffectedExpression = matches.OrderBy(m => m.SpanStart).First(); 322foreach (var match in matches) 360ExpressionSyntax expression, 426private static IEnumerable<StatementSyntax> GetApplicableStatementAncestors(ExpressionSyntax expr) 439private static int GetFirstStatementAffectedIndex(SyntaxNode innermostCommonBlock, ISet<ExpressionSyntax> matches, int firstStatementAffectedIndex)
IntroduceVariable\CSharpIntroduceVariableService_IntroduceQueryLocal.cs (2)
26SemanticDocument document, ExpressionSyntax expression, bool allOccurrences, CancellationToken cancellationToken) 77ExpressionSyntax expression,
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (1)
161.WithCondition((ExpressionSyntax)condition)
InvertLogical\CSharpInvertLogicalCodeRefactoringProvider.cs (1)
16AbstractInvertLogicalCodeRefactoringProvider<SyntaxKind, ExpressionSyntax, BinaryExpressionSyntax>
NavigationBar\CSharpNavigationBarItemService.cs (1)
155ExpressionSyntax)
ReplaceConditionalWithStatements\CSharpReplaceConditionalWithStatementsCodeRefactoringProvider.cs (1)
20ExpressionSyntax,
ReplaceMethodWithProperty\CSharpReplaceMethodWithPropertyService.cs (4)
262var expression = ReplaceReferencesToParameterWithValue( 341var argumentExpression = currentInvocation.ArgumentList.Arguments[0].Expression.Parenthesize(); 379var invocationExpression = invocation?.Expression; 392private static bool IsInvocationName(IdentifierNameSyntax nameNode, ExpressionSyntax invocationExpression)
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.cs (4)
33AbstractReplacePropertyWithMethodsService<IdentifierNameSyntax, ExpressionSyntax, NameMemberCrefSyntax, StatementSyntax, PropertyDeclarationSyntax> 74var initializer = propertyDeclaration.Initializer?.Value; 328protected override ExpressionSyntax UnwrapCompoundAssignment( 329SyntaxNode compoundAssignment, ExpressionSyntax readExpression)
ReverseForStatement\CSharpReverseForStatementCodeRefactoringProvider.cs (31)
60var after = forStatement.Incrementors[0]; 66if (MatchesIncrementPattern(variable, condition, after, out var start, out var equals, out var end) || 88ExpressionSyntax start, ExpressionSyntax end, CancellationToken cancellationToken) 111VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, ExpressionSyntax after, 112[NotNullWhen(true)] out ExpressionSyntax? start, out bool equals, [NotNullWhen(true)] out ExpressionSyntax? end) 122VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, ExpressionSyntax after, 123[NotNullWhen(true)] out ExpressionSyntax? end, [NotNullWhen(true)] out ExpressionSyntax? start) 131private static bool IsIncrementInitializer(VariableDeclaratorSyntax variable, [NotNullWhen(true)] out ExpressionSyntax? start) 139out bool equals, [NotNullWhen(true)] out ExpressionSyntax? end) 165VariableDeclaratorSyntax variable, ExpressionSyntax after) 195private static bool IsLiteralOne(ExpressionSyntax expression) 199VariableDeclaratorSyntax variable, [NotNullWhen(true)] out ExpressionSyntax? end) 207[NotNullWhen(true)] out ExpressionSyntax? start) 228VariableDeclaratorSyntax variable, ExpressionSyntax after) 258private static bool IsVariableReference(VariableDeclaratorSyntax variable, ExpressionSyntax expr) 267var after = forStatement.Incrementors[0]; 275out var start, out var equals, out var end)) 283var newStart = equals 285: (ExpressionSyntax)generator.SubtractExpression(end, generator.LiteralExpression(1)); 306private static ExpressionSyntax Reduce(ExpressionSyntax expr) 312var reducedLeft = Reduce(outerBinary.Left); 313var reducedRight = Reduce(outerBinary.Right); 359VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, ExpressionSyntax operand) 377private static ExpressionSyntax InvertAfter(ExpressionSyntax after)
SignatureHelp\AbstractGenericNameSignatureHelpProvider.cs (1)
53var beforeDotExpression = simpleName.IsRightSideOfDot() ? simpleName.GetLeftSideOfDot() : null;
SignatureHelp\ElementAccessExpressionSignatureHelpProvider.cs (9)
43private static bool TryGetElementAccessExpression(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace) 53if (!TryGetElementAccessExpression(root, position, document.GetRequiredLanguageService<ISyntaxFactsService>(), triggerInfo.TriggerReason, cancellationToken, out var expression, out var openBrace)) 112private static TextSpan GetTextSpan(ExpressionSyntax expression, SyntaxToken openBracket) 141out var expression, 179SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken, 195int position, SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken, 299internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace) 340internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace) 377internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace)
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_MethodGroup.cs (1)
45var throughExpression = memberAccess.Expression;
SignatureHelp\SignatureHelpUtilities.cs (1)
107var parenthesizedExpr = parenExpr.WalkUpParentheses();
SignatureHelp\TupleConstructionSignatureHelpProvider.cs (3)
114typeInferrer, syntaxFacts, cancellationToken, out var targetExpression); 125ITypeInferenceService typeInferrer, ISyntaxFactsService syntaxFacts, CancellationToken cancellationToken, out ExpressionSyntax? targetExpression) 133targetExpression = (ExpressionSyntax?)tupleExpression ?? parenthesizedExpression;
SimplifyThisOrMe\CSharpSimplifyThisOrMeDiagnosticAnalyzer.cs (2)
21ExpressionSyntax, 30protected override AbstractMemberAccessExpressionSimplifier<ExpressionSyntax, MemberAccessExpressionSyntax, ThisExpressionSyntax> Simplifier
SimplifyTypeNames\SimplifyTypeNamesCodeFixProvider.cs (1)
54var right = ((BinaryExpressionSyntax)annotatedexpressionSyntax).Right;
Snippets\AbstractCSharpForLoopSnippetProvider.cs (10)
39protected abstract ExpressionSyntax GenerateInitializerValue(SyntaxGenerator generator, SyntaxNode? inlineExpression); 41protected abstract ExpressionSyntax GenerateRightSideOfCondition(SyntaxGenerator generator, SyntaxNode? inlineExpression); 43protected abstract void AddSpecificPlaceholders(MultiDictionary<string, int> placeholderBuilder, ExpressionSyntax initializer, ExpressionSyntax rightOfCondition); 67var indexVariable = (ExpressionSyntax)generator.IdentifierName(iteratorName); 117var condition = forStatement.Condition; 118var incrementor = forStatement.Incrementors.Single(); 125var left = conditionExpression.Left; 130var operand = ((PostfixUnaryExpressionSyntax)incrementor!).Operand;
Snippets\CSharpConsoleSnippetProvider.cs (2)
20ExpressionSyntax, 49protected override ArgumentListSyntax GetArgumentList(ExpressionSyntax expression)
Snippets\CSharpDoWhileLoopSnippetProvider.cs (3)
25: AbstractConditionalBlockSnippetProvider<DoStatementSyntax, ExpressionSyntax> 39(ExpressionSyntax)(inlineExpressionInfo?.Node.WithoutLeadingTrivia() ?? generator.TrueLiteralExpression())); 42protected override ExpressionSyntax GetCondition(DoStatementSyntax node)
Snippets\CSharpForEachLoopSnippetProvider.cs (3)
47if (token is { RawKind: (int)SyntaxKind.AwaitKeyword, Parent: ExpressionSyntax { Parent: ExpressionStatementSyntax } } || 66var collectionIdentifier = (ExpressionSyntax?)inlineExpressionInfo?.Node;
Snippets\CSharpForLoopSnippetProvider.cs (6)
29protected override ExpressionSyntax GenerateInitializerValue(SyntaxGenerator generator, SyntaxNode? inlineExpression) 30=> (ExpressionSyntax)generator.LiteralExpression(0); 32protected override ExpressionSyntax GenerateRightSideOfCondition(SyntaxGenerator generator, SyntaxNode? inlineExpression) 33=> (ExpressionSyntax)(inlineExpression ?? generator.IdentifierName("length")); 35protected override void AddSpecificPlaceholders(MultiDictionary<string, int> placeholderBuilder, ExpressionSyntax initializer, ExpressionSyntax rightOfCondition)
Snippets\CSharpIfSnippetProvider.cs (2)
21internal sealed class CSharpIfSnippetProvider() : AbstractIfSnippetProvider<IfStatementSyntax, ExpressionSyntax> 30protected override ExpressionSyntax GetCondition(IfStatementSyntax node)
Snippets\CSharpLockSnippetProvider.cs (1)
31var expression = node.Expression;
Snippets\CSharpReversedForLoopSnippetProvider.cs (7)
29protected override ExpressionSyntax GenerateInitializerValue(SyntaxGenerator generator, SyntaxNode? inlineExpression) 32return (ExpressionSyntax)generator.SubtractExpression(subtractFrom, generator.LiteralExpression(1)); 35protected override ExpressionSyntax GenerateRightSideOfCondition(SyntaxGenerator generator, SyntaxNode? inlineExpression) 36=> (ExpressionSyntax)generator.LiteralExpression(0); 38protected override void AddSpecificPlaceholders(MultiDictionary<string, int> placeholderBuilder, ExpressionSyntax initializer, ExpressionSyntax rightOfCondition) 43var left = binaryInitializer.Left;
Snippets\CSharpUsingSnippetProvider.cs (1)
31var expression = node.Expression!;
Snippets\CSharpWhileLoopSnippetProvider.cs (2)
21internal sealed class CSharpWhileLoopSnippetProvider() : AbstractWhileLoopSnippetProvider<WhileStatementSyntax, ExpressionSyntax> 30protected override ExpressionSyntax GetCondition(WhileStatementSyntax node)
SplitOrMergeIfStatements\CSharpIfLikeStatementGenerator.cs (1)
109return ifStatement.WithCondition((ExpressionSyntax)condition);
src\roslyn\src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (13)
18ExpressionSyntax, ExpressionSyntax, SyntaxKind>(CSharpExpressionPrecedenceService.Instance) 49protected override int GetPrecedence(ExpressionSyntax binaryLike) 52protected override bool IsBinaryLike(ExpressionSyntax node) 59protected override (ExpressionSyntax, SyntaxToken, ExpressionSyntax) GetPartsOfBinaryLike(ExpressionSyntax binaryLike) 71protected override ExpressionSyntax? TryGetAppropriateParent(ExpressionSyntax binaryLike) 74ExpressionSyntax expression => expression, 75ConstantPatternSyntax { Parent: ExpressionSyntax expression } => expression, 76ConstantPatternSyntax { Parent: UnaryPatternSyntax { Parent: ExpressionSyntax expression } } => expression, 80protected override bool IsAsExpression(ExpressionSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (1)
24private ExpressionSyntax? _assignmentTargetOpt;
src\roslyn\src\Analyzers\CSharp\Analyzers\HiddenExplicitCast\CSharpHiddenExplicitCastDiagnosticAnalyzer.cs (2)
43var currentExpression = castExpression.Expression; 46var inner = currentExpression.WalkDownParentheses().WalkDownSuppressions();
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (1)
88var argumentExpression = argumentNode.Expression;
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (4)
122var expr = condition.Left.IsKind(SyntaxKind.NullLiteralExpression) 145bool InvocationExpressionIsEquivalent(ExpressionSyntax expression) 308private static bool IsNullCheckExpression(ExpressionSyntax left, ExpressionSyntax right)
src\roslyn\src\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (2)
18: AbstractQualifyMemberAccessDiagnosticAnalyzer<SyntaxKind, ExpressionSyntax, SimpleNameSyntax> 23protected override bool IsAlreadyQualifiedMemberAccess(ExpressionSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
31var left = node switch
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastDiagnosticAnalyzer.cs (3)
20: AbstractRemoveUnnecessaryCastDiagnosticAnalyzer<SyntaxKind, ExpressionSyntax> 25protected override bool IsUnnecessaryCast(SemanticModel model, ExpressionSyntax cast, CancellationToken cancellationToken) 28protected override TextSpan GetFadeSpan(ExpressionSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (6)
87var invokedExpression = invocation.Expression; 192foreach (var candidate in outermostBody.DescendantNodes().OfType<ExpressionSyntax>()) 208var rewrittenExpression = analyzer.ReplacedExpression; 288private static bool MayHaveSideEffects(ExpressionSyntax expression) 334ExpressionSyntax expression,
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
50var inner = parenthesizedExpression.Expression; 56ExpressionSyntax parentExpression;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyBooleanExpression\CSharpSimplifyConditionalDiagnosticAnalyzer.cs (2)
19ExpressionSyntax, 25protected override CommonConversion GetConversion(SemanticModel semanticModel, ExpressionSyntax node, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationDiagnosticAnalyzer.cs (2)
18: AbstractSimplifyInterpolationDiagnosticAnalyzer<InterpolationSyntax, ExpressionSyntax> 22protected override AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax> Helpers => CSharpSimplifyInterpolationHelpers.Instance;
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
11: AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax>
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
17ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyAccessor\CSharpSimplifyPropertyAccessorDiagnosticAnalyzer.cs (1)
71static bool IsFieldValueAssignmentExpression(ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (1)
49public static bool IsMergable([NotNullWhen(true)] ExpressionSyntax? expression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseAutoProperty\CSharpUseAutoPropertyAnalyzer.cs (11)
26ExpressionSyntax, 44protected override ExpressionSyntax? GetFieldInitializer(VariableDeclaratorSyntax variable, CancellationToken cancellationToken) 87bool CouldReferenceField(ExpressionSyntax expression) 94void AddIneligibleFieldsForExpression(ExpressionSyntax expression, bool alwaysRestricted = false) 153private static bool CheckExpressionSyntactically(ExpressionSyntax expression) 171protected override ExpressionSyntax? GetGetterExpression(IMethodSymbol getMethod, CancellationToken cancellationToken) 181var expr = GetGetterExpressionFromSymbol(getMethod, cancellationToken); 188private static ExpressionSyntax? GetGetterExpressionFromSymbol(IMethodSymbol getMethod, CancellationToken cancellationToken) 204protected override ExpressionSyntax? GetSetterExpression( 214var setExpression = GetExpressionFromSetter(setAccessor); 226private static ExpressionSyntax? GetExpressionFromSetter(AccessorDeclarationSyntax? setAccessor)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (4)
20ExpressionSyntax, 37protected override ExpressionSyntax GetConditionOfIfStatement(IfStatementSyntax ifStatement) 40protected override bool IsNullCheck(ExpressionSyntax condition, [NotNullWhen(true)] out ExpressionSyntax? checkedExpression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForArrayDiagnosticAnalyzer.cs (3)
156var arrayCreationExpression = isConcreteOrImplicitArrayCreation 157? (ExpressionSyntax)initializer.GetRequiredParent() 205SyntaxNodeAnalysisContext context, SyntaxTree syntaxTree, NotificationOption2 notification, ExpressionSyntax expression, bool changesSemantics)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (1)
155var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>(
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForEmptyDiagnosticAnalyzer.cs (2)
38var nodeToReplace = 42? (ExpressionSyntax)invocation
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (5)
25using FluentState = UpdateExpressionState<ExpressionSyntax, StatementSyntax>; 177var current = memberAccess.Expression; 292void AddFinalMatch(ExpressionSyntax expression) 326bool IsListLike(ExpressionSyntax expression) 343foreach (var expression in initializer.Expressions)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (22)
63ExpressionSyntax expression, 81ExpressionSyntax expression, 93var topMostExpression = expression.WalkUpParentheses(); 354SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 395using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionsToProcess); 396using var _2 = PooledHashSet<ExpressionSyntax>.GetInstance(out var seenExpressions); 405var locallyScopedExpression = expressionsToProcess.Pop().WalkUpParentheses(); 492void AddExpressionToProcess(ExpressionSyntax expression) 554if (argument.Parent is not BaseArgumentListSyntax { Parent: ExpressionSyntax parentInvocation } argumentList) 593bool IsPrimitiveConstant(ExpressionSyntax expression) 606i => i.IsToken ? i : CreateElement((ExpressionSyntax)i.AsNode()!)); 623CollectionElementSyntax CreateElement(ExpressionSyntax expression) 758where TArrayCreationExpressionSyntax : ExpressionSyntax 1025var argExpression = argument.Expression; 1059public static bool IsIterable(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1093ExpressionSyntax expression, 1168static bool IsPossiblyDottedGenericName(ExpressionSyntax expression) 1173if (expression is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: GenericNameSyntax } && 1182static bool IsPossiblyDottedName(ExpressionSyntax name) 1187if (name is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: IdentifierNameSyntax } && 1207var expression = arguments.Single().Expression; 1223nodeOrToken => nodeOrToken.IsToken ? nodeOrToken : Argument((ExpressionSyntax)nodeOrToken.AsNode()!)));
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (3)
11internal sealed class CSharpUpdateExpressionSyntaxHelper : IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> 20out ExpressionSyntax expression, 36out ExpressionSyntax condition,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (8)
19ExpressionSyntax, 29protected override IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> SyntaxHelper 167using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var spreadElements); 194var currentArgumentExpression = argumentList.Arguments[0].Expression; 195using var _2 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionPieces); 219var piece = expressionPieces[i]; 238foreach (var piece in expressionPieces) 241var current = piece;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (3)
28ExpressionSyntax, 71if (match.Node is ExpressionSyntax expression) 86foreach (var expression in initializer.Expressions)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (7)
62var coalesceLeft = coalesceExpression.Left; 63var coalesceRight = coalesceExpression.Right; 134if (!IsReferenceEqualsNullCheck(semanticModel, ifStatement.Condition, cancellationToken, out var testedExpression)) 174ExpressionSyntax condition, 176[NotNullWhen(true)] out ExpressionSyntax? testedExpression) 195var arg0 = invocation.ArgumentList.Arguments[0].Expression; 196var arg1 = invocation.ArgumentList.Arguments[1].Expression;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseExpressionBodyForLambda\UseExpressionBodyForLambdaHelpers.cs (5)
32var expressionBodyOpt = GetBodyAsExpression(declaration); 77var expressionBody = GetBodyAsExpression(declaration); 89internal static ExpressionSyntax? GetBodyAsExpression(LambdaExpressionSyntax declaration) 90=> declaration.Body as ExpressionSyntax; 114[NotNullWhen(true)] out ExpressionSyntax? expression)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
70SemanticModel semanticModel, ExpressionSyntax left, ExpressionSyntax right)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (2)
271var nodeToCheck = identifierName.WalkUpParentheses(); 336var value = variableDeclarator.Initializer.Value.WalkDownParentheses();
src\roslyn\src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (4)
20ExpressionSyntax, 43ISyntaxFacts syntaxFacts, ExpressionSyntax conditionNode, 44[NotNullWhen(true)] out ExpressionSyntax? conditionPartToCheck, out bool isEquals) 71[NotNullWhen(true)] out ExpressionSyntax? condition,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseNamedMemberInitializerAnalyzer.cs (1)
14ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseObjectInitializerDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (4)
92internal sealed class Constant(ExpressionSyntax expression, IOperation target) : AnalyzedPattern(target) 94public readonly ExpressionSyntax ExpressionSyntax = expression; 100internal sealed class Relational(BinaryOperatorKind operatorKind, ExpressionSyntax value, IOperation target) : AnalyzedPattern(target) 103public readonly ExpressionSyntax Value = value;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (5)
18return pattern?.Target.Syntax is ExpressionSyntax ? pattern : null; 101ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 106ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right 116ConstantResult.Left when op.LeftOperand.Syntax is ExpressionSyntax left 118ConstantResult.Right when op.RightOperand.Syntax is ExpressionSyntax right
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (4)
49var expression = (ExpressionSyntax)context.Node; 123private static bool IsTopmostExpression(ExpressionSyntax node) 130ExpressionSyntax => false,
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (10)
21private readonly ExpressionSyntax _comparison; 22private readonly ExpressionSyntax _operand; 31ExpressionSyntax comparison, 32ExpressionSyntax operand, 58ExpressionSyntax comparison, 59ExpressionSyntax operand, 229case ExpressionSyntax expression: 263if (node is ExpressionSyntax currentExpression && 269if (_declarator.DescendantNodesAndSelf().OfType<ExpressionSyntax>().Any( 312private bool CheckExpression(ExpressionSyntax exprsesion)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (8)
71var comparison = (ExpressionSyntax)node; 79var operand = GetNullCheckOperand(comparisonLeft, comparison.Kind(), comparisonRight)?.WalkDownParentheses(); 120var typeNode = asExpression.Right; 285var initializerValue = declarator.Initializer?.Value; 327private static ExpressionSyntax? GetNullCheckOperand(ExpressionSyntax left, SyntaxKind comparisonKind, SyntaxNode right) 333return (ExpressionSyntax)right;
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
196var declaratorValue = declarator.Initializer.Value.WalkDownParentheses();
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (1)
42var whenNotNull = parentConditionalAccess.WhenNotNull;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseTupleSwap\CSharpUseTupleSwapDiagnosticAnalyzer.cs (7)
81var localDeclarationExprA = variableDeclarator.Initializer?.Value.WalkDownParentheses(); 87if (!IsSimpleAssignment(firstAssignmentStatement, out var firstAssignmentExprA, out var firstAssignmentExprB)) 92if (!IsSimpleAssignment(secondAssignmentStatement, out var secondAssignmentExprB, out var secondAssignmentExprTemp)) 131[NotNullWhen(true)] out ExpressionSyntax? left, 132[NotNullWhen(true)] out ExpressionSyntax? right)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddAnonymousTypeMemberName\CSharpAddAnonymousTypeMemberNameCodeFixProvider.cs (2)
22ExpressionSyntax, 34protected override ExpressionSyntax GetExpression(AnonymousObjectMemberDeclaratorSyntax declarator)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\ArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(ArgumentSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\AttributeArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(AttributeArgumentSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddExplicitCast\CSharpAddExplicitCastCodeFixProvider.cs (8)
23: AbstractAddExplicitCastCodeFixProvider<ExpressionSyntax> 40protected override void GetPartsOfCastOrConversionExpression(ExpressionSyntax expression, out SyntaxNode type, out ExpressionSyntax castedExpression) 47protected override ExpressionSyntax Cast(ExpressionSyntax expression, ITypeSymbol type) 55ExpressionSyntax spanNode, 56ArrayBuilder<(ExpressionSyntax node, ITypeSymbol type)> candidates, 90SemanticModel semanticModel, ExpressionSyntax targetNode, ITypeSymbol conversionType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddParameter\CSharpAddParameterCodeFixProvider.cs (2)
28ExpressionSyntax, 52protected override Argument<ExpressionSyntax> GetArgument(ArgumentSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
72if (location is ExpressionSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (1)
28if (location is ExpressionSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (19)
22private sealed class Rewriter : CSharpSyntaxVisitor<ExpressionSyntax> 28private ExpressionSyntax? _assignmentTarget; 55var switchExpression = rewriter.RewriteSwitchStatement( 65ExpressionSyntax switchExpression, 93private ExpressionStatementSyntax GenerateAssignment(ExpressionSyntax switchExpression, SyntaxKind assignmentKind, SyntaxTriviaList leadingTrivia) 104private StatementSyntax GenerateVariableDeclaration(ExpressionSyntax switchExpression, ITypeSymbol? declaratorToRemoveType) 180public override ExpressionSyntax VisitAssignmentExpression(AssignmentExpressionSyntax node) 186private ExpressionSyntax CastIfChangeInRuntimeRepresentation(ExpressionSyntax node) 205private ExpressionSyntax RewriteStatements(SyntaxList<StatementSyntax> statements) 209var result = Visit(statements[0]); 214public override ExpressionSyntax VisitSwitchStatement(SwitchStatementSyntax node) 217private ExpressionSyntax RewriteSwitchStatement( 236var armExpression = Visit(nextStatement); 277public override ExpressionSyntax VisitReturnStatement(ReturnStatementSyntax node) 283public override ExpressionSyntax VisitThrowStatement(ThrowStatementSyntax node) 291public override ExpressionSyntax VisitExpressionStatement(ExpressionStatementSyntax node) 293var result = Visit(node.Expression); 298public override ExpressionSyntax DefaultVisit(SyntaxNode node)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (8)
288public static ImmutableArray<ExpressionSyntax> GetAssignmentValuesForNonPrimaryConstructor( 295? assignment.Syntax as ExpressionSyntax 305if (arg is { Parameter: IParameterSymbol param, Value.Syntax: ExpressionSyntax captured }) 360public static ImmutableArray<ExpressionSyntax> GetAssignmentValuesFromObjectCreation( 378var dictionaryBuilder = ImmutableDictionary<ISymbol, ExpressionSyntax>.Empty.ToBuilder(); 385Value: IOperation { Syntax: ExpressionSyntax syntax } 401private static ImmutableArray<ExpressionSyntax> GetAssignmentExpressionsFromValuesMap( 403ImmutableDictionary<ISymbol, ExpressionSyntax> assignmentValues)
src\roslyn\src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (2)
148var newExpr = (ExpressionSyntax)newNameNode;
src\roslyn\src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (1)
166var argumentExpression = tuple.Arguments[i].Expression;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (10)
26: AbstractGenerateConstructorService<CSharpGenerateConstructorService, ExpressionSyntax> 45out ImmutableArray<Argument<ExpressionSyntax>> arguments, 69private static ImmutableArray<Argument<ExpressionSyntax>> GetArguments(SeparatedSyntaxList<ArgumentSyntax> arguments) 72private static ImmutableArray<Argument<ExpressionSyntax>> GetArguments(SeparatedSyntaxList<AttributeArgumentSyntax> arguments) 73=> arguments.SelectAsArray(a => new Argument<ExpressionSyntax>( 83out ImmutableArray<Argument<ExpressionSyntax>> arguments, 115out ImmutableArray<Argument<ExpressionSyntax>> arguments, 150out ImmutableArray<Argument<ExpressionSyntax>> arguments, 173protected override string GenerateNameForExpression(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 176protected override ITypeSymbol GetArgumentType(SemanticModel semanticModel, Argument<ExpressionSyntax> argument, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateEnumMember\CSharpGenerateEnumMemberService.cs (2)
20AbstractGenerateEnumMemberService<CSharpGenerateEnumMemberService, SimpleNameSyntax, ExpressionSyntax> 28[NotNullWhen(true)] out ExpressionSyntax? simpleNameOrMemberAccessExpression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateConversionCodeFixProvider.cs (1)
43node is ExpressionSyntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateMethodCodeFixProvider.cs (1)
62node is ExpressionSyntax;
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateConversionService.cs (5)
25AbstractGenerateConversionService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 29return node is ExpressionSyntax && 42SemanticDocument document, AbstractGenerateParameterizedMemberService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state) 217protected override string GetImplicitConversionDisplayText(AbstractGenerateParameterizedMemberService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state) 220protected override string GetExplicitConversionDisplayText(AbstractGenerateParameterizedMemberService<CSharpGenerateConversionService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateDeconstructMethodService.cs (2)
24AbstractGenerateDeconstructMethodService<CSharpGenerateDeconstructMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 29protected override AbstractInvocationInfo CreateInvocationMethodInfo(SemanticDocument document, AbstractGenerateParameterizedMemberService<CSharpGenerateDeconstructMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state)
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateMethodService.cs (4)
26AbstractGenerateMethodService<CSharpGenerateMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 37protected override AbstractInvocationInfo CreateInvocationMethodInfo(SemanticDocument document, AbstractGenerateParameterizedMemberService<CSharpGenerateMethodService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>.State state) 82[NotNullWhen(true)] out ExpressionSyntax? simpleNameOrMemberAccessExpression, 147ExpressionSyntax expression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (2)
21internal abstract class CSharpGenerateParameterizedMemberService<TService> : AbstractGenerateParameterizedMemberService<TService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax> 22where TService : AbstractGenerateParameterizedMemberService<TService, SimpleNameSyntax, ExpressionSyntax, InvocationExpressionSyntax>
src\roslyn\src\Analyzers\CSharp\CodeFixes\HiddenExplicitCast\CSharpHiddenExplicitCastCodeFixProvider.cs (1)
52return currentCast.WithExpression((ExpressionSyntax)g.CastExpression(typeToInsert, currentCast.Expression));
src\roslyn\src\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (2)
88var invocationOrCreation = (ExpressionSyntax)invocationOrCreationLocation.FindNode(
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
89SemanticModel model, ExpressionSyntax? expression, [NotNullWhen(true)] out ITypeSymbol? returnExpressionType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
66ExpressionSyntax nextExpression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
67ExpressionSyntax nextExpression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (1)
25ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (2)
24internal sealed partial class CSharpRemoveAsyncModifierCodeFixProvider() : AbstractRemoveAsyncModifierCodeFixProvider<ReturnStatementSyntax, ExpressionSyntax> 33protected override SyntaxNode? ConvertToBlockBody(SyntaxNode node, ExpressionSyntax expressionBody)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (2)
76var left = isNode switch 85var withoutSuppression = suppression.Operand.WithAppendedTrailingTrivia(suppression.OperatorToken.GetAllTrivia());
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastCodeFixProvider.cs (5)
41d => (ExpressionSyntax)d.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken)); 48var oldParent = castExpression.WalkUpParentheses(); 49var newParent = Recurse(oldParent); 56private static ExpressionSyntax Recurse(ExpressionSyntax old)
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryNullableWarningSuppressionsCodeFixProvider.cs (1)
97var result = ((PostfixUnaryExpressionSyntax)current).Operand.WithTriviaFrom(current);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs (4)
28: AbstractRemoveUnusedValuesCodeFixProvider<ExpressionSyntax, StatementSyntax, BlockSyntax, 135return assignment.Update((ExpressionSyntax)newNameNode, assignment.OperatorToken, objectCreationNode); 209var leftOfAssignment = assignmentExpression.Left; 210var rightOfAssignment = assignmentExpression.Right;
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyInterpolation\CSharpSimplifyInterpolationCodeFixProvider.cs (3)
20ExpressionSyntax, 25protected override AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax> Helpers => CSharpSimplifyInterpolationHelpers.Instance; 27protected override InterpolationSyntax WithExpression(InterpolationSyntax interpolation, ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (2)
95private static MemberAccessExpressionSyntax? Merge(ExpressionSyntax? outerExpression, ExpressionSyntax? innerExpression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (2)
40ExpressionSyntax> 101var fieldInitializer = fieldDeclarator.Initializer?.Value;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (27)
43where TParentExpression : ExpressionSyntax 86if (preMatches is [{ Node: ExpressionSyntax } preMatch] && postMatches.IsEmpty) 90else if (preMatches.IsEmpty && postMatches is [{ Node: ExpressionSyntax } postMatch]) 215var expression = (ExpressionSyntax)(object)match.Node; 455bool useSpread, ExpressionSyntax expression) 531foreach (var expression in expressions) 538var indentedExpression = IndentNode(foreachStatement, foreachStatement.Expression, preferredIndentation); 565var condition = IndentNode(ifStatement, ifStatement.Condition, preferredIndentation).Parenthesize(includeElasticTrivia: false); 589else if (node is ExpressionSyntax expression) 801foreach (var expression in initializer.Expressions) 856else if (node is ExpressionSyntax expression) 865static ExpressionSyntax ConvertExpression( 866ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 872static ImmutableArray<ExpressionSyntax> ConvertExpressions( 873ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 888static ImmutableArray<ExpressionSyntax> ConvertAssignment( 889AssignmentExpressionSyntax assignment, Func<ExpressionSyntax, ExpressionSyntax> indent) 894static ImmutableArray<ExpressionSyntax> ConvertInvocation( 895InvocationExpressionSyntax invocation, Func<ExpressionSyntax, ExpressionSyntax> indent) 907ParsedDocument document, TParentExpression expressionToReplace, SyntaxFormattingOptions formattingOptions) where TParentExpression : ExpressionSyntax
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (3)
28: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 37ExpressionSyntax arrayCreationExpression, 100SemanticModel semanticModel, ExpressionSyntax expression, INamedTypeSymbol? expressionType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForCreateCodeFixProvider.cs (1)
66var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread, UseKeyValue: false));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForFluentCodeFixProvider.cs (3)
53var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>( 103static ImmutableArray<CollectionMatch<ExpressionSyntax>> CreateMatches( 108using var result = TemporaryArray<CollectionMatch<ExpressionSyntax>>.Empty;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForNewCodeFixProvider.cs (1)
67var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread, UseKeyValue: false));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocCodeFixProvider.cs (2)
24: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 33ExpressionSyntax stackAllocExpression,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (2)
24ExpressionSyntax, 45ExpressionSyntax newObjectCreation = useCollectionExpression
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider_CollectionInitializer.cs (8)
34SeparatedSyntaxList<ExpressionSyntax> CreateCollectionInitializerExpressions() 38UseInitializerHelpers.AddExistingItems<CollectionMatch<SyntaxNode>, ExpressionSyntax>( 53var expression = ConvertExpression(statement.Expression) 68return SeparatedList<ExpressionSyntax>(nodesAndTokens); 93static ExpressionSyntax ConvertExpression( 94ExpressionSyntax expression) 114static ExpressionSyntax ConvertInvocation(InvocationExpressionSyntax invocation) 126var expression = arguments[0].Expression;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundAssignmentCodeFixProvider.cs (11)
20: AbstractUseCompoundAssignmentCodeFixProvider<SyntaxKind, AssignmentExpressionSyntax, ExpressionSyntax>(Utilities.Kinds) 26SyntaxKind assignmentOpKind, ExpressionSyntax left, SyntaxToken syntaxToken, ExpressionSyntax right) 31protected override ExpressionSyntax Increment(ExpressionSyntax left, bool postfix) 36protected override ExpressionSyntax Decrement(ExpressionSyntax left, bool postfix) 41private static ExpressionSyntax Postfix(SyntaxKind kind, ExpressionSyntax operand) 44private static ExpressionSyntax Prefix(SyntaxKind kind, ExpressionSyntax operand)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (3)
26StatementSyntax, IfStatementSyntax, LocalDeclarationStatementSyntax, VariableDeclaratorSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 34protected override VariableDeclaratorSyntax WithInitializer(VariableDeclaratorSyntax variable, ExpressionSyntax value) 57protected override ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (5)
23: AbstractUseConditionalExpressionForReturnCodeFixProvider<StatementSyntax, IfStatementSyntax, ExpressionSyntax, ConditionalExpressionSyntax> 44protected override ExpressionSyntax WrapIfStatementIfNecessary(IConditionalOperation operation) 52protected override ExpressionSyntax WrapReturnExpressionIfNecessary(ExpressionSyntax returnExpression, IOperation returnOperation) 60protected override ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (1)
18public static ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseDeconstruction\CSharpUseDeconstructionCodeFixProvider.cs (1)
145private ExpressionSyntax CreateTupleOrDeclarationExpression(INamedTypeSymbol tupleType, TypeSyntax typeNode)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
167SeparatedList<ExpressionSyntax>(expressionsAndCommasToWrap));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExpressionBodyForLambda\UseExpressionBodyForLambdaCodeActionHelpers.cs (3)
28var expressionBody = UseExpressionBodyForLambdaHelpers.GetBodyAsExpression(lambdaExpression); 38semanticModel, declaration, declaration.GetLanguageVersion(), ExpressionBodyPreference.WhenPossible, cancellationToken, out var expressionBody)) 57SemanticModel semanticModel, LambdaExpressionSyntax lambdaExpression, ExpressionSyntax expressionBody)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (3)
106var tupleDeclaration = GenerateTupleDeclaration( 182private static ExpressionSyntax GenerateTupleDeclaration( 197ExpressionSyntax newDeclaration;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (19)
72var updatedNode = FixOne(result, generator); 83private static ExpressionSyntax FixOne(Result result, SyntaxGenerator generator) 110var expression = invocation.Expression is MemberAccessExpressionSyntax memberAccess 155(ExpressionSyntax? startExpr, bool startFromEnd, ExpressionSyntax? endExpr, bool endFromEnd) GetComputedRangeData() 165return (startExpr: null, startFromEnd: false, (ExpressionSyntax)subtraction.RightOperand.Syntax, endFromEnd: true); 170return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 179return ((ExpressionSyntax)subtraction.RightOperand.Syntax, startFromEnd: true, endExpr: null, endFromEnd: false); 184return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 200var startExpr = (ExpressionSyntax)startOperation.Syntax; 203ExpressionSyntax? endExpr = null; 215endExpr = (ExpressionSyntax)endOperation.Syntax; 231private static ExpressionSyntax? WalkUpCheckedExpressions(ExpressionSyntax? expr) 246return RangeExpression(leftOperand: null, WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax)); 251return RangeExpression(leftOperand: null, IndexExpression(WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax))); 265constant1 == 0 ? null : WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax), 266IndexExpression((ExpressionSyntax)generator.LiteralExpression(constant2 - constant1)));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\Helpers.cs (1)
15public static PrefixUnaryExpressionSyntax IndexExpression(ExpressionSyntax expr)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (3)
65private static ExpressionSyntax Rewrite(BinaryExpressionSyntax binary) 93BinaryExpressionSyntax binary, ExpressionSyntax expr, ExpressionSyntax nullLiteral)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForReferenceEqualsCodeFixProvider.cs (6)
22: AbstractUseIsNullCheckForReferenceEqualsCodeFixProvider<ExpressionSyntax> 33private static SyntaxNode CreateEqualsNullCheck(ExpressionSyntax argument) 36private static SyntaxNode CreateIsNullCheck(ExpressionSyntax argument) 39private static SyntaxNode CreateIsNotNullCheck(ExpressionSyntax argument) 58protected override SyntaxNode CreateNullCheck(ExpressionSyntax argument, bool isUnconstrainedGeneric) 63protected override SyntaxNode CreateNotNullCheck(ExpressionSyntax argument)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (6)
60List<ExpressionSyntax> references)>(diagnostics.Length); 69var references = new List<ExpressionSyntax>(diagnostic.AdditionalLocations.Count - 2); 73references.Add((ExpressionSyntax)diagnostic.AdditionalLocations[i].FindNode(getInnermostNodeForTie: true, cancellationToken)); 180ImmutableArray<ExpressionSyntax> references) 228var expressionBody = anonymousFunction.Body is ExpressionSyntax expression 232var semicolonToken = anonymousFunction.Body is ExpressionSyntax
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
22ExpressionSyntax,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\CSharpUseObjectInitializerCodeFixProvider.cs (5)
22using ObjectInitializerMatch = Match<ExpressionSyntax, StatementSyntax, MemberAccessExpressionSyntax, ExpressionStatementSyntax>; 30ExpressionSyntax, 70private SeparatedSyntaxList<ExpressionSyntax> CreateExpressions( 77UseInitializerHelpers.AddExistingItems<ObjectInitializerMatch, ExpressionSyntax>( 106return SeparatedList<ExpressionSyntax>(nodesAndTokens);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseObjectInitializer\UseInitializerHelpers.cs (4)
18SeparatedSyntaxList<ExpressionSyntax> expressions) 27var firstExpression = expressions.First(); 39Func<TMatch?, ExpressionSyntax, TElementSyntax> createElement) 50nodesAndTokens.Add(createElement(null, (ExpressionSyntax)nodeOrToken.AsNode()!));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (3)
84editor.ReplaceNode(expression, IsPatternExpression((ExpressionSyntax)pattern.Target.Syntax, patternSyntax)); 121private static ExpressionSyntax AsExpressionSyntax(ExpressionSyntax expr, AnalyzedPattern p)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (6)
58var parent = binaryExpression ?? (ExpressionSyntax?)isPatternExpression; 84var toReplace = parent.WalkUpParentheses(); 93var whenNotNull = conditionalAccessExpression.WhenNotNull; 101static ExpressionSyntax RewriteMemberBindingToExpression(ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (5)
94var comparison = (ExpressionSyntax)comparisonLocation.FindNode(cancellationToken); 107var condition = GetCondition(languageVersion, comparison, asExpression, declarationPattern); 159private static ExpressionSyntax GetCondition( 161ExpressionSyntax comparison,
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
594if (identifier.GetRequiredParent() is ExpressionSyntax expression)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
138ExpressionSyntax expression = node;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseTupleSwap\CSharpUseTupleSwapCodeFixProvider.cs (2)
55var exprA = assignment.Left.WalkDownParentheses().WithoutTrivia(); 56var exprB = assignment.Right.WalkDownParentheses().WithoutTrivia();
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (4)
171var stringLiteral = CreateUtf8String(SyntaxTriviaList.Empty, stringValue, argumentList.Arguments.Last().GetTrailingTrivia(), isConvertedToReadOnlySpan); 182private static ExpressionSyntax CreateUtf8String(SyntaxNode nodeToTakeTriviaFrom, string stringValue, bool isConvertedToReadOnlySpan) 187private static ExpressionSyntax CreateUtf8String(SyntaxTriviaList leadingTrivia, string stringValue, SyntaxTriviaList trailingTrivia, bool isConvertedToReadOnlySpan) 191var stringLiteral = ParseExpression(QuoteCharacter + stringValue + QuoteCharacter + Suffix).WithLeadingTrivia(leadingTrivia);
src\roslyn\src\Compilers\CSharp\Portable\Syntax\LambdaUtilities.cs (3)
218private static bool IsReducedSelectOrGroupByClause(SelectOrGroupClauseSyntax selectOrGroupClause, ExpressionSyntax selectOrGroupExpression) 450SeparatedSyntaxList<ExpressionSyntax> incrementors = ((ForStatementSyntax)node.Parent).Incrementors; 468if (node is ExpressionSyntax && node.Parent != null && node.Parent.Parent == null)
StringIndentation\CSharpStringIndentationService.cs (2)
87if (!TryGetIndentSpan(text, (ExpressionSyntax)token.GetRequiredParent(), out _, out var indentSpan)) 158private static bool TryGetIndentSpan(SourceText text, ExpressionSyntax expression, out int offset, out TextSpan indentSpan)
UseNamedArguments\CSharpUseNamedArgumentsCodeRefactoringProvider.cs (3)
27protected abstract ExpressionSyntax GetArgumentExpression(TSyntax argumentSyntax); 76protected override ExpressionSyntax GetArgumentExpression(ArgumentSyntax argumentSyntax) 96protected override ExpressionSyntax GetArgumentExpression(AttributeArgumentSyntax argumentSyntax)
UsePatternMatching\CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs (2)
123var expr = isExpression.Left.WalkDownParentheses(); 233var castRoot = castExpression.WalkUpParentheses();
Wrapping\SeparatedSyntaxList\CSharpArgumentWrapper.cs (4)
74var expr = (declaration as InvocationExpressionSyntax)?.Expression ?? 76var name = TryGetInvokedName(expr); 116private static ExpressionSyntax? TryGetInvokedName(ExpressionSyntax expr)
Wrapping\SeparatedSyntaxList\CSharpInitializerExpressionWrapper.cs (2)
11: AbstractCSharpSeparatedSyntaxListWrapper<InitializerExpressionSyntax, ExpressionSyntax> 41protected override SeparatedSyntaxList<ExpressionSyntax> GetListItems(InitializerExpressionSyntax listSyntax)
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (40)
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpUseCrossPlatformIntrinsicsFixer.cs (2)
48if (binaryOpFunc(arguments[0].Expression, arguments[1].Expression) is not ExpressionSyntax replacementExpression) 72if (unaryOpFunc(arguments[0].Expression) is not ExpressionSyntax replacementExpression)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\CSharpAvoidDuplicateElementInitializationFixer.cs (2)
39if (root.FindNode(diagnostic.AdditionalLocations[0].SourceSpan) is not ExpressionSyntax elementInitializer || 54ExpressionSyntax elementInitializer,
Microsoft.NetCore.Analyzers\InteropServices\CSharpDisableRuntimeMarshalling.Fixer.cs (3)
115(ExpressionSyntax)editor.Generator.CastExpression(editor.SemanticModel.Compilation.CreatePointerTypeSymbol(operation.Arguments[0].Value.Type!), 169nullCheckAndDecl = nullCheckAndDecl.WithExpression((ExpressionSyntax)pointerCast); 179(ExpressionSyntax)editor.Generator.CastExpression(
Microsoft.NetCore.Analyzers\InteropServices\CSharpDynamicInterfaceCastableImplementation.Fixer.cs (1)
202List<(InvocationExpressionSyntax invocation, ExpressionSyntax target)> invocations = new();
Microsoft.NetCore.Analyzers\Performance\CSharpDoNotGuardCall.Fixer.cs (1)
51.WithCondition((ExpressionSyntax)expression)
Microsoft.NetCore.Analyzers\Performance\CSharpDoNotUseCountWhenAnyCanBeUsed.Fixer.cs (1)
119ExpressionSyntax sourceExpression,
Microsoft.NetCore.Analyzers\Performance\CSharpPreferHashDataOverComputeHash.Fixer.cs (1)
210var initliazerValue = ((VariableDeclaratorSyntax)createNode).Initializer?.Value;
Microsoft.NetCore.Analyzers\Performance\CSharpPreferLengthCountIsEmptyOverAny.Fixer.cs (3)
24var expression = memberAccess.Expression; 65var expression = memberAccess.Expression; 72static BinaryExpressionSyntax GetBinaryExpression(ExpressionSyntax expression, string member, SyntaxKind expressionKind)
Microsoft.NetCore.Analyzers\Performance\CSharpRecommendCaseInsensitiveStringComparisonFixer.cs (2)
31ExpressionSyntax internalExpression = memberAccessExpression.Expression; 74ExpressionSyntax? desiredExpression = null;
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.cs (8)
63syntax is ExpressionSyntax expression && 67internal static ExpressionSyntax? TryGetPropertyGetterExpression(PropertyDeclarationSyntax propertyDeclaration) 69var expression = propertyDeclaration.ExpressionBody?.Expression; 93internal static bool IsConstantByteOrCharArrayCreationExpression(SemanticModel semanticModel, ExpressionSyntax expression, List<char>? values, out int length) 126foreach (var valueExpression in valueExpressions) 143static bool TryGetByteOrCharLiteral(ExpressionSyntax? expression, out char value) 168private static bool IsUtf8StringLiteralExpression(ExpressionSyntax expression, out int length) 225static bool IsFieldReference(ExpressionSyntax expression, string fieldName) =>
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.Fixer.cs (1)
115if (operation.Syntax is ExpressionSyntax creationSyntax &&
Microsoft.NetCore.Analyzers\Performance\CSharpUseStartsWithInsteadOfIndexOfComparisonWithZero.Fixer.cs (1)
28SyntaxFactory.SingletonList(SyntaxFactory.ArrayRankSpecifier(SyntaxFactory.SingletonSeparatedList((ExpressionSyntax)generator.LiteralExpression(1))))),
Microsoft.NetCore.Analyzers\Runtime\CSharpPreventNumericIntPtrUIntPtrBehavioralChanges.cs (1)
67private static bool IdentifierNameIsIntPtrOrUIntPtr(ExpressionSyntax? syntax) =>
Microsoft.NetCore.Analyzers\Usage\CSharpDoNotCompareSpanToNull.Fixer.cs (2)
39ExpressionSyntax memberAccess = SyntaxFactory.MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, GetComparatorExpression(binaryExpression), SyntaxFactory.IdentifierName(IsEmpty)); 48private static ExpressionSyntax GetComparatorExpression(BinaryExpressionSyntax binaryExpression)
Microsoft.NetCore.Analyzers\Usage\CSharpDoNotPassNonNullableValueToArgumentNullExceptionThrowIfNullFixer.cs (1)
22var nullableStructExpression = invocation.ArgumentList.Arguments[0].Expression;
Microsoft.NetCore.Analyzers\Usage\CSharpPreferGenericOverloads.cs (1)
45var modifiedInvocationExpression = invocationSyntax.Expression;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler.CSharp\Extensions\SyntaxGeneratorExtensions.cs (3)
19=> SyntaxFactory.BinaryExpression(syntaxKind, (ExpressionSyntax)generator.Parenthesize(left), (ExpressionSyntax)generator.Parenthesize(right)); 49ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation),
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler.CSharp\Extensions\SyntaxNodeExtensions.cs (6)
27public static ExpressionSyntax Parenthesize( 28this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 58var result = ParenthesizeWorker(expression, includeElasticTrivia); 64private static ExpressionSyntax ParenthesizeWorker( 65this ExpressionSyntax expression, bool includeElasticTrivia) 67var withoutTrivia = expression.WithoutTrivia();
Microsoft.CodeAnalysis.CSharp.Workspaces (501)
Classification\Worker_Preprocesser.cs (1)
116private void ClassifyPreprocessorExpression(ExpressionSyntax? node)
CodeGeneration\CSharpSyntaxGenerator.cs (46)
184initializer != null ? SyntaxFactory.EqualsValueClause((ExpressionSyntax)initializer) : null)])); 200initializer != null ? SyntaxFactory.EqualsValueClause((ExpressionSyntax)initializer) : null); 894expression != null ? SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression) : null); 946? SyntaxFactory.AttributeArgument(SyntaxFactory.NameEquals(name.ToIdentifierName()), nameColon: null, (ExpressionSyntax)expression) 947: SyntaxFactory.AttributeArgument((ExpressionSyntax)expression); 955if (node is ExpressionSyntax expr) 2419return ((ParenthesizedLambdaExpressionSyntax)declaration).Body as ExpressionSyntax; 2421return ((SimpleLambdaExpressionSyntax)declaration).Body as ExpressionSyntax; 2469var expr = (ExpressionSyntax)expression; 3227=> SyntaxFactory.AssignmentExpression(SyntaxKind.AddAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)ParenthesizeNonSimple(handler)); 3230=> SyntaxFactory.AssignmentExpression(SyntaxKind.SubtractAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)ParenthesizeNonSimple(handler)); 3233=> SyntaxFactory.AwaitExpression((ExpressionSyntax)expression); 3239=> SyntaxFactory.ReturnStatement((ExpressionSyntax?)expression); 3242=> SyntaxFactory.ThrowStatement((ExpressionSyntax?)expression); 3245=> SyntaxFactory.ThrowExpression((ExpressionSyntax)expression); 3252(ExpressionSyntax)condition, 3261(ExpressionSyntax)condition, 3291if (node is ExpressionSyntax expression) 3300=> SyntaxFactory.ExpressionStatement((ExpressionSyntax)expression); 3312private static SeparatedSyntaxList<ExpressionSyntax> AsExpressionList(IEnumerable<SyntaxNode> expressions) 3313=> [.. expressions.OfType<ExpressionSyntax>()]; 3317var arrayType = SyntaxFactory.ArrayType((TypeSyntax)elementType, [SyntaxFactory.ArrayRankSpecifier([(ExpressionSyntax)size])]); 3345=> argOrExpression as ArgumentSyntax ?? SyntaxFactory.Argument((ExpressionSyntax)argOrExpression); 3348=> SyntaxFactory.InvocationExpression(CSharpSyntaxGeneratorInternal.ParenthesizeLeft((ExpressionSyntax)expression), CreateArgumentList(arguments)); 3351=> SyntaxFactory.ElementAccessExpression(CSharpSyntaxGeneratorInternal.ParenthesizeLeft((ExpressionSyntax)expression), SyntaxFactory.BracketedArgumentList(CreateArguments(arguments))); 3360=> SyntaxFactory.BinaryExpression(SyntaxKind.IsExpression, (ExpressionSyntax)ParenthesizeNonSimple(expression), (TypeSyntax)type); 3366=> SyntaxFactory.BinaryExpression(SyntaxKind.AsExpression, (ExpressionSyntax)ParenthesizeNonSimple(expression), (TypeSyntax)type); 3369=> SyntaxFactory.AssignmentExpression(SyntaxKind.SimpleAssignmentExpression, (ExpressionSyntax)left, (ExpressionSyntax)ParenthesizeNonSimple(right)); 3399=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.UnaryMinusExpression, (ExpressionSyntax)ParenthesizeNonSimple(expression)); 3420=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.BitwiseNotExpression, (ExpressionSyntax)ParenthesizeNonSimple(operand)); 3431(ExpressionSyntax)ParenthesizeNonSimple(expression.WithoutLeadingTrivia())).WithLeadingTrivia(expression.GetLeadingTrivia()); 3434=> SyntaxFactory.ConditionalExpression((ExpressionSyntax)ParenthesizeNonSimple(condition), (ExpressionSyntax)ParenthesizeNonSimple(whenTrue), (ExpressionSyntax)ParenthesizeNonSimple(whenFalse)); 3547(ExpressionSyntax)expression); 3565expression: (ExpressionSyntax)expression, 3572expression: (ExpressionSyntax)expression, 3593=> SyntaxFactory.WhileStatement((ExpressionSyntax)condition, CreateBlock(statements)); 3600(ExpressionSyntax)expression, 3608(ExpressionSyntax)expression, 3635labels = labels.AddRange(expressions.Select(e => SyntaxFactory.CaseSwitchLabel((ExpressionSyntax)e))); 3681(ExpressionSyntax)expression);
ExternalAccess\Pythia\Api\PythiaSyntaxExtensions.cs (1)
25public static SimpleNameSyntax? GetRightmostName(this ExpressionSyntax node)
Recommendations\CSharpRecommendationServiceRunner.cs (16)
229var currentExpression = rangeExpression.LeftOperand; 232while (currentExpression.ChildNodesAndTokens().Last().AsNode() is ExpressionSyntax child && 590private RecommendedSymbols GetSymbolsOffOfExpressionInConstantPattern(ExpressionSyntax? originalExpression) 613var expression = originalExpression.WalkDownParentheses(); 643private RecommendedSymbols GetSymbolsOffOfExpression(ExpressionSyntax? originalExpression) 650var expression = originalExpression is AwaitExpressionSyntax awaitExpression 661private RecommendedSymbols GetSymbolsOffOfDereferencedExpression(ExpressionSyntax originalExpression) 663var expression = originalExpression.WalkDownParentheses(); 672private RecommendedSymbols GetSymbolsOffOfConditionalReceiver(ExpressionSyntax originalExpression) 678var expression = originalExpression.WalkDownParentheses(); 693ExpressionSyntax originalExpression, 694ExpressionSyntax expression, 761private RecommendedSymbols GetSymbolsOffOfBoundExpressionWorker(SymbolInfo leftHandBinding, ExpressionSyntax originalExpression, ExpressionSyntax expression, ITypeSymbol? containerType, bool unwrapNullable, bool isForDereference) 903private ImmutableArray<ISymbol> GetUnnamedSymbols(ExpressionSyntax originalExpression) 925private ITypeSymbol? GetContainerForUnnamedSymbols(SemanticModel semanticModel, ExpressionSyntax originalExpression)
Rename\CSharpRenameRewriterLanguageService.cs (4)
199node is ExpressionSyntax || 435var expressionOfInvocation = invocationExpression.Expression; 744if (token.Parent is ExpressionSyntax(SyntaxKind.IdentifierName) expression && 1221var isInNamespaceOrTypeContext = SyntaxFacts.IsInNamespaceOrTypeContext(node as ExpressionSyntax);
Simplification\CSharpSimplificationService.cs (2)
26: AbstractSimplificationService<CompilationUnitSyntax, ExpressionSyntax, StatementSyntax, CrefSyntax>(s_reducers) 59ExpressionSyntax or
Simplification\CSharpSimplificationService.Expander.cs (36)
92private SpeculationAnalyzer GetSpeculationAnalyzer(ExpressionSyntax expression, ExpressionSyntax newExpression) 95private bool TryCastTo(ITypeSymbol targetType, ExpressionSyntax expression, ExpressionSyntax newExpression, out ExpressionSyntax newExpressionWithCast) 99var speculatedExpression = speculativeAnalyzer.ReplacedExpression; 101var result = speculatedExpression.CastIfPossible(targetType, speculatedExpression.SpanStart, speculativeSemanticModel, _cancellationToken); 113private bool TryGetLambdaExpressionBodyWithCast(LambdaExpressionSyntax lambdaExpression, LambdaExpressionSyntax newLambdaExpression, out ExpressionSyntax newLambdaExpressionBodyWithCast) 115if (newLambdaExpression.Body is ExpressionSyntax) 117var body = (ExpressionSyntax)lambdaExpression.Body; 118var newBody = (ExpressionSyntax)newLambdaExpression.Body; 145if (TryCastTo(returnType, node.Expression, newReturnStatement.Expression, out var newExpressionWithCast)) 164if (TryGetLambdaExpressionBodyWithCast(node, parenthesizedLambda, out var newLambdaExpressionBodyWithCast)) 215if (TryGetLambdaExpressionBodyWithCast(node, simpleLambda, out var newLambdaExpressionBodyWithCast)) 277if (TryCastTo(argumentType, node.Expression, newArgument.Expression, out var newArgumentExpressionWithCast)) 437private ExpressionSyntax VisitSimpleName(SimpleNameSyntax rewrittenSimpleName, SimpleNameSyntax originalSimpleName) 448ExpressionSyntax newNode = rewrittenSimpleName; 479var replacement = FullyQualifyIdentifierName( 648var replacement = FullyQualifyIdentifierName( 682ExpressionSyntax left; 707var result = newNode.WithAdditionalAnnotations(Simplifier.Annotation); 713private ExpressionSyntax TryReplaceAngleBracesWithCurlyBraces(ExpressionSyntax expression, bool isInsideCref) 735private static ExpressionSyntax TryAddTypeArgumentToIdentifierName(ExpressionSyntax newNode, ISymbol symbol) 870else if (parent is ExpressionSyntax) 886private ExpressionSyntax FullyQualifyIdentifierName( 888ExpressionSyntax rewrittenNode, 889ExpressionSyntax originalNode, 899var result = rewrittenNode; 929ExpressionSyntax left = ParseTypeName(displayString); 1059ExpressionSyntax thisExpression, 1084ExpressionSyntax thisExpression, 1094var containingTypeSyntax = ParseExpression(containingTypeString);
Simplification\Reducers\AbstractCSharpReducer.AbstractReductionRewriter.cs (7)
72ExpressionSyntax expression => GetParentNode(expression), 78private static SyntaxNode GetParentNode(ExpressionSyntax expression) 89if (current is ExpressionSyntax or ArgumentSyntax) 173var expression = (ExpressionSyntax)this.Visit(node.Expression); 182var expression = (ExpressionSyntax)this.Visit(node.Expression);
Simplification\Reducers\CSharpCastReducer.cs (2)
29private static readonly Func<CastExpressionSyntax, SemanticModel, SimplifierOptions, CancellationToken, ExpressionSyntax> s_simplifyCast = SimplifyCast; 31private static ExpressionSyntax SimplifyCast(CastExpressionSyntax node, SemanticModel semanticModel, SimplifierOptions options, CancellationToken cancellationToken)
Simplification\Reducers\CSharpCastReducer.Rewriter.cs (4)
53var topmostExpressionAncestor = node 55.OfType<ExpressionSyntax>() 60var reducedAncestor = topmostExpressionAncestor.ReplaceNode(node, reducedNode); 61var reparsedAncestor = SyntaxFactory.ParseExpression(reducedAncestor.ToFullString());
Simplification\Reducers\CSharpExtensionMethodReducer.cs (2)
68var invocationExpressionNodeExpression = node.Expression; 73var expression = argumentList.Arguments[0].Expression.Parenthesize();
Simplification\Reducers\CSharpNameReducer.cs (3)
50var expressionSyntax = (ExpressionSyntax)node; 51if (!ExpressionSimplifier.Instance.TrySimplify(expressionSyntax, semanticModel, options, out var expressionReplacement, out _, cancellationToken))
Simplification\Reducers\CSharpNameReducer.Rewriter.cs (2)
208var result = (ExpressionSyntax)base.VisitBinaryExpression(node);
Simplification\Simplifiers\AbstractCSharpSimplifier.cs (8)
73ExpressionSyntax node, SemanticModel semanticModel, 183static bool IsAliasReplaceableExpression(ExpressionSyntax expression) 185var current = expression; 257private static bool ValidateAliasForTarget(IAliasSymbol aliasReplacement, SemanticModel semanticModel, ExpressionSyntax node, ISymbol symbol) 379protected static bool InsideNameOfExpression(ExpressionSyntax expression, SemanticModel semanticModel) 393protected static bool PreferPredefinedTypeKeywordInMemberAccess(ExpressionSyntax expression, CSharpSimplifierOptions options, SemanticModel semanticModel) 403ExpressionSyntax expression, ExpressionSyntax simplifiedNode, SemanticModel semanticModel)
Simplification\Simplifiers\ExpressionSimplifier.cs (14)
22internal sealed partial class ExpressionSimplifier : AbstractCSharpSimplifier<ExpressionSyntax, ExpressionSyntax> 31ExpressionSyntax expression, 34[NotNullWhen(true)] out ExpressionSyntax? replacementNode, 64ExpressionSyntax expression, 258ExpressionSyntax expression, 260[NotNullWhen(true)] out ExpressionSyntax? replacementNode, 272ExpressionSyntax expression, 274[NotNullWhen(true)] out ExpressionSyntax? replacementNode, 288if (!TrySimplifyMemberAccessOrQualifiedName(isMemberAccessExpression: true, memberAccess.Expression, memberAccess.Name, semanticModel, out var newLeft, out issueSpan)) 299if (!TrySimplifyMemberAccessOrQualifiedName(isMemberAccessExpression: false, qualifiedName.Left, qualifiedName.Right, semanticModel, out var newLeft, out issueSpan)) 406ExpressionSyntax left, 407ExpressionSyntax right, 409[NotNullWhen(true)] out ExpressionSyntax? replacementNode,
Simplification\Simplifiers\MemberAccessExpressionSimplifier.cs (1)
18ExpressionSyntax,
Simplification\Simplifiers\NameSimplifier.cs (6)
638private static bool IsNullableTypeInPointerExpression(ExpressionSyntax simplifiedNode) 650private static bool IsNonNameSyntaxInUsingDirective(ExpressionSyntax expression, ExpressionSyntax simplifiedNode) 657private static bool IsAmbiguousCast(ExpressionSyntax expression, ExpressionSyntax simplifiedNode) 666var reparsedCastExpression = ParseExpression(newCastExpression.ToString());
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (5)
31ExpressionSyntax initializerExpression, 109var containingTypeName = memberName.GetLeftSideOfDot(); 120ExpressionSyntax containingTypeName, 193private static ExpressionSyntax GetRightmostInvocationExpression(ExpressionSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
173SyntaxToken token, ExpressionSyntax parentExpression, bool tokenIncludeDelimiters)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\AssignmentExpressionSyntaxExtensions.cs (1)
15var left = assignment.Left;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (4)
38[NotNullWhen(true)] out ExpressionSyntax? expression, 151block.TryConvertToExpressionBody(languageVersion, preference, cancellationToken, out var expression, out semicolonToken)) 192ExpressionSyntax expression, ExpressionBodyPreference preference) 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 (60)
20public static ExpressionSyntax? WalkUpParentheses(this ExpressionSyntax? expression) 28public static ExpressionSyntax WalkDownParentheses(this ExpressionSyntax expression) 36public static ExpressionSyntax WalkDownSuppressions(this ExpressionSyntax expression) 44public static bool IsQualifiedCrefName([NotNullWhen(true)] this ExpressionSyntax? expression) 47public static bool IsSimpleMemberAccessExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 50public static bool IsAnyMemberAccessExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 59public static bool IsMemberBindingExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 63public static bool IsRightSideOfQualifiedName([NotNullWhen(true)] this ExpressionSyntax? expression) 66public static bool IsRightSideOfColonColon(this ExpressionSyntax expression) 69public static bool IsRightSideOfDot([NotNullWhen(true)] this ExpressionSyntax? name) 72public static bool IsRightSideOfDotOrArrow([NotNullWhen(true)] this ExpressionSyntax? name) 75public static bool IsRightSideOfDotOrColonColon(this ExpressionSyntax name) 78public static bool IsRightSideOfDotOrArrowOrColonColon([NotNullWhen(true)] this ExpressionSyntax name) 81public static bool IsRightOfCloseParen(this ExpressionSyntax expression) 88public static bool IsLeftSideOfDot([NotNullWhen(true)] this ExpressionSyntax? expression) 97public static bool IsLeftSideOfSimpleMemberAccessExpression(this ExpressionSyntax expression) 101public static bool IsLeftSideOfDotOrArrow(this ExpressionSyntax expression) 105public static bool IsLeftSideOfQualifiedName(this ExpressionSyntax expression) 111public static bool IsExpressionOfInvocation(this ExpressionSyntax expression) 115public static bool TryGetNameParts(this ExpressionSyntax expression, [NotNullWhen(true)] out IList<string>? parts) 128public static bool TryGetNameParts(this ExpressionSyntax expression, List<string> parts) 169public static bool IsInConstantContext([NotNullWhen(true)] this ExpressionSyntax? expression) 196public static bool IsInOutContext([NotNullWhen(true)] this ExpressionSyntax? expression) 200public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression) 207public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression, [NotNullWhen(true)] out SyntaxNode? refParent) 210expression = (ExpressionSyntax)expression.Parent; 223public static bool IsInInContext([NotNullWhen(true)] this ExpressionSyntax? expression) 227private static ExpressionSyntax? GetExpressionToAnalyzeForWrites(ExpressionSyntax? expression) 231expression = (ExpressionSyntax)expression.GetRequiredParent(); 239public static bool IsOnlyWrittenTo([NotNullWhen(true)] this ExpressionSyntax? expression) 273private static bool IsExpressionOfArgumentInDeconstruction(ExpressionSyntax expr) 320[NotNullWhen(true)] this ExpressionSyntax? expression, 397public static bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] this ExpressionSyntax? expression) 403public static bool IsOperandOfIncrementOrDecrementExpression(this ExpressionSyntax expression) 420public static bool IsNamedArgumentIdentifier(this ExpressionSyntax expression) 424[NotNullWhen(true)] this ExpressionSyntax? expression, SemanticModel semanticModel, CancellationToken cancellationToken) 454[NotNullWhen(true)] this ExpressionSyntax? expression, SemanticModel semanticModel, CancellationToken cancellationToken) 465this ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 604var parentNonExpression = expression.GetAncestors().SkipWhile(n => n is ExpressionSyntax).FirstOrDefault(); 605var topExpression = expression; 648public static bool IsNameOfArgumentExpression(this ExpressionSyntax expression) 658public static SimpleNameSyntax? GetRightmostName(this ExpressionSyntax node) 693public static OperatorPrecedence GetOperatorPrecedence(this ExpressionSyntax expression) 852this ExpressionSyntax expression, 872private static StatementSyntax ConvertToStatement(ExpressionSyntax expression, SyntaxToken semicolonToken, bool createReturnStatementForExpression) 900public static bool IsDirectChildOfMemberAccessExpression(this ExpressionSyntax expression) 903public static bool InsideCrefReference(this ExpressionSyntax expression) 907this ExpressionSyntax expression, 911var topExpression = expression.WalkUpParentheses(); 936bool HasType(ExpressionSyntax expression, [NotNullWhen(true)] out ITypeSymbol? type) 998ITypeSymbol? GetTargetTypeForConditionalExpression(ConditionalExpressionSyntax conditionalExpression, ExpressionSyntax expression) 1008ITypeSymbol? GetTargetTypeForLambdaExpression(LambdaExpressionSyntax lambda, ExpressionSyntax expression) 1055ITypeSymbol? GetTargetTypeForInitializerExpression(InitializerExpressionSyntax initializerExpression, ExpressionSyntax expression) 1064foreach (var sibling in initializerExpression.Expressions) 1084ITypeSymbol? GetTargetTypeForAssignmentExpression(AssignmentExpressionSyntax assignmentExpression, ExpressionSyntax expression) 1089ITypeSymbol? GetTargetTypeForBinaryExpression(BinaryExpressionSyntax binaryExpression, ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (16)
31var expression = node.Expression; 38var parentExpression = nodeParent.IsKind(SyntaxKind.ConstantPattern) 39? nodeParent.Parent as ExpressionSyntax 40: nodeParent as ExpressionSyntax; 345static bool ContainsConditionalAccessOnRightmostPath(ExpressionSyntax expr) 348for (var current = expr; current != null;) 355: current.ChildNodes().FirstOrDefault() as ExpressionSyntax; 363ParenthesizedExpressionSyntax node, ExpressionSyntax expression, 431ParenthesizedExpressionSyntax node, ExpressionSyntax parentExpression, SemanticModel semanticModel) 433var expression = node.Expression; 564var expression = node.Expression; 656private static bool IsPreviousExpressionPotentiallyAmbiguous(ExpressionSyntax node) 658ExpressionSyntax? previousExpression = null; 691private static bool IsNextExpressionPotentiallyAmbiguous(ExpressionSyntax node) 693ExpressionSyntax? nextExpression = null; 725private static bool IsSimpleOrDottedName(ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (12)
27if (name.Parent is ExpressionSyntax expression) 44if (name.Parent is ExpressionSyntax expression) 59private static void DecomposeName(ExpressionSyntax expression, out ExpressionSyntax qualifier, out string name, out int arity) 104ExpressionSyntax expression, 107var expr = SyntaxFactory.GetStandaloneExpression(expression); 108DecomposeName(expr, out var qualifier, out var name, out _); 137case ExpressionSyntax expression: 352this SemanticModel semanticModel, ExpressionSyntax expression, 358var current = expression; 429SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 431var topExpression = expression.WalkUpParentheses();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SimpleNameSyntaxExtensions.cs (1)
14public static ExpressionSyntax GetLeftSideOfDot(this SimpleNameSyntax name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
179return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 403var expression = initializer.Expressions[0];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
344foreach (var errorCode in pragmaWarningDirectiveTrivia.ErrorCodes)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpExpressionPrecedenceService.cs (2)
12internal sealed class CSharpExpressionPrecedenceService : AbstractCSharpPrecedenceService<ExpressionSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
19internal sealed class CSharpRefactoringHelpers : AbstractRefactoringHelpers<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (12)
44=> (node as ExpressionSyntax).IsWrittenTo(semanticModel, cancellationToken); 47=> (node as ExpressionSyntax).IsOnlyWrittenTo(); 50=> (node as ExpressionSyntax).IsInOutContext(); 53=> (node as ExpressionSyntax).IsInRefContext(); 56=> (node as ExpressionSyntax).IsInInContext(); 59=> (expression as ExpressionSyntax).CanReplaceWithRValue(semanticModel, cancellationToken); 193=> semanticModel.GetCollectionInitializerSymbolInfo((ExpressionSyntax)node, cancellationToken); 432=> (node as ExpressionSyntax).IsInsideNameOfExpression(semanticModel, cancellationToken); 459=> semanticModel.GenerateNameForExpression((ExpressionSyntax)expression, capitalize, cancellationToken); 488=> semanticModel.ClassifyConversion((ExpressionSyntax)expression, destination).ToCommonConversion(); 512var expression = simpleName.Parent switch 516_ => (ExpressionSyntax)simpleName,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (7)
183=> node is ExpressionSyntax expression ? SyntaxFactory.GetStandaloneExpression(expression) : node; 584=> SyntaxFacts.IsInNamespaceOrTypeContext(node as ExpressionSyntax); 612=> (node as ExpressionSyntax).IsInConstantContext(); 1058=> (node as ExpressionSyntax).IsLeftSideOfDot(); 1076=> (node as ExpressionSyntax).IsLeftSideOfAssignExpression(); 1079=> (node as ExpressionSyntax).IsLeftSideOfAnyAssignExpression(); 1082=> (node as ExpressionSyntax).IsLeftSideOfCompoundAssignExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (52)
46public static bool IsUnnecessaryCast(ExpressionSyntax cast, SemanticModel semanticModel, CancellationToken cancellationToken) 125var leftOrRightChild = castExpression.WalkUpParentheses(); 143bool IsConstantZero(ExpressionSyntax child) 178ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 222private static bool CastRemovalCouldCauseSignExtensionWarning(ExpressionSyntax castSyntax, IConversionOperation conversionOperation) 249ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 289ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 634ExpressionSyntax castNode, 699ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, SemanticModel semanticModel, CancellationToken cancellationToken) 785ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 786ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, 853ExpressionSyntax castNode, SemanticModel originalSemanticModel, 854ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 878ExpressionSyntax castNode, SemanticModel originalSemanticModel, 879ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 907ExpressionSyntax castNode, 909ExpressionSyntax rewrittenExpression, 911Func<ExpressionSyntax, TConditionalOrSwitchExpression?> getConditionalOrSwitchExpression, 912Func<TConditionalOrSwitchExpression, ImmutableArray<ExpressionSyntax>> getArmExpressions, 913Func<TConditionalOrSwitchExpression, ExpressionSyntax, ExpressionSyntax?> getAlternativeArm, 915where TConditionalOrSwitchExpression : ExpressionSyntax 920var parentExpression = castExpression.WalkUpParentheses(); 945foreach (var armExpression in getArmExpressions(originalConditionalOrSwitchExpression)) 1001var otherSide = getAlternativeArm(originalConditionalOrSwitchExpression, parentExpression); 1057ExpressionSyntax expression, 1151=> node is ExpressionSyntax expression && expression.WalkDownParentheses().Kind() is SyntaxKind.CastExpression or SyntaxKind.AsExpression; 1155ExpressionSyntax castOrAsNode, 1179var parent = castOrAsNode.WalkUpParentheses(); 1212ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 1280private static bool IsFieldOrArrayElement(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1287ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 1300ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1353ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1386ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1417ExpressionSyntax rewrittenExpression, 1526ExpressionSyntax rewrittenExpression, 1568ExpressionSyntax expression, 1660ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1683private static (SemanticModel? rewrittenSemanticModel, ExpressionSyntax? rewrittenExpression) GetSemanticModelWithCastRemoved( 1684ExpressionSyntax castNode, 1685ExpressionSyntax castedExpressionNode, 1691var rewrittenExpression = analyzer.ReplacedExpression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (44)
31ExpressionSyntax, 56ExpressionSyntax expression, 57ExpressionSyntax newExpression, 68protected override bool CanAccessInstanceMemberThrough(ExpressionSyntax expression) 71protected override SyntaxNode GetSemanticRootForSpeculation(ExpressionSyntax expression) 107nodeToSpeculate is ExpressionSyntax || 119var isInNamespaceOrTypeContext = SyntaxFacts.IsInNamespaceOrTypeContext(originalNode as ExpressionSyntax); 181Debug.Assert(nodeToSpeculate is ExpressionSyntax); 191public bool ReplacementChangesSemanticsOfUnchangedLambda(ExpressionSyntax originalLambda, ExpressionSyntax replacedLambda) 302var expression = (ExpressionSyntax)currentReplacedNode.ChildNodes().First(); 368ExpressionSyntax originalOtherPartOfConditional, newOtherPartOfConditional; 418if (ReplacementBreaksBoxingInConditionalExpression(originalExpressionTypeInfo, newExpressionTypeInfo, (ExpressionSyntax)previousOriginalNode, (ExpressionSyntax)previousReplacedNode)) 464var previousReplacedExpression = (ExpressionSyntax)previousReplacedNode; 518ReplacementBreaksCollectionInitializerAddMethod((ExpressionSyntax)previousOriginalNode, (ExpressionSyntax)previousReplacedNode); 522return !TypesAreCompatible((ExpressionSyntax)currentOriginalNode, (ExpressionSyntax)currentReplacedNode); 531return !TypesAreCompatible((ExpressionSyntax)currentOriginalNode, (ExpressionSyntax)currentReplacedNode); 542private bool ReplacementBreaksBoxingInConditionalExpression(TypeInfo originalExpressionTypeInfo, TypeInfo newExpressionTypeInfo, ExpressionSyntax previousOriginalNode, ExpressionSyntax previousReplacedNode) 573private bool ReplacementBreaksCollectionInitializerAddMethod(ExpressionSyntax originalInitializer, ExpressionSyntax newInitializer) 588protected override ImmutableArray<ArgumentSyntax> GetArguments(ExpressionSyntax expression) 596private static BaseArgumentListSyntax GetArgumentList(ExpressionSyntax expression) 609protected override ExpressionSyntax GetReceiver(ExpressionSyntax expression) 620var result = ((InvocationExpressionSyntax)expression).Expression; 631var result = ((ElementAccessExpressionSyntax)expression).Expression; 645protected override bool IsInNamespaceOrTypeContext(ExpressionSyntax node) 648protected override ExpressionSyntax GetForEachStatementExpression(CommonForEachStatementSyntax forEachStatement) 651protected override ExpressionSyntax GetThrowStatementExpression(ThrowStatementSyntax throwStatement) 743ExpressionSyntax originalExpression, 744ExpressionSyntax newExpression, 813protected override bool ConversionsAreCompatible(SemanticModel originalModel, ExpressionSyntax originalExpression, SemanticModel newModel, ExpressionSyntax newExpression) 838private static bool ConditionalExpressionConversionsAreAllowed(ExpressionSyntax originalExpression) 841protected override bool ConversionsAreCompatible(ExpressionSyntax originalExpression, ITypeSymbol originalTargetType, ExpressionSyntax newExpression, ITypeSymbol newTargetType) 934protected override Conversion ClassifyConversion(SemanticModel model, ExpressionSyntax expression, ITypeSymbol targetType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
57SyntaxToken identifier, TypeSyntax typeName, ExpressionSyntax initializer, SemanticModel semanticModel, CSharpSimplifierOptions options, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
93var initializerExpression = CSharpUseImplicitTypeHelper.GetInitializerExpression(initializer.Value);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
136ExpressionSyntax initializer,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
240ExpressionSyntax initializer, 245var expression = GetInitializerExpression(initializer); 316internal static ExpressionSyntax GetInitializerExpression(ExpressionSyntax initializer) 318var current = (initializer as RefExpressionSyntax)?.Expression ?? initializer;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (1)
15if (argument is ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
99ExpressionSyntax GenerateAttributeSyntax(TypedConstant constant)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
636if (anonymousFunctionSyntax.ExpressionBody is ExpressionSyntax expressionBody)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
26var expression = ExpressionGenerator.GenerateNonEnumValueExpression(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
64var value = CreateEnumMemberValue(destination, enumMember); 72private static ExpressionSyntax? CreateEnumMemberValue( 117var lastExpression = lastMember.EqualsValue!.Value;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (19)
24public static ExpressionSyntax GenerateExpression( 50private static ExpressionSyntax GenerateNullLiteral() 53internal static ExpressionSyntax GenerateExpression( 61return (ExpressionSyntax)CSharpFlagsEnumGenerator.Instance.CreateEnumConstantValue(enumType, value); 75internal static ExpressionSyntax GenerateNonEnumValueExpression(ITypeSymbol? type, object? value, bool canUseFieldReference) 77var intermediaryValue = value switch 95: (ExpressionSyntax)CSharpSyntaxGeneratorInternal.Instance.DefaultExpression(type), 105private static ExpressionSyntax GenerateBooleanLiteralExpression(bool val) 112private static ExpressionSyntax GenerateStringLiteralExpression(string val) 119private static ExpressionSyntax GenerateCharLiteralExpression(char val) 180private static ExpressionSyntax GenerateDoubleLiteralExpression(ITypeSymbol? type, double value, bool canUseFieldReference) 209private static ExpressionSyntax GenerateSingleLiteralExpression(ITypeSymbol? type, float value, bool canUseFieldReference) 238private static ExpressionSyntax GenerateNonNegativeLiteralExpression<T>( 249private static ExpressionSyntax GenerateLiteralExpression<T>( 259var result = GenerateFieldReference(type, value, constants); 286private static ExpressionSyntax? GenerateFieldReference<T>(ITypeSymbol? type, T value, IEnumerable<KeyValuePair<T, string>> constants) 293var memberAccess = GenerateMemberAccess("System", typeof(T).Name); 307private static ExpressionSyntax GenerateMemberAccess(params ReadOnlySpan<string> names) 309ExpressionSyntax result = IdentifierName(GlobalKeyword);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (1)
95var initializer = CodeGenerationFieldInfo.GetInitializer(field) is ExpressionSyntax initializerNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (1)
110private static ExpressionSyntax GenerateEqualsValueClauseWorker(IParameterSymbol parameter, object? value)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\PropertyGenerator.cs (1)
115var initializer = CodeGenerationPropertyInfo.GetInitializer(property) is ExpressionSyntax initializerNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeRefactorings\CSharpRefactoringHelpersService.cs (1)
16internal sealed class CSharpRefactoringHelpersService() : AbstractRefactoringHelpersService<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (2)
52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CastExpressionSyntaxExtensions.cs (2)
15public static ExpressionSyntax Uncast(this CastExpressionSyntax node) 28var resultNode = node.Expression
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
281var expr = parenExpr.Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (8)
1544SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1549while (node is ExpressionSyntax && node.GetLastToken(includeZeroWidth: true) == leftToken) 2785ExpressionSyntax? parentExpression = null; 2832if (token.IsLastTokenOfNode<ExpressionSyntax>(out var expression)) 2855ExpressionSyntax nameExpr = type; 2858nameExpr = (ExpressionSyntax)nameExpr.Parent!; 2912private static bool IsRightSideName(ExpressionSyntax name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (9)
18public static ExpressionSyntax Parenthesize( 19this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 52this ExpressionSyntax expression, bool includeElasticTrivia) 54var withoutTrivia = expression.WithoutTrivia(); 83this ExpressionSyntax expression, 86var parenthesized = expression.Parenthesize(); 97public static ExpressionSyntax CastIfPossible( 98this ExpressionSyntax expression, 163this ExpressionSyntax name,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (1)
21public static ITypeSymbol DetermineParameterType(ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
26public static ExpressionSyntax GenerateExpressionSyntax(this ITypeSymbol typeSymbol, bool nameSyntax = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (9)
16private sealed class ExpressionSyntaxGeneratorVisitor : SymbolVisitor<ExpressionSyntax> 29public override ExpressionSyntax DefaultVisit(ISymbol symbol) 33where TExpressionSyntax : ExpressionSyntax 41public override ExpressionSyntax VisitNamedType(INamedTypeSymbol symbol) 59var container = symbol.ContainingType.Accept(this)!; 77var container = symbol.ContainingNamespace.Accept(this)!; 85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol) 102var container = symbol.ContainingNamespace.Accept(this)!; 108ISymbol symbol, ExpressionSyntax container, SimpleNameSyntax syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
99[.. Enumerable.Repeat<ExpressionSyntax>(OmittedArraySizeExpression(), arrayType.Rank)]));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (1)
114ExpressionSyntax? expression = null;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (23)
74=> SyntaxFactory.EqualsValueClause(operatorToken, (ExpressionSyntax)value); 82expression == null ? null : SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression))]); 89=> SyntaxFactory.ConditionalAccessExpression((ExpressionSyntax)expression, (ExpressionSyntax)whenNotNull); 95=> SyntaxFactory.RefExpression((ExpressionSyntax)expression); 103ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 109=> SyntaxFactory.YieldStatement(SyntaxKind.YieldReturnStatement, (ExpressionSyntax)expression); 131=> SyntaxFactory.Interpolation((ExpressionSyntax)syntaxNode); 134=> SyntaxFactory.InterpolationAlignmentClause(CommaToken, (ExpressionSyntax)alignment); 211(ExpressionSyntax)expression, 219=> SyntaxFactory.ConstantPattern((ExpressionSyntax)expression); 227=> SyntaxFactory.RelationalPattern(LessThanToken, (ExpressionSyntax)expression); 230=> SyntaxFactory.RelationalPattern(LessThanEqualsToken, (ExpressionSyntax)expression); 233=> SyntaxFactory.RelationalPattern(GreaterThanToken, (ExpressionSyntax)expression); 236=> SyntaxFactory.RelationalPattern(GreaterThanEqualsToken, (ExpressionSyntax)expression); 256=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)ParenthesizeNonSimple(expression)).WithAdditionalAnnotations(Simplifier.Annotation); 314ParenthesizeLeft((ExpressionSyntax)expression), 321internal static ExpressionSyntax ParenthesizeLeft(ExpressionSyntax expression) 336return (ExpressionSyntax)Parenthesize(expression); 343=> SyntaxFactory.BinaryExpression(syntaxKind, (ExpressionSyntax)ParenthesizeNonSimple(left), (ExpressionSyntax)ParenthesizeNonSimple(right)); 349=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)ParenthesizeNonSimple(expression)).WithAdditionalAnnotations(Simplifier.Annotation);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (26)
52private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right) 78out var operatorToken, out var left, out var right)) 80var types = InferTypeInBinaryOrAssignmentExpression((ExpressionSyntax)node, operatorToken, left, right, left).Where(IsUsableTypeFunc); 83types = InferTypeInBinaryOrAssignmentExpression((ExpressionSyntax)node, operatorToken, left, right, right).Where(IsUsableTypeFunc); 127var expression = node as ExpressionSyntax; 948private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 996var otherSide = onRightOfToken ? left : right; 1083private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1115ExpressionSyntax expressionOpt = null, 1170private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1321private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1352private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1378ExpressionSyntax expressionOpt = null, 1423foreach (var sibling in initializerExpression.Expressions.Where(e => e.Kind() != SyntaxKind.ComplexElementInitializerExpression)) 1450foreach (var sibling in initializerExpression.Expressions) 1763ExpressionSyntax expressionOpt = null, 1835var argumentExpression = invocation.ArgumentList.Arguments[0].Expression; 1958var argumentExpression = attributeArgumentSyntax.Expression; 2316private IEnumerable<TypeInferenceInfo> InferTypeInVariableComponentAssignment(ExpressionSyntax left) 2383var expr = arg.Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (3)
30public static Argument<ExpressionSyntax> GetArgument(ArgumentSyntax argument) 232=> body is ExpressionSyntax or ArrowExpressionClauseSyntax; 247ExpressionSyntax expression => expression.TryConvertToStatement(semicolonToken, createReturnStatementForExpression, out statement),
Microsoft.Interop.ComInterfaceGenerator (4)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (1)
211var expression = invocationSyntax.Expression;
ComInterfaceGeneratorHelpers.cs (1)
39public static ExpressionSyntax CreateEmbeddedDataBlobCreationStatement(ReadOnlySpan<byte> bytes)
VirtualMethodPointerStubGenerator.cs (2)
99ExpressionSyntax untypedFunctionPointerExpression, 160SeparatedList<ExpressionSyntax>(
Microsoft.Interop.JavaScript.JSImportGenerator (1)
SignatureBindingHelpers.cs (1)
22ExpressionSyntax bindSyntax = MarshalerTypeName(baseType);
Microsoft.Interop.LibraryImportGenerator (6)
Analyzers\ConvertToLibraryImportFixer.cs (2)
625ExpressionSyntax typeOfExpression = (ExpressionSyntax)generator.TypeOfExpression(generator.TypeExpression(callingConventionType));
LibraryImportGenerator.cs (4)
450ExpressionSyntax value = CreateEnumExpressionSyntax(CharSet.Unicode); 457ExpressionSyntax value = CreateBoolExpressionSyntax(target.SetLastError); 466static ExpressionSyntax CreateBoolExpressionSyntax(bool trueOrFalse) 474static ExpressionSyntax CreateStringExpressionSyntax(string str)
Microsoft.Interop.LibraryImportGenerator.Downlevel (4)
DownlevelLibraryImportGenerator.cs (4)
395ExpressionSyntax value = CreateEnumExpressionSyntax(CharSet.Unicode); 402ExpressionSyntax value = CreateBoolExpressionSyntax(target.SetLastError); 411static ExpressionSyntax CreateBoolExpressionSyntax(bool trueOrFalse) 419static ExpressionSyntax CreateStringExpressionSyntax(string str)
Microsoft.Interop.SourceGeneration (38)
GeneratedStatements.cs (3)
48public static GeneratedStatements Create(BoundGenerators marshallers, StubCodeContext codeContext, StubIdentifierContext context, ExpressionSyntax expressionToInvoke) 91private static ExpressionStatementSyntax GenerateStatementForNativeInvoke(BoundGenerators marshallers, StubIdentifierContext context, ExpressionSyntax expressionToInvoke) 125private static ExpressionStatementSyntax GenerateStatementForManagedInvoke(BoundGenerators marshallers, StubIdentifierContext context, ExpressionSyntax expressionToInvoke)
Marshalling\AttributedMarshallingModelGeneratorResolver.cs (2)
53private record struct ExpressionOrNotSupported(ExpressionSyntax? Expression, GeneratorDiagnostic.NotSupported? NotSupported) 55public ExpressionOrNotSupported(ExpressionSyntax expression)
Marshalling\ElementsMarshalling.cs (12)
61public static ExpressionSyntax GenerateNumElementsExpression(CountInfo count, bool countInfoRequiresCast, StubCodeContext codeContext, StubIdentifierContext context) 63ExpressionSyntax numElementsExpression = count switch 95ExpressionSyntax GetExpressionForParam(TypePositionInfo paramInfo) 152ExpressionSyntax destination = CastToManagedIfNecessary( 175ExpressionSyntax destination = CastToManagedIfNecessary(CollectionSource.GetUnmanagedValuesDestination(context)); 186ExpressionSyntax source = CastToManagedIfNecessary(CollectionSource.GetUnmanagedValuesDestination(context)); 189ExpressionSyntax destination = MethodInvocation( 215ExpressionSyntax source = CastToManagedIfNecessary(CollectionSource.GetUnmanagedValuesSource(context)); 224private ExpressionSyntax CastToManagedIfNecessary(ExpressionSyntax expression) 369ExpressionSyntax indexConstraintName; 564ExpressionSyntax lengthExpression,
Marshalling\MarshallerHelpers.cs (2)
94public static ExpressionSyntax GetIndexedManagedElementExpression(TypePositionInfo info, StubCodeContext codeContext, StubIdentifierContext context) 96ExpressionSyntax indexedManagedElement = IdentifierName(context.GetIdentifiers(info).managed);
Marshalling\MarshallingGeneratorExtensions.cs (1)
165public static ExpressionSyntax GenerateNativeByRefInitialization(this IBoundMarshallingGenerator generator, StubIdentifierContext context)
Marshalling\StatefulMarshallingStrategy.cs (1)
219SingletonList(ArrayRankSpecifier(SingletonSeparatedList<ExpressionSyntax>(
Marshalling\StatelessMarshallingStrategy.cs (3)
59ExpressionSyntax convertToUnmanaged = InvocationExpression( 75ExpressionSyntax assignment; 182SingletonList(ArrayRankSpecifier(SingletonSeparatedList<ExpressionSyntax>(
UnmanagedToManagedStubGenerator.cs (1)
50public BlockSyntax GenerateStubBody(ExpressionSyntax methodToInvoke)
Utils\SyntaxFactoryExtensions.cs (13)
28public static LocalDeclarationStatementSyntax Declare(TypeSyntax typeSyntax, string identifier, ExpressionSyntax? initializer) 47public static InvocationExpressionSyntax MethodInvocation(ExpressionSyntax objectOrClass, SimpleNameSyntax methodName) 55public static InvocationExpressionSyntax MethodInvocation(ExpressionSyntax objectOrClass, SimpleNameSyntax methodName, params ArgumentSyntax[] arguments) 68public static ExpressionStatementSyntax MethodInvocationStatement(ExpressionSyntax objectOrClass, SimpleNameSyntax methodName, params ArgumentSyntax[] arguments) 71public static ArgumentSyntax RefArgument(ExpressionSyntax expression) 74public static ArgumentSyntax InArgument(ExpressionSyntax expression) 77public static ArgumentSyntax OutArgument(ExpressionSyntax expression) 86public static MemberAccessExpressionSyntax Dot(this ExpressionSyntax expression, SimpleNameSyntax member) => 92public static ElementAccessExpressionSyntax IndexExpression(ExpressionSyntax indexed, ArgumentSyntax argument) 104public static ExpressionStatementSyntax AssignmentStatement(ExpressionSyntax left, ExpressionSyntax right) 114public static ForStatementSyntax ForLoop(string indexerIdentifier, ExpressionSyntax lengthExpression) 138SingletonSeparatedList<ExpressionSyntax>(
Microsoft.Maui.Controls.BindingSourceGen (9)
BindingSourceGenerator.cs (5)
78 private static string GetTypeNameFromExpression(ExpressionSyntax expression) 168 var expression = methodType switch 191 if (lambda.Body is not ExpressionSyntax lambdaBody) 227 private static SetterOptions DeriveSetterOptions(ExpressionSyntax? lambdaBodyExpression, SemanticModel semanticModel, bool enabledNullable) 249 var nestedExpression = lambdaBodyExpression switch
InvocationParser.cs (2)
53 var firstArgument = argumentsList[0].Expression; // Guaranteed to have at least one argument (checked by the caller) 94 var secondArgument = argumentsList[1].Expression;
PathParser.cs (2)
140 var castTo = asExpression.Right; 183 var indexExpression = argumentList[0].Expression;
Microsoft.ML.AutoML (2)
Utils\Entity.cs (2)
109var exp = SyntaxFactory.ParseExpression(expression); 133private static Entity FromExpression(ExpressionSyntax exp)
Microsoft.ML.InternalCodeAnalyzer (5)
ContractsCheckAnalyzer.cs (2)
133private static bool NameIsNameof(ExpressionSyntax exp) 139private static bool IsGoodMessage(SyntaxNodeAnalysisContext context, ExpressionSyntax exp)
ContractsCheckNameofFixProvider.cs (3)
72ExpressionSyntax bestSymbol = null; 94bestSymbol = (ExpressionSyntax)candidate; 169var nameofExp = SyntaxFactory.ParseExpression($"nameof({name})").WithTriviaFrom(nameArg);
Roslyn.Diagnostics.CSharp.Analyzers (346)
CSharpExposeMemberForTesting.cs (1)
53return SyntaxFactory.RefExpression((ExpressionSyntax)expression);
PreferNullLiteralCodeFixProvider.cs (1)
53ExpressionSyntax newSyntax = SyntaxFactory.LiteralExpression(SyntaxKind.NullLiteralExpression);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (5)
31ExpressionSyntax initializerExpression, 109var containingTypeName = memberName.GetLeftSideOfDot(); 120ExpressionSyntax containingTypeName, 193private static ExpressionSyntax GetRightmostInvocationExpression(ExpressionSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
173SyntaxToken token, ExpressionSyntax parentExpression, bool tokenIncludeDelimiters)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\AssignmentExpressionSyntaxExtensions.cs (1)
15var left = assignment.Left;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (4)
38[NotNullWhen(true)] out ExpressionSyntax? expression, 151block.TryConvertToExpressionBody(languageVersion, preference, cancellationToken, out var expression, out semicolonToken)) 192ExpressionSyntax expression, ExpressionBodyPreference preference) 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 (60)
20public static ExpressionSyntax? WalkUpParentheses(this ExpressionSyntax? expression) 28public static ExpressionSyntax WalkDownParentheses(this ExpressionSyntax expression) 36public static ExpressionSyntax WalkDownSuppressions(this ExpressionSyntax expression) 44public static bool IsQualifiedCrefName([NotNullWhen(true)] this ExpressionSyntax? expression) 47public static bool IsSimpleMemberAccessExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 50public static bool IsAnyMemberAccessExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 59public static bool IsMemberBindingExpressionName([NotNullWhen(true)] this ExpressionSyntax? expression) 63public static bool IsRightSideOfQualifiedName([NotNullWhen(true)] this ExpressionSyntax? expression) 66public static bool IsRightSideOfColonColon(this ExpressionSyntax expression) 69public static bool IsRightSideOfDot([NotNullWhen(true)] this ExpressionSyntax? name) 72public static bool IsRightSideOfDotOrArrow([NotNullWhen(true)] this ExpressionSyntax? name) 75public static bool IsRightSideOfDotOrColonColon(this ExpressionSyntax name) 78public static bool IsRightSideOfDotOrArrowOrColonColon([NotNullWhen(true)] this ExpressionSyntax name) 81public static bool IsRightOfCloseParen(this ExpressionSyntax expression) 88public static bool IsLeftSideOfDot([NotNullWhen(true)] this ExpressionSyntax? expression) 97public static bool IsLeftSideOfSimpleMemberAccessExpression(this ExpressionSyntax expression) 101public static bool IsLeftSideOfDotOrArrow(this ExpressionSyntax expression) 105public static bool IsLeftSideOfQualifiedName(this ExpressionSyntax expression) 111public static bool IsExpressionOfInvocation(this ExpressionSyntax expression) 115public static bool TryGetNameParts(this ExpressionSyntax expression, [NotNullWhen(true)] out IList<string>? parts) 128public static bool TryGetNameParts(this ExpressionSyntax expression, List<string> parts) 169public static bool IsInConstantContext([NotNullWhen(true)] this ExpressionSyntax? expression) 196public static bool IsInOutContext([NotNullWhen(true)] this ExpressionSyntax? expression) 200public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression) 207public static bool IsInRefContext([NotNullWhen(true)] this ExpressionSyntax? expression, [NotNullWhen(true)] out SyntaxNode? refParent) 210expression = (ExpressionSyntax)expression.Parent; 223public static bool IsInInContext([NotNullWhen(true)] this ExpressionSyntax? expression) 227private static ExpressionSyntax? GetExpressionToAnalyzeForWrites(ExpressionSyntax? expression) 231expression = (ExpressionSyntax)expression.GetRequiredParent(); 239public static bool IsOnlyWrittenTo([NotNullWhen(true)] this ExpressionSyntax? expression) 273private static bool IsExpressionOfArgumentInDeconstruction(ExpressionSyntax expr) 320[NotNullWhen(true)] this ExpressionSyntax? expression, 397public static bool IsAttributeNamedArgumentIdentifier([NotNullWhen(true)] this ExpressionSyntax? expression) 403public static bool IsOperandOfIncrementOrDecrementExpression(this ExpressionSyntax expression) 420public static bool IsNamedArgumentIdentifier(this ExpressionSyntax expression) 424[NotNullWhen(true)] this ExpressionSyntax? expression, SemanticModel semanticModel, CancellationToken cancellationToken) 454[NotNullWhen(true)] this ExpressionSyntax? expression, SemanticModel semanticModel, CancellationToken cancellationToken) 465this ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 604var parentNonExpression = expression.GetAncestors().SkipWhile(n => n is ExpressionSyntax).FirstOrDefault(); 605var topExpression = expression; 648public static bool IsNameOfArgumentExpression(this ExpressionSyntax expression) 658public static SimpleNameSyntax? GetRightmostName(this ExpressionSyntax node) 693public static OperatorPrecedence GetOperatorPrecedence(this ExpressionSyntax expression) 852this ExpressionSyntax expression, 872private static StatementSyntax ConvertToStatement(ExpressionSyntax expression, SyntaxToken semicolonToken, bool createReturnStatementForExpression) 900public static bool IsDirectChildOfMemberAccessExpression(this ExpressionSyntax expression) 903public static bool InsideCrefReference(this ExpressionSyntax expression) 907this ExpressionSyntax expression, 911var topExpression = expression.WalkUpParentheses(); 936bool HasType(ExpressionSyntax expression, [NotNullWhen(true)] out ITypeSymbol? type) 998ITypeSymbol? GetTargetTypeForConditionalExpression(ConditionalExpressionSyntax conditionalExpression, ExpressionSyntax expression) 1008ITypeSymbol? GetTargetTypeForLambdaExpression(LambdaExpressionSyntax lambda, ExpressionSyntax expression) 1055ITypeSymbol? GetTargetTypeForInitializerExpression(InitializerExpressionSyntax initializerExpression, ExpressionSyntax expression) 1064foreach (var sibling in initializerExpression.Expressions) 1084ITypeSymbol? GetTargetTypeForAssignmentExpression(AssignmentExpressionSyntax assignmentExpression, ExpressionSyntax expression) 1089ITypeSymbol? GetTargetTypeForBinaryExpression(BinaryExpressionSyntax binaryExpression, ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (16)
31var expression = node.Expression; 38var parentExpression = nodeParent.IsKind(SyntaxKind.ConstantPattern) 39? nodeParent.Parent as ExpressionSyntax 40: nodeParent as ExpressionSyntax; 345static bool ContainsConditionalAccessOnRightmostPath(ExpressionSyntax expr) 348for (var current = expr; current != null;) 355: current.ChildNodes().FirstOrDefault() as ExpressionSyntax; 363ParenthesizedExpressionSyntax node, ExpressionSyntax expression, 431ParenthesizedExpressionSyntax node, ExpressionSyntax parentExpression, SemanticModel semanticModel) 433var expression = node.Expression; 564var expression = node.Expression; 656private static bool IsPreviousExpressionPotentiallyAmbiguous(ExpressionSyntax node) 658ExpressionSyntax? previousExpression = null; 691private static bool IsNextExpressionPotentiallyAmbiguous(ExpressionSyntax node) 693ExpressionSyntax? nextExpression = null; 725private static bool IsSimpleOrDottedName(ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (12)
27if (name.Parent is ExpressionSyntax expression) 44if (name.Parent is ExpressionSyntax expression) 59private static void DecomposeName(ExpressionSyntax expression, out ExpressionSyntax qualifier, out string name, out int arity) 104ExpressionSyntax expression, 107var expr = SyntaxFactory.GetStandaloneExpression(expression); 108DecomposeName(expr, out var qualifier, out var name, out _); 137case ExpressionSyntax expression: 352this SemanticModel semanticModel, ExpressionSyntax expression, 358var current = expression; 429SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 431var topExpression = expression.WalkUpParentheses();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SimpleNameSyntaxExtensions.cs (1)
14public static ExpressionSyntax GetLeftSideOfDot(this SimpleNameSyntax name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
179return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 403var expression = initializer.Expressions[0];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
344foreach (var errorCode in pragmaWarningDirectiveTrivia.ErrorCodes)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpExpressionPrecedenceService.cs (2)
12internal sealed class CSharpExpressionPrecedenceService : AbstractCSharpPrecedenceService<ExpressionSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
19internal sealed class CSharpRefactoringHelpers : AbstractRefactoringHelpers<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (10)
44=> (node as ExpressionSyntax).IsWrittenTo(semanticModel, cancellationToken); 47=> (node as ExpressionSyntax).IsOnlyWrittenTo(); 50=> (node as ExpressionSyntax).IsInOutContext(); 53=> (node as ExpressionSyntax).IsInRefContext(); 56=> (node as ExpressionSyntax).IsInInContext(); 59=> (expression as ExpressionSyntax).CanReplaceWithRValue(semanticModel, cancellationToken); 193=> semanticModel.GetCollectionInitializerSymbolInfo((ExpressionSyntax)node, cancellationToken); 432=> (node as ExpressionSyntax).IsInsideNameOfExpression(semanticModel, cancellationToken); 459=> semanticModel.GenerateNameForExpression((ExpressionSyntax)expression, capitalize, cancellationToken); 488=> semanticModel.ClassifyConversion((ExpressionSyntax)expression, destination).ToCommonConversion();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (7)
183=> node is ExpressionSyntax expression ? SyntaxFactory.GetStandaloneExpression(expression) : node; 584=> SyntaxFacts.IsInNamespaceOrTypeContext(node as ExpressionSyntax); 612=> (node as ExpressionSyntax).IsInConstantContext(); 1058=> (node as ExpressionSyntax).IsLeftSideOfDot(); 1076=> (node as ExpressionSyntax).IsLeftSideOfAssignExpression(); 1079=> (node as ExpressionSyntax).IsLeftSideOfAnyAssignExpression(); 1082=> (node as ExpressionSyntax).IsLeftSideOfCompoundAssignExpression();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (52)
46public static bool IsUnnecessaryCast(ExpressionSyntax cast, SemanticModel semanticModel, CancellationToken cancellationToken) 125var leftOrRightChild = castExpression.WalkUpParentheses(); 143bool IsConstantZero(ExpressionSyntax child) 178ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 222private static bool CastRemovalCouldCauseSignExtensionWarning(ExpressionSyntax castSyntax, IConversionOperation conversionOperation) 249ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 289ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 634ExpressionSyntax castNode, 699ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, SemanticModel semanticModel, CancellationToken cancellationToken) 785ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 786ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, 853ExpressionSyntax castNode, SemanticModel originalSemanticModel, 854ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 878ExpressionSyntax castNode, SemanticModel originalSemanticModel, 879ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 907ExpressionSyntax castNode, 909ExpressionSyntax rewrittenExpression, 911Func<ExpressionSyntax, TConditionalOrSwitchExpression?> getConditionalOrSwitchExpression, 912Func<TConditionalOrSwitchExpression, ImmutableArray<ExpressionSyntax>> getArmExpressions, 913Func<TConditionalOrSwitchExpression, ExpressionSyntax, ExpressionSyntax?> getAlternativeArm, 915where TConditionalOrSwitchExpression : ExpressionSyntax 920var parentExpression = castExpression.WalkUpParentheses(); 945foreach (var armExpression in getArmExpressions(originalConditionalOrSwitchExpression)) 1001var otherSide = getAlternativeArm(originalConditionalOrSwitchExpression, parentExpression); 1057ExpressionSyntax expression, 1151=> node is ExpressionSyntax expression && expression.WalkDownParentheses().Kind() is SyntaxKind.CastExpression or SyntaxKind.AsExpression; 1155ExpressionSyntax castOrAsNode, 1179var parent = castOrAsNode.WalkUpParentheses(); 1212ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 1280private static bool IsFieldOrArrayElement(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1287ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 1300ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1353ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1386ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1417ExpressionSyntax rewrittenExpression, 1526ExpressionSyntax rewrittenExpression, 1568ExpressionSyntax expression, 1660ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1683private static (SemanticModel? rewrittenSemanticModel, ExpressionSyntax? rewrittenExpression) GetSemanticModelWithCastRemoved( 1684ExpressionSyntax castNode, 1685ExpressionSyntax castedExpressionNode, 1691var rewrittenExpression = analyzer.ReplacedExpression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (44)
31ExpressionSyntax, 56ExpressionSyntax expression, 57ExpressionSyntax newExpression, 68protected override bool CanAccessInstanceMemberThrough(ExpressionSyntax expression) 71protected override SyntaxNode GetSemanticRootForSpeculation(ExpressionSyntax expression) 107nodeToSpeculate is ExpressionSyntax || 119var isInNamespaceOrTypeContext = SyntaxFacts.IsInNamespaceOrTypeContext(originalNode as ExpressionSyntax); 181Debug.Assert(nodeToSpeculate is ExpressionSyntax); 191public bool ReplacementChangesSemanticsOfUnchangedLambda(ExpressionSyntax originalLambda, ExpressionSyntax replacedLambda) 302var expression = (ExpressionSyntax)currentReplacedNode.ChildNodes().First(); 368ExpressionSyntax originalOtherPartOfConditional, newOtherPartOfConditional; 418if (ReplacementBreaksBoxingInConditionalExpression(originalExpressionTypeInfo, newExpressionTypeInfo, (ExpressionSyntax)previousOriginalNode, (ExpressionSyntax)previousReplacedNode)) 464var previousReplacedExpression = (ExpressionSyntax)previousReplacedNode; 518ReplacementBreaksCollectionInitializerAddMethod((ExpressionSyntax)previousOriginalNode, (ExpressionSyntax)previousReplacedNode); 522return !TypesAreCompatible((ExpressionSyntax)currentOriginalNode, (ExpressionSyntax)currentReplacedNode); 531return !TypesAreCompatible((ExpressionSyntax)currentOriginalNode, (ExpressionSyntax)currentReplacedNode); 542private bool ReplacementBreaksBoxingInConditionalExpression(TypeInfo originalExpressionTypeInfo, TypeInfo newExpressionTypeInfo, ExpressionSyntax previousOriginalNode, ExpressionSyntax previousReplacedNode) 573private bool ReplacementBreaksCollectionInitializerAddMethod(ExpressionSyntax originalInitializer, ExpressionSyntax newInitializer) 588protected override ImmutableArray<ArgumentSyntax> GetArguments(ExpressionSyntax expression) 596private static BaseArgumentListSyntax GetArgumentList(ExpressionSyntax expression) 609protected override ExpressionSyntax GetReceiver(ExpressionSyntax expression) 620var result = ((InvocationExpressionSyntax)expression).Expression; 631var result = ((ElementAccessExpressionSyntax)expression).Expression; 645protected override bool IsInNamespaceOrTypeContext(ExpressionSyntax node) 648protected override ExpressionSyntax GetForEachStatementExpression(CommonForEachStatementSyntax forEachStatement) 651protected override ExpressionSyntax GetThrowStatementExpression(ThrowStatementSyntax throwStatement) 743ExpressionSyntax originalExpression, 744ExpressionSyntax newExpression, 813protected override bool ConversionsAreCompatible(SemanticModel originalModel, ExpressionSyntax originalExpression, SemanticModel newModel, ExpressionSyntax newExpression) 838private static bool ConditionalExpressionConversionsAreAllowed(ExpressionSyntax originalExpression) 841protected override bool ConversionsAreCompatible(ExpressionSyntax originalExpression, ITypeSymbol originalTargetType, ExpressionSyntax newExpression, ITypeSymbol newTargetType) 934protected override Conversion ClassifyConversion(SemanticModel model, ExpressionSyntax expression, ITypeSymbol targetType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
57SyntaxToken identifier, TypeSyntax typeName, ExpressionSyntax initializer, SemanticModel semanticModel, CSharpSimplifierOptions options, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
93var initializerExpression = CSharpUseImplicitTypeHelper.GetInitializerExpression(initializer.Value);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
136ExpressionSyntax initializer,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
240ExpressionSyntax initializer, 245var expression = GetInitializerExpression(initializer); 316internal static ExpressionSyntax GetInitializerExpression(ExpressionSyntax initializer) 318var current = (initializer as RefExpressionSyntax)?.Expression ?? initializer;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (1)
15if (argument is ExpressionSyntax expression)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
99ExpressionSyntax GenerateAttributeSyntax(TypedConstant constant)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
636if (anonymousFunctionSyntax.ExpressionBody is ExpressionSyntax expressionBody)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
26var expression = ExpressionGenerator.GenerateNonEnumValueExpression(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
64var value = CreateEnumMemberValue(destination, enumMember); 72private static ExpressionSyntax? CreateEnumMemberValue( 117var lastExpression = lastMember.EqualsValue!.Value;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (19)
24public static ExpressionSyntax GenerateExpression( 50private static ExpressionSyntax GenerateNullLiteral() 53internal static ExpressionSyntax GenerateExpression( 61return (ExpressionSyntax)CSharpFlagsEnumGenerator.Instance.CreateEnumConstantValue(enumType, value); 75internal static ExpressionSyntax GenerateNonEnumValueExpression(ITypeSymbol? type, object? value, bool canUseFieldReference) 77var intermediaryValue = value switch 95: (ExpressionSyntax)CSharpSyntaxGeneratorInternal.Instance.DefaultExpression(type), 105private static ExpressionSyntax GenerateBooleanLiteralExpression(bool val) 112private static ExpressionSyntax GenerateStringLiteralExpression(string val) 119private static ExpressionSyntax GenerateCharLiteralExpression(char val) 180private static ExpressionSyntax GenerateDoubleLiteralExpression(ITypeSymbol? type, double value, bool canUseFieldReference) 209private static ExpressionSyntax GenerateSingleLiteralExpression(ITypeSymbol? type, float value, bool canUseFieldReference) 238private static ExpressionSyntax GenerateNonNegativeLiteralExpression<T>( 249private static ExpressionSyntax GenerateLiteralExpression<T>( 259var result = GenerateFieldReference(type, value, constants); 286private static ExpressionSyntax? GenerateFieldReference<T>(ITypeSymbol? type, T value, IEnumerable<KeyValuePair<T, string>> constants) 293var memberAccess = GenerateMemberAccess("System", typeof(T).Name); 307private static ExpressionSyntax GenerateMemberAccess(params ReadOnlySpan<string> names) 309ExpressionSyntax result = IdentifierName(GlobalKeyword);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (1)
95var initializer = CodeGenerationFieldInfo.GetInitializer(field) is ExpressionSyntax initializerNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (1)
110private static ExpressionSyntax GenerateEqualsValueClauseWorker(IParameterSymbol parameter, object? value)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\PropertyGenerator.cs (1)
115var initializer = CodeGenerationPropertyInfo.GetInitializer(property) is ExpressionSyntax initializerNode
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeRefactorings\CSharpRefactoringHelpersService.cs (1)
16internal sealed class CSharpRefactoringHelpersService() : AbstractRefactoringHelpersService<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (2)
52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CastExpressionSyntaxExtensions.cs (2)
15public static ExpressionSyntax Uncast(this CastExpressionSyntax node) 28var resultNode = node.Expression
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
281var expr = parenExpr.Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (8)
1544SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1549while (node is ExpressionSyntax && node.GetLastToken(includeZeroWidth: true) == leftToken) 2785ExpressionSyntax? parentExpression = null; 2832if (token.IsLastTokenOfNode<ExpressionSyntax>(out var expression)) 2855ExpressionSyntax nameExpr = type; 2858nameExpr = (ExpressionSyntax)nameExpr.Parent!; 2912private static bool IsRightSideName(ExpressionSyntax name)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (9)
18public static ExpressionSyntax Parenthesize( 19this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 52this ExpressionSyntax expression, bool includeElasticTrivia) 54var withoutTrivia = expression.WithoutTrivia(); 83this ExpressionSyntax expression, 86var parenthesized = expression.Parenthesize(); 97public static ExpressionSyntax CastIfPossible( 98this ExpressionSyntax expression, 163this ExpressionSyntax name,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (1)
21public static ITypeSymbol DetermineParameterType(ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
26public static ExpressionSyntax GenerateExpressionSyntax(this ITypeSymbol typeSymbol, bool nameSyntax = false)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (9)
16private sealed class ExpressionSyntaxGeneratorVisitor : SymbolVisitor<ExpressionSyntax> 29public override ExpressionSyntax DefaultVisit(ISymbol symbol) 33where TExpressionSyntax : ExpressionSyntax 41public override ExpressionSyntax VisitNamedType(INamedTypeSymbol symbol) 59var container = symbol.ContainingType.Accept(this)!; 77var container = symbol.ContainingNamespace.Accept(this)!; 85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol) 102var container = symbol.ContainingNamespace.Accept(this)!; 108ISymbol symbol, ExpressionSyntax container, SimpleNameSyntax syntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
99[.. Enumerable.Repeat<ExpressionSyntax>(OmittedArraySizeExpression(), arrayType.Rank)]));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (1)
114ExpressionSyntax? expression = null;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (23)
74=> SyntaxFactory.EqualsValueClause(operatorToken, (ExpressionSyntax)value); 82expression == null ? null : SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression))]); 89=> SyntaxFactory.ConditionalAccessExpression((ExpressionSyntax)expression, (ExpressionSyntax)whenNotNull); 95=> SyntaxFactory.RefExpression((ExpressionSyntax)expression); 103ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 109=> SyntaxFactory.YieldStatement(SyntaxKind.YieldReturnStatement, (ExpressionSyntax)expression); 131=> SyntaxFactory.Interpolation((ExpressionSyntax)syntaxNode); 134=> SyntaxFactory.InterpolationAlignmentClause(CommaToken, (ExpressionSyntax)alignment); 211(ExpressionSyntax)expression, 219=> SyntaxFactory.ConstantPattern((ExpressionSyntax)expression); 227=> SyntaxFactory.RelationalPattern(LessThanToken, (ExpressionSyntax)expression); 230=> SyntaxFactory.RelationalPattern(LessThanEqualsToken, (ExpressionSyntax)expression); 233=> SyntaxFactory.RelationalPattern(GreaterThanToken, (ExpressionSyntax)expression); 236=> SyntaxFactory.RelationalPattern(GreaterThanEqualsToken, (ExpressionSyntax)expression); 256=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)ParenthesizeNonSimple(expression)).WithAdditionalAnnotations(Simplifier.Annotation); 314ParenthesizeLeft((ExpressionSyntax)expression), 321internal static ExpressionSyntax ParenthesizeLeft(ExpressionSyntax expression) 336return (ExpressionSyntax)Parenthesize(expression); 343=> SyntaxFactory.BinaryExpression(syntaxKind, (ExpressionSyntax)ParenthesizeNonSimple(left), (ExpressionSyntax)ParenthesizeNonSimple(right)); 349=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)ParenthesizeNonSimple(expression)).WithAdditionalAnnotations(Simplifier.Annotation);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (26)
52private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right) 78out var operatorToken, out var left, out var right)) 80var types = InferTypeInBinaryOrAssignmentExpression((ExpressionSyntax)node, operatorToken, left, right, left).Where(IsUsableTypeFunc); 83types = InferTypeInBinaryOrAssignmentExpression((ExpressionSyntax)node, operatorToken, left, right, right).Where(IsUsableTypeFunc); 127var expression = node as ExpressionSyntax; 948private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 996var otherSide = onRightOfToken ? left : right; 1083private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1115ExpressionSyntax expressionOpt = null, 1170private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1321private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1352private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1378ExpressionSyntax expressionOpt = null, 1423foreach (var sibling in initializerExpression.Expressions.Where(e => e.Kind() != SyntaxKind.ComplexElementInitializerExpression)) 1450foreach (var sibling in initializerExpression.Expressions) 1763ExpressionSyntax expressionOpt = null, 1835var argumentExpression = invocation.ArgumentList.Arguments[0].Expression; 1958var argumentExpression = attributeArgumentSyntax.Expression; 2316private IEnumerable<TypeInferenceInfo> InferTypeInVariableComponentAssignment(ExpressionSyntax left) 2383var expr = arg.Expression;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (3)
30public static Argument<ExpressionSyntax> GetArgument(ArgumentSyntax argument) 232=> body is ExpressionSyntax or ArrowExpressionClauseSyntax; 247ExpressionSyntax expression => expression.TryConvertToStatement(semicolonToken, createReturnStatementForExpression, out statement),
System.Private.CoreLib.Generators (4)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (4)
221private static INamedTypeSymbol[] GatherAndConditions(SemanticModel model, ExpressionSyntax expressionToDecompose) 273private static INamedTypeSymbol[][] DecomposePropertySymbolForIsSupportedGroups_Property(OperationAnalysisContext context, SemanticModel model, ExpressionSyntax expressionToDecompose) 309private static INamedTypeSymbol[][] DecomposeConditionForIsSupportedGroups(OperationAnalysisContext context, SemanticModel model, ExpressionSyntax expressionToDecompose) 596bool HandleConditionalCase(ExpressionSyntax condition, SyntaxNode? syntaxOnPositiveCondition, SyntaxNode? syntaxOnNegativeCondition)
System.Windows.Forms.PrivateSourceGenerators (1)
System\Windows\Forms\SourceGenerators\EnumValidationGenerator.cs (1)
71var argumentToValidate = arguments.First().Expression;