46 types derived from ExpressionSyntax
Microsoft.CodeAnalysis.CSharp (46)
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 4298public sealed partial class QueryExpressionSyntax : ExpressionSyntax 4958public sealed partial class OmittedArraySizeExpressionSyntax : ExpressionSyntax 4997public sealed partial class InterpolatedStringExpressionSyntax : ExpressionSyntax 5048public sealed partial class IsPatternExpressionSyntax : ExpressionSyntax 5108public sealed partial class ThrowExpressionSyntax : ExpressionSyntax 8817public sealed partial class SwitchExpressionSyntax : ExpressionSyntax
4661 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 (1013)
Binder\Binder.IdentifierUsedAsValueFinder.cs (5)
155case ExpressionSyntax expression: 376var v = selectClause.Expression; 389var v = groupClause.GroupExpression; 390var k = groupClause.ByExpression; 537private 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, 176private static bool IsDeconstructionResultUsed(ExpressionSyntax left) 734ExpressionSyntax node, 737ref ExpressionSyntax? expression)
Binder\Binder_Expressions.cs (62)
25/// This portion of the binder converts an <see cref="ExpressionSyntax"/> into a <see cref="BoundExpression"/>. 241internal BoundExpression BindValue(ExpressionSyntax node, BindingDiagnosticBag diagnostics, BindValueKind valueKind) 247internal BoundExpression BindRValueWithoutTargetType(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool reportNoTargetType = true) 256internal BoundExpression BindTypeOrRValue(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 435internal BoundExpression BindValueAllowArgList(ExpressionSyntax node, BindingDiagnosticBag diagnostics, BindValueKind valueKind) 481ExpressionSyntax value; 536public BoundExpression BindExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 541protected BoundExpression BindExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool invoked, bool indexed) 559protected BoundExpression BindExpressionAllowArgList(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 566private void CheckContextForPointerTypes(ExpressionSyntax node, BindingDiagnosticBag diagnostics, BoundExpression expr) 579private BoundExpression BindExpressionInternal(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool invoked, bool indexed) 595BoundExpression bindExpressionInternal(ExpressionSyntax node, BindingDiagnosticBag diagnostics, bool invoked, bool indexed) 865private BoundExpression BindRefType(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 872private BoundExpression BindScopedType(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 1362private BoundExpression BindParenthesizedExpression(ExpressionSyntax innerExpression, BindingDiagnosticBag diagnostics) 1376ExpressionSyntax typeSyntax = node.Type; 1431ExpressionSyntax typeSyntax = node.Type; 2410public BoundExpression BindNamespaceOrTypeOrExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2436public BoundExpression BindLabel(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2464public BoundExpression BindNamespaceOrType(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2476private static BoundExpression CreateBoundNamespaceOrTypeExpression(ExpressionSyntax node, Symbol symbol) 2712private BoundExpression BindRangeExpressionOperand(ExpressionSyntax operand, BindingDiagnosticBag diagnostics) 2748private BoundExpression BindCastCore(ExpressionSyntax node, BoundExpression operand, TypeWithAnnotations targetTypeWithAnnotations, bool wasCompilerGenerated, BindingDiagnosticBag diagnostics) 2927private BoundExpression BindExplicitNullableCastFromNonNullable(ExpressionSyntax node, BoundExpression operand, TypeWithAnnotations targetTypeWithAnnotations, BindingDiagnosticBag diagnostics) 3026private static string GetName(ExpressionSyntax syntax) 3401private BoundExpression BindArgumentExpression(BindingDiagnosticBag diagnostics, ExpressionSyntax argumentExpression, RefKind refKind, bool allowArglist) 4058foreach (var arg in firstRankSpecifier.Sizes) 4077foreach (var arg in dimension) 4097private BoundExpression BindArrayDimension(ExpressionSyntax dimension, BindingDiagnosticBag diagnostics, ref bool hasErrors) 4216foreach (var expression in initializer.Expressions) 4225foreach (var expression in initializer.Expressions) 4289foreach (var expressionSyntax in node.Expressions) 4303foreach (var expr in node.Expressions) 4422ExpressionSyntax creationSyntax, 4543foreach (ExpressionSyntax size in rankSpecifier.Sizes) 4560ExpressionSyntax countSyntax = rankSpecifiers[0].Sizes[0]; 5649ExpressionSyntax syntax, 5704foreach (var memberInitializer in initializerSyntax.Expressions) 5722ExpressionSyntax memberInitializer, 5749var rhsExpr = initializer.Right.CheckAndUnwrapRefExpression(diagnostics, out RefKind refKind); 5810var leftSyntax = namedAssignment.Left; 5822ExpressionSyntax leftSyntax, 5832ExpressionSyntax leftSyntax, 6050ExpressionSyntax memberNameSyntax, 6074ExpressionSyntax memberNameSyntax, 6282foreach (var elementInitializer in initializerSyntax.Expressions) 6336ExpressionSyntax elementInitializer, 6392foreach (var childElementInitializer in elementInitializerExpressions) 7436ExpressionSyntax exprSyntax = node.Expression; 7478private BoundExpression BindLeftOfPotentialColorColorMemberAccess(ExpressionSyntax left, BindingDiagnosticBag diagnostics) 7589ExpressionSyntax node, 7660ExpressionSyntax node, 7811ExpressionSyntax node, 7882ExpressionSyntax node, 9314private BoundExpression BindElementAccess(ExpressionSyntax node, BoundExpression receiver, BracketedArgumentListSyntax argumentList, bool allowInlineArrayElementAccess, BindingDiagnosticBag diagnostics) 9339private BoundExpression BindElementOrIndexerAccess(ExpressionSyntax node, BoundExpression expr, AnalyzedArguments analyzedArguments, bool allowInlineArrayElementAccess, BindingDiagnosticBag diagnostics) 9405BoundExpression tryImplicitConversionToInlineArrayIndex(ExpressionSyntax node, BoundExpression index, BindingDiagnosticBag diagnostics, out WellKnownType indexOrRangeWellknownType) 9431BoundExpression bindInlineArrayElementAccess(ExpressionSyntax node, BoundExpression expr, int length, AnalyzedArguments analyzedArguments, BoundExpression convertedIndex, WellKnownType indexOrRangeWellknownType, FieldSymbol elementField, BindingDiagnosticBag diagnostics) 11387private bool ResultIsUsed(ExpressionSyntax node) 11460var receiver = node.Expression; 11470private BoundExpression GetReceiverForConditionalBinding(ExpressionSyntax binding, BindingDiagnosticBag diagnostics) 11497var receiverSyntax = node.Expression;
Binder\Binder_Invocation.cs (4)
20/// This portion of the binder converts an <see cref="ExpressionSyntax"/> into a <see cref="BoundExpression"/>. 24private BoundExpression BindMethodGroup(ExpressionSyntax node, bool invoked, bool indexed, BindingDiagnosticBag diagnostics) 2311var argument = node.ArgumentList.Arguments[0].Expression; 2376private bool CheckSyntaxForNameofArgument(ExpressionSyntax argument, out string name, BindingDiagnosticBag diagnostics, bool top = true)
Binder\Binder_Operators.cs (20)
547TypeSymbol getResultType(ExpressionSyntax node, TypeSymbol leftType, BindingDiagnosticBag diagnostics) 860ExpressionSyntax current = node; 1284private void ReportBinaryOperatorError(ExpressionSyntax node, BindingDiagnosticBag diagnostics, SyntaxToken operatorToken, BoundExpression left, BoundExpression right, LookupResultKind resultKind) 1349ExpressionSyntax child; 3117private BoundExpression BindIncrementOperator(ExpressionSyntax node, ExpressionSyntax operandSyntax, SyntaxToken operatorToken, BindingDiagnosticBag diagnostics) 3287ExpressionSyntax node, 3330ExpressionSyntax node, 3369ExpressionSyntax node, 3505TypeSymbol getResultType(ExpressionSyntax node, TypeSymbol operandType, InstanceUserDefinedIncrementUsageMode mode, BindingDiagnosticBag diagnostics) 3514ExpressionSyntax node, 3579ExpressionSyntax node, 4641protected static bool IsUnderscore(ExpressionSyntax node) => 4761ExpressionSyntax possibleType, 5699var whenTrue = node.WhenTrue.CheckAndUnwrapRefExpression(diagnostics, out var whenTrueRefKind); 5700var whenFalse = node.WhenFalse.CheckAndUnwrapRefExpression(diagnostics, out var whenFalseRefKind); 5724private BoundExpression BindValueConditionalOperator(ConditionalExpressionSyntax node, ExpressionSyntax whenTrue, ExpressionSyntax whenFalse, BindingDiagnosticBag diagnostics) 5765private BoundExpression BindRefConditionalOperator(ConditionalExpressionSyntax node, ExpressionSyntax whenTrue, ExpressionSyntax whenFalse, BindingDiagnosticBag diagnostics)
Binder\Binder_Patterns.cs (10)
419ExpressionSyntax expression, 424ExpressionSyntax innerExpression = SkipParensAndNullSuppressions(expression, diagnostics, ref hasErrors); 470private static ExpressionSyntax SkipParensAndNullSuppressions(ExpressionSyntax e, BindingDiagnosticBag diagnostics, ref bool hasErrors) 500ExpressionSyntax patternExpression, 528ExpressionSyntax patternExpression, 546ExpressionSyntax patternExpression, 1472ExpressionSyntax? expr = p.ExpressionColon?.Expression; 1511TypeSymbol inputType, ExpressionSyntax expr, BindingDiagnosticBag diagnostics, ref bool hasErrors) 1633ExpressionSyntax innerExpression = SkipParensAndNullSuppressions(node.Expression, diagnostics, ref hasErrors);
Binder\Binder_Query.cs (8)
231var v = selectClause.Expression; 254var v = groupClause.GroupExpression; 255var k = groupClause.ByExpression; 774private BoundBlock CreateLambdaBlockForQueryClause(ExpressionSyntax expression, BoundExpression result, BindingDiagnosticBag diagnostics) 832private UnboundLambda MakeQueryUnboundLambda(RangeVariableMap qvm, RangeVariableSymbol parameter, ExpressionSyntax expression, bool withDependencies) 837private UnboundLambda MakeQueryUnboundLambda(RangeVariableMap qvm, ImmutableArray<RangeVariableSymbol> parameters, ExpressionSyntax expression, bool withDependencies) 848private UnboundLambda MakeQueryUnboundLambdaWithCast(RangeVariableMap qvm, RangeVariableSymbol parameter, ExpressionSyntax expression, TypeSyntax castTypeSyntax, TypeWithAnnotations castType, bool withDependencies) 873Debug.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) 867ExpressionSyntax value; 873protected BoundExpression BindInferredVariableInitializer(BindingDiagnosticBag diagnostics, ExpressionSyntax initializer, BindValueKind valueKind, CSharpSyntaxNode errorSyntax) 915out ExpressionSyntax value) 1008ExpressionSyntax value; 1141foreach (var expressionSyntax in rankSpecifier.Sizes) 1415var rhsExpr = node.Right.CheckAndUnwrapRefExpression(diagnostics, out var refKind); 1859ExpressionSyntax node, 2642internal BoundExpression BindBooleanExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics) 2892internal BoundStatement BindStatementExpressionList(SeparatedSyntaxList<ExpressionSyntax> statements, BindingDiagnosticBag diagnostics) 2901var syntax = statements[0]; 2909var syntax = statements[i]; 3027var expressionSyntax = syntax.Expression?.CheckAndUnwrapRefExpression(diagnostics, out refKind); 3485internal BoundBlock CreateBlockFromExpression(CSharpSyntaxNode node, ImmutableArray<LocalSymbol> locals, RefKind refKind, BoundExpression expression, ExpressionSyntax expressionSyntax, BindingDiagnosticBag diagnostics) 3613ExpressionSyntax expressionSyntax = expressionBody.Expression.CheckAndUnwrapRefExpression(diagnostics, out refKind); 3623public BoundBlock BindLambdaExpressionAsBlock(ExpressionSyntax body, BindingDiagnosticBag diagnostics) 3629var expressionSyntax = body.CheckAndUnwrapRefExpression(diagnostics, out refKind); 3635public BoundBlock CreateBlockFromExpression(ExpressionSyntax body, BoundExpression expression, BindingDiagnosticBag diagnostics)
Binder\Binder_Symbols.cs (10)
185/// Otherwise, call <see cref="Binder.BindTypeOrAlias(ExpressionSyntax, BindingDiagnosticBag, ConsList{TypeSymbol}, bool)"/> instead. 302internal TypeWithAnnotations BindType(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved = null, bool suppressUseSiteDiagnostics = false) 311internal TypeWithAnnotations BindType(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, out AliasSymbol alias, ConsList<TypeSymbol> basesBeingResolved = null) 320internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindTypeOrAlias(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved = null, bool suppressUseSiteDiagnostics = false) 383internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindNamespaceOrTypeSymbol(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved = null) 393internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindNamespaceOrTypeSymbol(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved, bool suppressUseSiteDiagnostics) 407/// <see cref="BindQualifiedName(ExpressionSyntax, SimpleNameSyntax, BindingDiagnosticBag, ConsList{TypeSymbol}, bool)"/> 416internal NamespaceOrTypeOrAliasSymbolWithAnnotations BindNamespaceOrTypeOrAliasSymbol(ExpressionSyntax syntax, BindingDiagnosticBag diagnostics, ConsList<TypeSymbol> basesBeingResolved, bool suppressUseSiteDiagnostics) 1650ExpressionSyntax leftName, 2353while (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; 466ExpressionSyntax possibleTupleDeclaration, 574SeparatedSyntaxList<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; 615var expr = _syntax.Expression; 623internal 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)
680if (!binder.TryGetCollectionIterationType((ExpressionSyntax)argument.Syntax, targetType.StrippedType(), out TypeWithAnnotations targetElementType)) 905if (!binder.TryGetCollectionIterationType((ExpressionSyntax)argument.Syntax, formalType.Type, out TypeWithAnnotations targetElementType))
Binder\SwitchBinder.cs (1)
375ExpressionSyntax node = SwitchSyntax.Expression;
Binder\SwitchBinder_Patterns.cs (1)
286void 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)
89syntax is ExpressionSyntax && LambdaUtilities.IsLambdaBody(syntax, allowReducedLambdas: true) || // query lambdas 1611return lambdaBodyBinder.CreateBlockFromExpression((ExpressionSyntax)this.Body, expression, diagnostics); 1618return lambdaBodyBinder.BindLambdaExpressionAsBlock((ExpressionSyntax)this.Body, diagnostics);
Compilation\CSharpCompilation.cs (1)
839var expression = expressionStatement.Expression;
Compilation\CSharpSemanticModel.cs (33)
122(node is ExpressionSyntax && (isSpeculative || allowNamedArgumentName || !SyntaxFacts.IsNamedArgumentName(node))) || 147internal abstract SymbolInfo GetCollectionInitializerSymbolInfoWorker(InitializerExpressionSyntax collectionInitializer, ExpressionSyntax node, CancellationToken cancellationToken = default(CancellationToken)); 168internal abstract BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols); 203internal Binder GetSpeculativeBinder(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 252private static BoundExpression GetSpeculativelyBoundExpressionHelper(Binder binder, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 280protected BoundExpression GetSpeculativelyBoundExpressionWithoutNullability(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 522public SymbolInfo GetSymbolInfo(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 611public SymbolInfo GetCollectionInitializerSymbolInfo(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 719public SymbolInfo GetSpeculativeSymbolInfo(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 953public TypeInfo GetTypeInfo(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1042public TypeInfo GetSpeculativeTypeInfo(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 1047internal CSharpTypeInfo GetSpeculativeTypeInfoWorker(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 1072public Conversion GetSpeculativeConversion(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption) 1087public ImmutableArray<ISymbol> GetMemberGroup(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1138public ImmutableArray<IPropertySymbol> GetIndexerGroup(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1151public Optional<object> GetConstantValue(ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1620var 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) 4278if (invocation != null && invocation.Expression.SkipParens() == ((ExpressionSyntax)boundNode.Syntax).SkipParens() && (object)call.Method != null) 4960case ExpressionSyntax expression: 4987case ExpressionSyntax expression: 5008case ExpressionSyntax expression: 5029case ExpressionSyntax expression: 5046return node is ExpressionSyntax expression 5381case ExpressionSyntax expressionSyntax: 5399return 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, 1271internal override SymbolInfo GetCollectionInitializerSymbolInfoWorker(InitializerExpressionSyntax collectionInitializer, ExpressionSyntax node, CancellationToken cancellationToken = default(CancellationToken)) 2249!(node is ExpressionSyntax) && 2278if (!(node is ExpressionSyntax))
Compilation\SpeculativeSemanticModelWithMemberModel.cs (4)
221ExpressionSyntax expression, 229ExpressionSyntax expression, 475internal override SymbolInfo GetCollectionInitializerSymbolInfoWorker(InitializerExpressionSyntax collectionInitializer, ExpressionSyntax node, CancellationToken cancellationToken = default(CancellationToken)) 565internal 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) 2287public override DataFlowAnalysis AnalyzeDataFlow(ExpressionSyntax expression)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (1)
20private RegionAnalysisContext RegionAnalysisContext(ExpressionSyntax expression)
Compiler\MethodCompiler.cs (1)
2187case 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) 940public static ImmutableArray<ISymbol> GetMemberGroup(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 982public static ImmutableArray<IPropertySymbol> GetIndexerGroup(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 995public static Optional<object> GetConstantValue(this SemanticModel? semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken = default(CancellationToken)) 1081/// Analyze data-flow within an <see cref="ExpressionSyntax"/>. 1083public static DataFlowAnalysis? AnalyzeDataFlow(this SemanticModel? semanticModel, ExpressionSyntax expression) 1306public static Conversion ClassifyConversion(this SemanticModel? semanticModel, ExpressionSyntax expression, ITypeSymbol destination, bool isExplicitInSource = false) 1326public static Conversion ClassifyConversion(this SemanticModel? semanticModel, int position, ExpressionSyntax expression, ITypeSymbol destination, bool isExplicitInSource = false)
FlowAnalysis\NullableWalker.cs (1)
4047var foundIterationType = _binder.TryGetCollectionIterationType((ExpressionSyntax)node.Syntax, collectionType, out targetElementType);
Lowering\LocalRewriter\LocalRewriter.cs (1)
871if (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)
113ExpressionSyntax collection) 176nodeToBind is ExpressionSyntax); 623private readonly ExpressionSyntax _collection; 630ExpressionSyntax collection, 688ExpressionSyntax expression = null; 749nodeToBind is ExpressionSyntax); 806_nodeBinder.BindExpression((ExpressionSyntax)_nodeToBind, diagnostics);
Syntax.xml.Main.Generated.cs (249)
1567=> node.Update(VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1573=> node.Update(VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Operand) ?? throw new ArgumentNullException("operand")); 1576=> node.Update(VisitToken(node.AwaitKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1579=> node.Update((ExpressionSyntax?)Visit(node.Operand) ?? throw new ArgumentNullException("operand"), VisitToken(node.OperatorToken)); 1582=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.OperatorToken), (SimpleNameSyntax?)Visit(node.Name) ?? throw new ArgumentNullException("name")); 1585=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.WhenNotNull) ?? throw new ArgumentNullException("whenNotNull")); 1594=> node.Update((ExpressionSyntax?)Visit(node.LeftOperand), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.RightOperand)); 1600=> node.Update((ExpressionSyntax?)Visit(node.Left) ?? throw new ArgumentNullException("left"), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Right) ?? throw new ArgumentNullException("right")); 1603=> node.Update((ExpressionSyntax?)Visit(node.Left) ?? throw new ArgumentNullException("left"), VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Right) ?? throw new ArgumentNullException("right")); 1606=> 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")); 1621=> node.Update(VisitToken(node.Keyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1624=> node.Update(VisitToken(node.Keyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1627=> 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)); 1630=> node.Update(VisitToken(node.Keyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.CloseParenToken)); 1642=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), (ArgumentListSyntax?)Visit(node.ArgumentList) ?? throw new ArgumentNullException("argumentList")); 1645=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), (BracketedArgumentListSyntax?)Visit(node.ArgumentList) ?? throw new ArgumentNullException("argumentList")); 1654=> node.Update((NameColonSyntax?)Visit(node.NameColon), VisitToken(node.RefKindKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1657=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.ColonToken)); 1666=> node.Update(VisitToken(node.OpenParenToken), (TypeSyntax?)Visit(node.Type) ?? throw new ArgumentNullException("type"), VisitToken(node.CloseParenToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1669=> node.Update(VisitList(node.Modifiers), VisitToken(node.DelegateKeyword), (ParameterListSyntax?)Visit(node.ParameterList), (BlockSyntax?)Visit(node.Block) ?? throw new ArgumentNullException("block"), (ExpressionSyntax?)Visit(node.ExpressionBody)); 1672=> 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)); 1675=> node.Update(VisitToken(node.RefKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1678=> 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)); 1690=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.WithKeyword), (InitializerExpressionSyntax?)Visit(node.Initializer) ?? throw new ArgumentNullException("initializer")); 1693=> node.Update((NameEqualsSyntax?)Visit(node.NameEquals), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1714=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1717=> node.Update(VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1726=> node.Update(VisitToken(node.FromKeyword), (TypeSyntax?)Visit(node.Type), VisitToken(node.Identifier), VisitToken(node.InKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1729=> node.Update(VisitToken(node.LetKeyword), VisitToken(node.Identifier), VisitToken(node.EqualsToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1732=> 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)); 1738=> node.Update(VisitToken(node.WhereKeyword), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition")); 1744=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.AscendingOrDescendingKeyword)); 1747=> node.Update(VisitToken(node.SelectKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1750=> node.Update(VisitToken(node.GroupKeyword), (ExpressionSyntax?)Visit(node.GroupExpression) ?? throw new ArgumentNullException("groupExpression"), VisitToken(node.ByKeyword), (ExpressionSyntax?)Visit(node.ByExpression) ?? throw new ArgumentNullException("byExpression")); 1762=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.IsKeyword), (PatternSyntax?)Visit(node.Pattern) ?? throw new ArgumentNullException("pattern")); 1765=> node.Update(VisitToken(node.ThrowKeyword), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1768=> node.Update(VisitToken(node.WhenKeyword), (ExpressionSyntax?)Visit(node.Condition) ?? throw new ArgumentNullException("condition")); 1792=> node.Update((ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1798=> node.Update(VisitToken(node.OperatorToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 1819=> node.Update(VisitToken(node.OpenBraceToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), (InterpolationAlignmentClauseSyntax?)Visit(node.AlignmentClause), (InterpolationFormatClauseSyntax?)Visit(node.FormatClause), VisitToken(node.CloseBraceToken)); 1822=> node.Update(VisitToken(node.CommaToken), (ExpressionSyntax?)Visit(node.Value) ?? throw new ArgumentNullException("value")); 1846=> node.Update(VisitToken(node.EqualsToken), (ExpressionSyntax?)Visit(node.Value) ?? throw new ArgumentNullException("value")); 1858=> node.Update(VisitList(node.AttributeLists), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression"), VisitToken(node.SemicolonToken)); 1867=> node.Update(VisitList(node.AttributeLists), VisitToken(node.GotoKeyword), VisitToken(node.CaseOrDefaultKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 1876=> node.Update(VisitList(node.AttributeLists), VisitToken(node.ReturnKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 1879=> node.Update(VisitList(node.AttributeLists), VisitToken(node.ThrowKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 1882=> node.Update(VisitList(node.AttributeLists), VisitToken(node.YieldKeyword), VisitToken(node.ReturnOrBreakKeyword), (ExpressionSyntax?)Visit(node.Expression), VisitToken(node.SemicolonToken)); 1885=> 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")); 1888=> 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)); 1891=> 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")); 1894=> 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")); 1897=> 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")); 1900=> 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")); 1912=> 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")); 1915=> 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)); 1921=> 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)); 1930=> node.Update(VisitToken(node.Keyword), (ExpressionSyntax?)Visit(node.Value) ?? throw new ArgumentNullException("value"), VisitToken(node.ColonToken)); 1936=> node.Update((ExpressionSyntax?)Visit(node.GoverningExpression) ?? throw new ArgumentNullException("governingExpression"), VisitToken(node.SwitchKeyword), VisitToken(node.OpenBraceToken), VisitList(node.Arms), VisitToken(node.CloseBraceToken)); 1939=> 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")); 1951=> node.Update(VisitToken(node.WhenKeyword), VisitToken(node.OpenParenToken), (ExpressionSyntax?)Visit(node.FilterExpression) ?? throw new ArgumentNullException("filterExpression"), VisitToken(node.CloseParenToken)); 1984=> node.Update((NameEqualsSyntax?)Visit(node.NameEquals), (NameColonSyntax?)Visit(node.NameColon), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 2080=> node.Update(VisitToken(node.ArrowToken), (ExpressionSyntax?)Visit(node.Expression) ?? throw new ArgumentNullException("expression")); 2185=> 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); 2188=> 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); 2359public static ArrayRankSpecifierSyntax ArrayRankSpecifier(SyntaxToken openBracketToken, SeparatedSyntaxList<ExpressionSyntax> sizes, SyntaxToken closeBracketToken) 2367public static ArrayRankSpecifierSyntax ArrayRankSpecifier(SeparatedSyntaxList<ExpressionSyntax> sizes = default) 2529public static ParenthesizedExpressionSyntax ParenthesizedExpression(SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 2538public static ParenthesizedExpressionSyntax ParenthesizedExpression(ExpressionSyntax expression) 2554public static PrefixUnaryExpressionSyntax PrefixUnaryExpression(SyntaxKind kind, SyntaxToken operatorToken, ExpressionSyntax operand) 2587public static PrefixUnaryExpressionSyntax PrefixUnaryExpression(SyntaxKind kind, ExpressionSyntax operand) 2606public static AwaitExpressionSyntax AwaitExpression(SyntaxToken awaitKeyword, ExpressionSyntax expression) 2614public static AwaitExpressionSyntax AwaitExpression(ExpressionSyntax expression) 2618public static PostfixUnaryExpressionSyntax PostfixUnaryExpression(SyntaxKind kind, ExpressionSyntax operand, SyntaxToken operatorToken) 2639public static PostfixUnaryExpressionSyntax PostfixUnaryExpression(SyntaxKind kind, ExpressionSyntax operand) 2652public static MemberAccessExpressionSyntax MemberAccessExpression(SyntaxKind kind, ExpressionSyntax expression, SyntaxToken operatorToken, SimpleNameSyntax name) 2672public static MemberAccessExpressionSyntax MemberAccessExpression(SyntaxKind kind, ExpressionSyntax expression, SimpleNameSyntax name) 2684public static ConditionalAccessExpressionSyntax ConditionalAccessExpression(ExpressionSyntax expression, SyntaxToken operatorToken, ExpressionSyntax whenNotNull) 2693public static ConditionalAccessExpressionSyntax ConditionalAccessExpression(ExpressionSyntax expression, ExpressionSyntax whenNotNull) 2720public static RangeExpressionSyntax RangeExpression(ExpressionSyntax? leftOperand, SyntaxToken operatorToken, ExpressionSyntax? rightOperand) 2727public static RangeExpressionSyntax RangeExpression(ExpressionSyntax? leftOperand, ExpressionSyntax? rightOperand) 2746public static BinaryExpressionSyntax BinaryExpression(SyntaxKind kind, ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 2806public static BinaryExpressionSyntax BinaryExpression(SyntaxKind kind, ExpressionSyntax left, ExpressionSyntax right) 2838public static AssignmentExpressionSyntax AssignmentExpression(SyntaxKind kind, ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 2880public static AssignmentExpressionSyntax AssignmentExpression(SyntaxKind kind, ExpressionSyntax left, ExpressionSyntax right) 2903public static ConditionalExpressionSyntax ConditionalExpression(ExpressionSyntax condition, SyntaxToken questionToken, ExpressionSyntax whenTrue, SyntaxToken colonToken, ExpressionSyntax whenFalse) 2914public static ConditionalExpressionSyntax ConditionalExpression(ExpressionSyntax condition, ExpressionSyntax whenTrue, ExpressionSyntax whenFalse) 2987public static MakeRefExpressionSyntax MakeRefExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 2997public static MakeRefExpressionSyntax MakeRefExpression(ExpressionSyntax expression) 3001public static RefTypeExpressionSyntax RefTypeExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 3011public static RefTypeExpressionSyntax RefTypeExpression(ExpressionSyntax expression) 3015public static RefValueExpressionSyntax RefValueExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken comma, TypeSyntax type, SyntaxToken closeParenToken) 3027public static RefValueExpressionSyntax RefValueExpression(ExpressionSyntax expression, TypeSyntax type) 3031public static CheckedExpressionSyntax CheckedExpression(SyntaxKind kind, SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) 3052public static CheckedExpressionSyntax CheckedExpression(SyntaxKind kind, ExpressionSyntax expression) 3106public static InvocationExpressionSyntax InvocationExpression(ExpressionSyntax expression, ArgumentListSyntax argumentList) 3114public static InvocationExpressionSyntax InvocationExpression(ExpressionSyntax expression) 3118public static ElementAccessExpressionSyntax ElementAccessExpression(ExpressionSyntax expression, BracketedArgumentListSyntax argumentList) 3126public static ElementAccessExpressionSyntax ElementAccessExpression(ExpressionSyntax expression) 3154public static ArgumentSyntax Argument(NameColonSyntax? nameColon, SyntaxToken refKindKeyword, ExpressionSyntax expression) 3169public static ArgumentSyntax Argument(ExpressionSyntax expression) 3173public static ExpressionColonSyntax ExpressionColon(ExpressionSyntax expression, SyntaxToken colonToken) 3197public static CastExpressionSyntax CastExpression(SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken, ExpressionSyntax expression) 3207public static CastExpressionSyntax CastExpression(TypeSyntax type, ExpressionSyntax expression) 3211public static AnonymousMethodExpressionSyntax AnonymousMethodExpression(SyntaxTokenList modifiers, SyntaxToken delegateKeyword, ParameterListSyntax? parameterList, BlockSyntax block, ExpressionSyntax? expressionBody) 3219public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 3227public static RefExpressionSyntax RefExpression(SyntaxToken refKeyword, ExpressionSyntax expression) 3235public static RefExpressionSyntax RefExpression(ExpressionSyntax expression) 3239public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, TypeSyntax? returnType, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) 3247public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, TypeSyntax? returnType, ParameterListSyntax parameterList, BlockSyntax? block, ExpressionSyntax? expressionBody) 3255public static InitializerExpressionSyntax InitializerExpression(SyntaxKind kind, SyntaxToken openBraceToken, SeparatedSyntaxList<ExpressionSyntax> expressions, SyntaxToken closeBraceToken) 3272public static InitializerExpressionSyntax InitializerExpression(SyntaxKind kind, SeparatedSyntaxList<ExpressionSyntax> expressions = default) 3308public static WithExpressionSyntax WithExpression(ExpressionSyntax expression, SyntaxToken withKeyword, InitializerExpressionSyntax initializer) 3317public static WithExpressionSyntax WithExpression(ExpressionSyntax expression, InitializerExpressionSyntax initializer) 3321public static AnonymousObjectMemberDeclaratorSyntax AnonymousObjectMemberDeclarator(NameEqualsSyntax? nameEquals, ExpressionSyntax expression) 3328public static AnonymousObjectMemberDeclaratorSyntax AnonymousObjectMemberDeclarator(ExpressionSyntax expression) 3421public static ExpressionElementSyntax ExpressionElement(ExpressionSyntax expression) 3428public static SpreadElementSyntax SpreadElement(SyntaxToken operatorToken, ExpressionSyntax expression) 3436public static SpreadElementSyntax SpreadElement(ExpressionSyntax expression) 3459public static FromClauseSyntax FromClause(SyntaxToken fromKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression) 3469public static FromClauseSyntax FromClause(TypeSyntax? type, SyntaxToken identifier, ExpressionSyntax expression) 3473public static FromClauseSyntax FromClause(SyntaxToken identifier, ExpressionSyntax expression) 3477public static FromClauseSyntax FromClause(string identifier, ExpressionSyntax expression) 3481public static LetClauseSyntax LetClause(SyntaxToken letKeyword, SyntaxToken identifier, SyntaxToken equalsToken, ExpressionSyntax expression) 3491public static LetClauseSyntax LetClause(SyntaxToken identifier, ExpressionSyntax expression) 3495public static LetClauseSyntax LetClause(string identifier, ExpressionSyntax expression) 3499public static JoinClauseSyntax JoinClause(SyntaxToken joinKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax inExpression, SyntaxToken onKeyword, ExpressionSyntax leftExpression, SyntaxToken equalsKeyword, ExpressionSyntax rightExpression, JoinIntoClauseSyntax? into) 3513public static JoinClauseSyntax JoinClause(TypeSyntax? type, SyntaxToken identifier, ExpressionSyntax inExpression, ExpressionSyntax leftExpression, ExpressionSyntax rightExpression, JoinIntoClauseSyntax? into) 3517public static JoinClauseSyntax JoinClause(SyntaxToken identifier, ExpressionSyntax inExpression, ExpressionSyntax leftExpression, ExpressionSyntax rightExpression) 3521public static JoinClauseSyntax JoinClause(string identifier, ExpressionSyntax inExpression, ExpressionSyntax leftExpression, ExpressionSyntax rightExpression) 3541public static WhereClauseSyntax WhereClause(SyntaxToken whereKeyword, ExpressionSyntax condition) 3549public static WhereClauseSyntax WhereClause(ExpressionSyntax condition) 3564public static OrderingSyntax Ordering(SyntaxKind kind, ExpressionSyntax expression, SyntaxToken ascendingOrDescendingKeyword) 3584public static OrderingSyntax Ordering(SyntaxKind kind, ExpressionSyntax expression) 3596public static SelectClauseSyntax SelectClause(SyntaxToken selectKeyword, ExpressionSyntax expression) 3604public static SelectClauseSyntax SelectClause(ExpressionSyntax expression) 3608public static GroupClauseSyntax GroupClause(SyntaxToken groupKeyword, ExpressionSyntax groupExpression, SyntaxToken byKeyword, ExpressionSyntax byExpression) 3618public static GroupClauseSyntax GroupClause(ExpressionSyntax groupExpression, ExpressionSyntax byExpression) 3674public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 3683public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, PatternSyntax pattern) 3687public static ThrowExpressionSyntax ThrowExpression(SyntaxToken throwKeyword, ExpressionSyntax expression) 3695public static ThrowExpressionSyntax ThrowExpression(ExpressionSyntax expression) 3699public static WhenClauseSyntax WhenClause(SyntaxToken whenKeyword, ExpressionSyntax condition) 3707public static WhenClauseSyntax WhenClause(ExpressionSyntax condition) 3787public static ConstantPatternSyntax ConstantPattern(ExpressionSyntax expression) 3807public static RelationalPatternSyntax RelationalPattern(SyntaxToken operatorToken, ExpressionSyntax expression) 3913public static InterpolationSyntax Interpolation(SyntaxToken openBraceToken, ExpressionSyntax expression, InterpolationAlignmentClauseSyntax? alignmentClause, InterpolationFormatClauseSyntax? formatClause, SyntaxToken closeBraceToken) 3922public static InterpolationSyntax Interpolation(ExpressionSyntax expression, InterpolationAlignmentClauseSyntax? alignmentClause, InterpolationFormatClauseSyntax? formatClause) 3926public static InterpolationSyntax Interpolation(ExpressionSyntax expression) 3930public static InterpolationAlignmentClauseSyntax InterpolationAlignmentClause(SyntaxToken commaToken, ExpressionSyntax value) 4058public static EqualsValueClauseSyntax EqualsValueClause(SyntaxToken equalsToken, ExpressionSyntax value) 4066public static EqualsValueClauseSyntax EqualsValueClause(ExpressionSyntax value) 4100public static ExpressionStatementSyntax ExpressionStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, SyntaxToken semicolonToken) 4108public static ExpressionStatementSyntax ExpressionStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression) 4112public static ExpressionStatementSyntax ExpressionStatement(ExpressionSyntax expression) 4152public static GotoStatementSyntax GotoStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken gotoKeyword, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4174public static GotoStatementSyntax GotoStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax? expression) 4179public static GotoStatementSyntax GotoStatement(SyntaxKind kind, ExpressionSyntax? expression = default) 4216public static ReturnStatementSyntax ReturnStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4224public static ReturnStatementSyntax ReturnStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax? expression) 4229public static ReturnStatementSyntax ReturnStatement(ExpressionSyntax? expression = default) 4234public static ThrowStatementSyntax ThrowStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken throwKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4242public static ThrowStatementSyntax ThrowStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax? expression) 4247public static ThrowStatementSyntax ThrowStatement(ExpressionSyntax? expression = default) 4252public static YieldStatementSyntax YieldStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken yieldKeyword, SyntaxToken returnOrBreakKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 4272public static YieldStatementSyntax YieldStatement(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax? expression) 4277public static YieldStatementSyntax YieldStatement(SyntaxKind kind, ExpressionSyntax? expression = default) 4290public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 4301public static WhileStatementSyntax WhileStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement) 4305public static WhileStatementSyntax WhileStatement(ExpressionSyntax condition, StatementSyntax statement) 4309public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 4322public static DoStatementSyntax DoStatement(SyntaxList<AttributeListSyntax> attributeLists, StatementSyntax statement, ExpressionSyntax condition) 4326public static DoStatementSyntax DoStatement(StatementSyntax statement, ExpressionSyntax condition) 4330public 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) 4342public static ForStatementSyntax ForStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, ExpressionSyntax? condition, SeparatedSyntaxList<ExpressionSyntax> incrementors, StatementSyntax statement) 4350public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4370public static ForEachStatementSyntax ForEachStatement(SyntaxList<AttributeListSyntax> attributeLists, TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4374public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, SyntaxToken identifier, ExpressionSyntax expression, StatementSyntax statement) 4378public static ForEachStatementSyntax ForEachStatement(TypeSyntax type, string identifier, ExpressionSyntax expression, StatementSyntax statement) 4382public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4401public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4405public static ForEachVariableStatementSyntax ForEachVariableStatement(ExpressionSyntax variable, ExpressionSyntax expression, StatementSyntax statement) 4409public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 4425public static UsingStatementSyntax UsingStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, StatementSyntax statement) 4507public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 4518public static LockStatementSyntax LockStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, StatementSyntax statement) 4522public static LockStatementSyntax LockStatement(ExpressionSyntax expression, StatementSyntax statement) 4526public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 4537public static IfStatementSyntax IfStatement(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax condition, StatementSyntax statement, ElseClauseSyntax? @else) 4541public static IfStatementSyntax IfStatement(ExpressionSyntax condition, StatementSyntax statement) 4557public static SwitchStatementSyntax SwitchStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken) 4606public static CaseSwitchLabelSyntax CaseSwitchLabel(SyntaxToken keyword, ExpressionSyntax value, SyntaxToken colonToken) 4615public static CaseSwitchLabelSyntax CaseSwitchLabel(ExpressionSyntax value, SyntaxToken colonToken) 4631public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 4641public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms) 4645public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression) 4649public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken equalsGreaterThanToken, ExpressionSyntax expression) 4658public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, WhenClauseSyntax? whenClause, ExpressionSyntax expression) 4662public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, ExpressionSyntax expression) 4723public static CatchFilterClauseSyntax CatchFilterClause(SyntaxToken whenKeyword, SyntaxToken openParenToken, ExpressionSyntax filterExpression, SyntaxToken closeParenToken) 4733public static CatchFilterClauseSyntax CatchFilterClause(ExpressionSyntax filterExpression) 4908public static AttributeArgumentSyntax AttributeArgument(NameEqualsSyntax? nameEquals, NameColonSyntax? nameColon, ExpressionSyntax expression) 4915public static AttributeArgumentSyntax AttributeArgument(ExpressionSyntax expression) 5629public static ArrowExpressionClauseSyntax ArrowExpressionClause(SyntaxToken arrowToken, ExpressionSyntax expression) 5637public static ArrowExpressionClauseSyntax ArrowExpressionClause(ExpressionSyntax expression) 6265public static IfDirectiveTriviaSyntax IfDirectiveTrivia(SyntaxToken hashToken, SyntaxToken ifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 6275public static IfDirectiveTriviaSyntax IfDirectiveTrivia(ExpressionSyntax condition, bool isActive, bool branchTaken, bool conditionValue) 6279public static ElifDirectiveTriviaSyntax ElifDirectiveTrivia(SyntaxToken hashToken, SyntaxToken elifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 6289public static ElifDirectiveTriviaSyntax ElifDirectiveTrivia(ExpressionSyntax condition, bool isActive, bool branchTaken, bool conditionValue) 6491public static PragmaWarningDirectiveTriviaSyntax PragmaWarningDirectiveTrivia(SyntaxToken hashToken, SyntaxToken pragmaKeyword, SyntaxToken warningKeyword, SyntaxToken disableOrRestoreKeyword, SeparatedSyntaxList<ExpressionSyntax> errorCodes, SyntaxToken endOfDirectiveToken, bool isActive) 6507public static PragmaWarningDirectiveTriviaSyntax PragmaWarningDirectiveTrivia(SyntaxToken disableOrRestoreKeyword, SeparatedSyntaxList<ExpressionSyntax> errorCodes, bool isActive)
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); 4421private ExpressionSyntax? expression; 4437public ExpressionSyntax Expression => GetRed(ref this.expression, 4)!; 4458public FromClauseSyntax Update(SyntaxToken fromKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression) 4474public FromClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.FromKeyword, this.Type, this.Identifier, this.InKeyword, expression); 4485private ExpressionSyntax? expression; 4499public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 4508public LetClauseSyntax Update(SyntaxToken letKeyword, SyntaxToken identifier, SyntaxToken equalsToken, ExpressionSyntax expression) 4523public LetClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.LetKeyword, this.Identifier, this.EqualsToken, expression); 4535private ExpressionSyntax? inExpression; 4536private ExpressionSyntax? leftExpression; 4537private ExpressionSyntax? rightExpression; 4554public ExpressionSyntax InExpression => GetRed(ref this.inExpression, 4)!; 4558public ExpressionSyntax LeftExpression => GetRed(ref this.leftExpression, 6)!; 4562public ExpressionSyntax RightExpression => GetRed(ref this.rightExpression, 8)!; 4591public JoinClauseSyntax Update(SyntaxToken joinKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax inExpression, SyntaxToken onKeyword, ExpressionSyntax leftExpression, SyntaxToken equalsKeyword, ExpressionSyntax rightExpression, JoinIntoClauseSyntax? into) 4607public JoinClauseSyntax WithInExpression(ExpressionSyntax inExpression) => Update(this.JoinKeyword, this.Type, this.Identifier, this.InKeyword, inExpression, this.OnKeyword, this.LeftExpression, this.EqualsKeyword, this.RightExpression, this.Into); 4609public JoinClauseSyntax WithLeftExpression(ExpressionSyntax leftExpression) => Update(this.JoinKeyword, this.Type, this.Identifier, this.InKeyword, this.InExpression, this.OnKeyword, leftExpression, this.EqualsKeyword, this.RightExpression, this.Into); 4611public JoinClauseSyntax WithRightExpression(ExpressionSyntax rightExpression) => Update(this.JoinKeyword, this.Type, this.Identifier, this.InKeyword, this.InExpression, this.OnKeyword, this.LeftExpression, this.EqualsKeyword, rightExpression, this.Into); 4665private ExpressionSyntax? condition; 4674public ExpressionSyntax Condition => GetRed(ref this.condition, 1)!; 4683public WhereClauseSyntax Update(SyntaxToken whereKeyword, ExpressionSyntax condition) 4696public WhereClauseSyntax WithCondition(ExpressionSyntax condition) => Update(this.WhereKeyword, condition); 4759private ExpressionSyntax? expression; 4766public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 4784public OrderingSyntax Update(ExpressionSyntax expression, SyntaxToken ascendingOrDescendingKeyword) 4796public OrderingSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.AscendingOrDescendingKeyword); 4808private ExpressionSyntax? expression; 4817public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 4826public SelectClauseSyntax Update(SyntaxToken selectKeyword, ExpressionSyntax expression) 4839public SelectClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.SelectKeyword, expression); 4850private ExpressionSyntax? groupExpression; 4851private ExpressionSyntax? byExpression; 4860public ExpressionSyntax GroupExpression => GetRed(ref this.groupExpression, 1)!; 4864public ExpressionSyntax ByExpression => GetRed(ref this.byExpression, 3)!; 4885public GroupClauseSyntax Update(SyntaxToken groupKeyword, ExpressionSyntax groupExpression, SyntaxToken byKeyword, ExpressionSyntax byExpression) 4898public GroupClauseSyntax WithGroupExpression(ExpressionSyntax groupExpression) => Update(this.GroupKeyword, groupExpression, this.ByKeyword, this.ByExpression); 4900public GroupClauseSyntax WithByExpression(ExpressionSyntax byExpression) => Update(this.GroupKeyword, this.GroupExpression, this.ByKeyword, byExpression); 5050private ExpressionSyntax? expression; 5059public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 5085public IsPatternExpressionSyntax Update(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) 5097public IsPatternExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(expression, this.IsKeyword, this.Pattern); 5110private ExpressionSyntax? expression; 5119public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 5128public ThrowExpressionSyntax Update(SyntaxToken throwKeyword, ExpressionSyntax expression) 5141public ThrowExpressionSyntax WithExpression(ExpressionSyntax expression) => Update(this.ThrowKeyword, expression); 5152private ExpressionSyntax? condition; 5161public ExpressionSyntax Condition => GetRed(ref this.condition, 1)!; 5170public WhenClauseSyntax Update(SyntaxToken whenKeyword, ExpressionSyntax condition) 5183public WhenClauseSyntax WithCondition(ExpressionSyntax condition) => Update(this.WhenKeyword, condition); 5578private ExpressionSyntax? expression; 5586public ExpressionSyntax Expression => GetRedAtZero(ref this.expression)!; 5595public ConstantPatternSyntax Update(ExpressionSyntax expression) 5607public ConstantPatternSyntax WithExpression(ExpressionSyntax expression) => Update(expression); 5663private ExpressionSyntax? expression; 5673public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 5682public RelationalPatternSyntax Update(SyntaxToken operatorToken, ExpressionSyntax expression) 5695public RelationalPatternSyntax WithExpression(ExpressionSyntax expression) => Update(this.OperatorToken, expression); 6006private ExpressionSyntax? expression; 6018public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 6050public InterpolationSyntax Update(SyntaxToken openBraceToken, ExpressionSyntax expression, InterpolationAlignmentClauseSyntax? alignmentClause, InterpolationFormatClauseSyntax? formatClause, SyntaxToken closeBraceToken) 6063public InterpolationSyntax WithExpression(ExpressionSyntax expression) => Update(this.OpenBraceToken, expression, this.AlignmentClause, this.FormatClause, this.CloseBraceToken); 6077private ExpressionSyntax? value; 6086public ExpressionSyntax Value => GetRed(ref this.value, 1)!; 6095public InterpolationAlignmentClauseSyntax Update(SyntaxToken commaToken, ExpressionSyntax value) 6108public InterpolationAlignmentClauseSyntax WithValue(ExpressionSyntax value) => Update(this.CommaToken, value); 6671private ExpressionSyntax? value; 6680public ExpressionSyntax Value => GetRed(ref this.value, 1)!; 6689public EqualsValueClauseSyntax Update(SyntaxToken equalsToken, ExpressionSyntax value) 6702public EqualsValueClauseSyntax WithValue(ExpressionSyntax value) => Update(this.EqualsToken, value); 6852private ExpressionSyntax? expression; 6861public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 6884public ExpressionStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, ExpressionSyntax expression, SyntaxToken semicolonToken) 6898public ExpressionStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, expression, this.SemicolonToken); 7033private ExpressionSyntax? expression; 7062public ExpressionSyntax? Expression => GetRed(ref this.expression, 3); 7088public GotoStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken gotoKeyword, SyntaxToken caseOrDefaultKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7104public GotoStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.GotoKeyword, this.CaseOrDefaultKeyword, expression, this.SemicolonToken); 7218private ExpressionSyntax? expression; 7229public ExpressionSyntax? Expression => GetRed(ref this.expression, 2); 7252public ReturnStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7267public ReturnStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.ReturnKeyword, expression, this.SemicolonToken); 7283private ExpressionSyntax? expression; 7294public ExpressionSyntax? Expression => GetRed(ref this.expression, 2); 7317public ThrowStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken throwKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7332public ThrowStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.ThrowKeyword, expression, this.SemicolonToken); 7349private ExpressionSyntax? expression; 7362public ExpressionSyntax? Expression => GetRed(ref this.expression, 3); 7385public YieldStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken yieldKeyword, SyntaxToken returnOrBreakKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) 7401public YieldStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.YieldKeyword, this.ReturnOrBreakKeyword, expression, this.SemicolonToken); 7417private ExpressionSyntax? condition; 7431public ExpressionSyntax Condition => GetRed(ref this.condition, 3)!; 7458public WhileStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) 7474public WhileStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.WhileKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.Statement); 7492private ExpressionSyntax? condition; 7509public ExpressionSyntax Condition => GetRed(ref this.condition, 5)!; 7536public DoStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) 7554public DoStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.DoKeyword, this.Statement, this.WhileKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.SemicolonToken); 7573private ExpressionSyntax? condition; 7590public SeparatedSyntaxList<ExpressionSyntax> Initializers 7595return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(4)) : default; 7601public ExpressionSyntax? Condition => GetRed(ref this.condition, 6); 7605public SeparatedSyntaxList<ExpressionSyntax> Incrementors 7610return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(8)) : default; 7645public 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) 7662public 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); 7664public 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); 7666public 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); 7672public ForStatementSyntax AddInitializers(params ExpressionSyntax[] items) => WithInitializers(this.Initializers.AddRange(items)); 7673public ForStatementSyntax AddIncrementors(params ExpressionSyntax[] items) => WithIncrementors(this.Incrementors.AddRange(items)); 7699public abstract ExpressionSyntax Expression { get; } 7700public CommonForEachStatementSyntax WithExpression(ExpressionSyntax expression) => WithExpressionCore(expression); 7701internal abstract CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression); 7726private ExpressionSyntax? expression; 7756public override ExpressionSyntax Expression => GetRed(ref this.expression, 7)!; 7785public ForEachStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7809internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7810public 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); 7829private ExpressionSyntax? variable; 7830private ExpressionSyntax? expression; 7859public ExpressionSyntax Variable => GetRed(ref this.variable, 4)!; 7863public override ExpressionSyntax Expression => GetRed(ref this.expression, 6)!; 7892public ForEachVariableStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 7912public ForEachVariableStatementSyntax WithVariable(ExpressionSyntax variable) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, variable, this.InKeyword, this.Expression, this.CloseParenToken, this.Statement); 7915internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7916public new ForEachVariableStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, this.AwaitKeyword, this.ForEachKeyword, this.OpenParenToken, this.Variable, this.InKeyword, expression, this.CloseParenToken, this.Statement); 7936private ExpressionSyntax? expression; 7961public ExpressionSyntax? Expression => GetRed(ref this.expression, 5); 7990public UsingStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) 8008public UsingStatementSyntax WithExpression(ExpressionSyntax? expression) => Update(this.AttributeLists, this.AwaitKeyword, this.UsingKeyword, this.OpenParenToken, this.Declaration, expression, this.CloseParenToken, this.Statement); 8229private ExpressionSyntax? expression; 8243public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 8270public LockStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) 8286public LockStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, this.LockKeyword, this.OpenParenToken, expression, this.CloseParenToken, this.Statement); 8306private ExpressionSyntax? condition; 8330public ExpressionSyntax Condition => GetRed(ref this.condition, 3)!; 8370public IfStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) 8386public IfStatementSyntax WithCondition(ExpressionSyntax condition) => Update(this.AttributeLists, this.IfKeyword, this.OpenParenToken, condition, this.CloseParenToken, this.Statement, this.Else); 8451private ExpressionSyntax? expression; 8481public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 8531public SwitchStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken switchKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, SyntaxToken openBraceToken, SyntaxList<SwitchSectionSyntax> sections, SyntaxToken closeBraceToken) 8547public SwitchStatementSyntax WithExpression(ExpressionSyntax expression) => Update(this.AttributeLists, this.SwitchKeyword, this.OpenParenToken, expression, this.CloseParenToken, this.OpenBraceToken, this.Sections, this.CloseBraceToken); 8723private ExpressionSyntax? value; 8736public ExpressionSyntax Value => GetRed(ref this.value, 1)!; 8747public CaseSwitchLabelSyntax Update(SyntaxToken keyword, ExpressionSyntax value, SyntaxToken colonToken) 8761public CaseSwitchLabelSyntax WithValue(ExpressionSyntax value) => Update(this.Keyword, value, this.ColonToken); 8819private ExpressionSyntax? governingExpression; 8827public ExpressionSyntax GoverningExpression => GetRedAtZero(ref this.governingExpression)!; 8863public SwitchExpressionSyntax Update(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList<SwitchExpressionArmSyntax> arms, SyntaxToken closeBraceToken) 8875public SwitchExpressionSyntax WithGoverningExpression(ExpressionSyntax governingExpression) => Update(governingExpression, this.SwitchKeyword, this.OpenBraceToken, this.Arms, this.CloseBraceToken); 8894private ExpressionSyntax? expression; 8907public ExpressionSyntax Expression => GetRed(ref this.expression, 3)!; 8930public SwitchExpressionArmSyntax Update(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken equalsGreaterThanToken, ExpressionSyntax expression) 8945public SwitchExpressionArmSyntax WithExpression(ExpressionSyntax expression) => Update(this.Pattern, this.WhenClause, this.EqualsGreaterThanToken, expression); 9155private ExpressionSyntax? filterExpression; 9166public ExpressionSyntax FilterExpression => GetRed(ref this.filterExpression, 2)!; 9177public CatchFilterClauseSyntax Update(SyntaxToken whenKeyword, SyntaxToken openParenToken, ExpressionSyntax filterExpression, SyntaxToken closeParenToken) 9191public CatchFilterClauseSyntax WithFilterExpression(ExpressionSyntax filterExpression) => Update(this.WhenKeyword, this.OpenParenToken, filterExpression, this.CloseParenToken); 10009private ExpressionSyntax? expression; 10021public ExpressionSyntax Expression => GetRed(ref this.expression, 2)!; 10044public AttributeArgumentSyntax Update(NameEqualsSyntax? nameEquals, NameColonSyntax? nameColon, ExpressionSyntax expression) 10058public AttributeArgumentSyntax WithExpression(ExpressionSyntax expression) => Update(this.NameEquals, this.NameColon, expression); 13170private ExpressionSyntax? expression; 13179public ExpressionSyntax Expression => GetRed(ref this.expression, 1)!; 13188public ArrowExpressionClauseSyntax Update(SyntaxToken arrowToken, ExpressionSyntax expression) 13201public ArrowExpressionClauseSyntax WithExpression(ExpressionSyntax expression) => Update(this.ArrowToken, expression); 15570public abstract ExpressionSyntax Condition { get; } 15571public ConditionalDirectiveTriviaSyntax WithCondition(ExpressionSyntax condition) => WithConditionCore(condition); 15572internal abstract ConditionalDirectiveTriviaSyntax WithConditionCore(ExpressionSyntax condition); 15585private ExpressionSyntax? condition; 15596public override ExpressionSyntax Condition => GetRed(ref this.condition, 2)!; 15613public IfDirectiveTriviaSyntax Update(SyntaxToken hashToken, SyntaxToken ifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 15628internal override ConditionalDirectiveTriviaSyntax WithConditionCore(ExpressionSyntax condition) => WithCondition(condition); 15629public new IfDirectiveTriviaSyntax WithCondition(ExpressionSyntax condition) => Update(this.HashToken, this.IfKeyword, condition, this.EndOfDirectiveToken, this.IsActive, this.BranchTaken, this.ConditionValue); 15645private ExpressionSyntax? condition; 15656public override ExpressionSyntax Condition => GetRed(ref this.condition, 2)!; 15673public ElifDirectiveTriviaSyntax Update(SyntaxToken hashToken, SyntaxToken elifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) 15688internal override ConditionalDirectiveTriviaSyntax WithConditionCore(ExpressionSyntax condition) => WithCondition(condition); 15689public new ElifDirectiveTriviaSyntax WithCondition(ExpressionSyntax condition) => Update(this.HashToken, this.ElifKeyword, condition, this.EndOfDirectiveToken, this.IsActive, this.BranchTaken, this.ConditionValue); 16390public SeparatedSyntaxList<ExpressionSyntax> ErrorCodes 16395return red != null ? new SeparatedSyntaxList<ExpressionSyntax>(red, GetChildIndex(4)) : default; 16410public PragmaWarningDirectiveTriviaSyntax Update(SyntaxToken hashToken, SyntaxToken pragmaKeyword, SyntaxToken warningKeyword, SyntaxToken disableOrRestoreKeyword, SeparatedSyntaxList<ExpressionSyntax> errorCodes, SyntaxToken endOfDirectiveToken, bool isActive) 16427public PragmaWarningDirectiveTriviaSyntax WithErrorCodes(SeparatedSyntaxList<ExpressionSyntax> errorCodes) => Update(this.HashToken, this.PragmaKeyword, this.WarningKeyword, this.DisableOrRestoreKeyword, errorCodes, this.EndOfDirectiveToken, this.IsActive); 16432public PragmaWarningDirectiveTriviaSyntax AddErrorCodes(params ExpressionSyntax[] items) => WithErrorCodes(this.ErrorCodes.AddRange(items));
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)
1731public static ExpressionSyntax ParseExpression(string text, int offset = 0, ParseOptions? options = null, bool consumeFullText = true) 1738return CreateRed<ExpressionSyntax>(node, lexer.Options); 2077var parent = node.Parent as ExpressionSyntax; 2111public static ExpressionSyntax GetStandaloneExpression(ExpressionSyntax expression) 2113return SyntaxFactory.GetStandaloneNode(expression) as ExpressionSyntax ?? expression; 2129if (node == null || !(node is ExpressionSyntax || node is CrefSyntax)) 2284public static ExpressionSyntax? GetNonGenericExpression(ExpressionSyntax expression) 2436public static CaseSwitchLabelSyntax CaseSwitchLabel(ExpressionSyntax value) 2730public static SwitchStatementSyntax SwitchStatement(ExpressionSyntax expression, SyntaxList<SwitchSectionSyntax> sections) 2747public static SwitchStatementSyntax SwitchStatement(ExpressionSyntax expression) 2755: SimpleLambdaExpression(parameter, null, (ExpressionSyntax)body); 2760: SimpleLambdaExpression(asyncKeyword, parameter, arrowToken, null, (ExpressionSyntax)body); 2768: ParenthesizedLambdaExpression(parameterList, null, (ExpressionSyntax)body); 2773: 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 (389)
src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (12)
18ExpressionSyntax, ExpressionSyntax, SyntaxKind>(CSharpExpressionPrecedenceService.Instance) 49protected override int GetPrecedence(ExpressionSyntax binaryLike) 52protected override bool IsBinaryLike(ExpressionSyntax node) 56protected override (ExpressionSyntax, SyntaxToken, ExpressionSyntax) GetPartsOfBinaryLike(ExpressionSyntax binaryLike) 72protected override ExpressionSyntax? TryGetAppropriateParent(ExpressionSyntax binaryLike) 74? binaryLike.Parent.Parent as ExpressionSyntax 75: binaryLike.Parent as ExpressionSyntax; 77protected override bool IsAsExpression(ExpressionSyntax node)
src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (1)
24private ExpressionSyntax? _assignmentTargetOpt;
src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (1)
88var argumentExpression = argumentNode.Expression;
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\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (2)
18: AbstractQualifyMemberAccessDiagnosticAnalyzer<SyntaxKind, ExpressionSyntax, SimpleNameSyntax> 23protected override bool IsAlreadyQualifiedMemberAccess(ExpressionSyntax node)
src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
31var left = node switch
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\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (6)
88var invokedExpression = invocation.Expression; 193foreach (var candidate in outermostBody.DescendantNodes().OfType<ExpressionSyntax>()) 209var rewrittenExpression = analyzer.ReplacedExpression; 280private static bool MayHaveSideEffects(ExpressionSyntax expression) 326ExpressionSyntax expression,
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
49var inner = parenthesizedExpression.Expression; 54ExpressionSyntax parentExpression;
src\Analyzers\CSharp\Analyzers\SimplifyBooleanExpression\CSharpSimplifyConditionalDiagnosticAnalyzer.cs (2)
19ExpressionSyntax, 25protected override CommonConversion GetConversion(SemanticModel semanticModel, ExpressionSyntax node, CancellationToken cancellationToken)
src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationDiagnosticAnalyzer.cs (2)
18: AbstractSimplifyInterpolationDiagnosticAnalyzer<InterpolationSyntax, ExpressionSyntax> 22protected override AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax> Helpers => CSharpSimplifyInterpolationHelpers.Instance;
src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
11: AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax>
src\Analyzers\CSharp\Analyzers\SimplifyPropertyAccessor\CSharpSimplifyPropertyAccessorDiagnosticAnalyzer.cs (1)
71static bool IsFieldValueAssignmentExpression(ExpressionSyntax expression)
src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (1)
49public static bool IsMergable([NotNullWhen(true)] ExpressionSyntax? expression)
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\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (4)
21ExpressionSyntax, 38protected override ExpressionSyntax GetConditionOfIfStatement(IfStatementSyntax ifStatement) 41protected override bool IsNullCheck(ExpressionSyntax condition, [NotNullWhen(true)] out ExpressionSyntax? checkedExpression)
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
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\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (1)
155var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>(
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForEmptyDiagnosticAnalyzer.cs (2)
38var nodeToReplace = 42? (ExpressionSyntax)invocation
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (5)
25using FluentState = UpdateExpressionState<ExpressionSyntax, StatementSyntax>; 177var current = memberAccess.Expression; 292void AddFinalMatch(ExpressionSyntax expression) 325bool IsListLike(ExpressionSyntax expression) 342foreach (var expression in initializer.Expressions)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (21)
63ExpressionSyntax expression, 81ExpressionSyntax expression, 93var topMostExpression = expression.WalkUpParentheses(); 385SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 426using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionsToProcess); 427using var _2 = PooledHashSet<ExpressionSyntax>.GetInstance(out var seenExpressions); 436var locallyScopedExpression = expressionsToProcess.Pop().WalkUpParentheses(); 523void AddExpressionToProcess(ExpressionSyntax expression) 585if (argument.Parent is not BaseArgumentListSyntax { Parent: ExpressionSyntax parentInvocation } argumentList) 624bool IsPrimitiveConstant(ExpressionSyntax expression) 635i => i.IsToken ? i : ExpressionElement((ExpressionSyntax)i.AsNode()!)); 745where TArrayCreationExpressionSyntax : ExpressionSyntax 1012var argExpression = argument.Expression; 1046public static bool IsIterable(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1080ExpressionSyntax expression, 1155static bool IsPossiblyDottedGenericName(ExpressionSyntax expression) 1160if (expression is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: GenericNameSyntax } && 1169static bool IsPossiblyDottedName(ExpressionSyntax name) 1174if (name is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: IdentifierNameSyntax } && 1194var expression = arguments.Single().Expression; 1210nodeOrToken => nodeOrToken.IsToken ? nodeOrToken : Argument((ExpressionSyntax)nodeOrToken.AsNode()!)));
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (3)
11internal sealed class CSharpUpdateExpressionSyntaxHelper : IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> 19out ExpressionSyntax expression, 31out ExpressionSyntax condition,
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (8)
18ExpressionSyntax, 28protected override IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> SyntaxHelper 97using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var spreadElements); 124var currentArgumentExpression = argumentList.Arguments[0].Expression; 125using var _2 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionPieces); 149var piece = expressionPieces[i]; 168foreach (var piece in expressionPieces) 171var current = piece;
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (3)
27ExpressionSyntax, 70if (match.Node is ExpressionSyntax expression) 79foreach (var expression in initializer.Expressions)
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\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\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
70SemanticModel semanticModel, ExpressionSyntax left, ExpressionSyntax right)
src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (2)
266var nodeToCheck = identifierName.WalkUpParentheses(); 332var value = variableDeclarator.Initializer.Value.WalkDownParentheses();
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (4)
19ExpressionSyntax, 42ISyntaxFacts syntaxFacts, ExpressionSyntax conditionNode, 43[NotNullWhen(true)] out ExpressionSyntax? conditionPartToCheck, out bool isEquals) 70[NotNullWhen(true)] out ExpressionSyntax? condition,
src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseNamedMemberInitializerAnalyzer.cs (1)
14ExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseObjectInitializerDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
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\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\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (4)
49var expression = (ExpressionSyntax)context.Node; 123private static bool IsTopmostExpression(ExpressionSyntax node) 130ExpressionSyntax => false,
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\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\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
196var declaratorValue = declarator.Initializer.Value.WalkDownParentheses();
src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (1)
42var whenNotNull = parentConditionalAccess.WhenNotNull;
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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (5)
31ExpressionSyntax initializerExpression, 109var containingTypeName = memberName.GetLeftSideOfDot(); 120ExpressionSyntax containingTypeName, 193private static ExpressionSyntax GetRightmostInvocationExpression(ExpressionSyntax node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
174SyntaxToken token, ExpressionSyntax parentExpression, bool tokenIncludeDelimiters)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\AssignmentExpressionSyntaxExtensions.cs (1)
15var left = assignment.Left;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (4)
25[NotNullWhen(true)] out ExpressionSyntax? expression, 129block.TryConvertToExpressionBody(languageVersion, preference, cancellationToken, out var expression, out semicolonToken)) 170ExpressionSyntax expression, ExpressionBodyPreference preference) 181private static bool TryGetExpression(StatementSyntax firstStatement, LanguageVersion languageVersion, [NotNullWhen(true)] out ExpressionSyntax? expression, out SyntaxToken semicolonToken)
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(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(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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (15)
32var expression = node.Expression; 39var parentExpression = nodeParent.IsKind(SyntaxKind.ConstantPattern) 40? nodeParent.Parent as ExpressionSyntax 41: nodeParent as ExpressionSyntax; 285for (var current = expression; current != null; current = current.ChildNodes().FirstOrDefault() as ExpressionSyntax) 341ParenthesizedExpressionSyntax node, ExpressionSyntax expression, 409ParenthesizedExpressionSyntax node, ExpressionSyntax parentExpression, SemanticModel semanticModel) 411var expression = node.Expression; 542var expression = node.Expression; 634private static bool IsPreviousExpressionPotentiallyAmbiguous(ExpressionSyntax node) 636ExpressionSyntax? previousExpression = null; 669private static bool IsNextExpressionPotentiallyAmbiguous(ExpressionSyntax node) 671ExpressionSyntax? nextExpression = null; 703private static bool IsSimpleOrDottedName(ExpressionSyntax expression)
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: 353this SemanticModel semanticModel, ExpressionSyntax expression, 359var current = expression; 430SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 432var topExpression = expression.WalkUpParentheses();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SimpleNameSyntaxExtensions.cs (1)
14public static ExpressionSyntax GetLeftSideOfDot(this SimpleNameSyntax name)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
178return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 404var expression = initializer.Expressions[0];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
352foreach (var errorCode in pragmaWarningDirectiveTrivia.ErrorCodes)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpExpressionPrecedenceService.cs (2)
12internal sealed class CSharpExpressionPrecedenceService : AbstractCSharpPrecedenceService<ExpressionSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
19internal sealed class CSharpRefactoringHelpers : AbstractRefactoringHelpers<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (9)
42=> (node as ExpressionSyntax).IsWrittenTo(semanticModel, cancellationToken); 45=> (node as ExpressionSyntax).IsOnlyWrittenTo(); 48=> (node as ExpressionSyntax).IsInOutContext(); 51=> (node as ExpressionSyntax).IsInRefContext(); 54=> (node as ExpressionSyntax).IsInInContext(); 57=> (expression as ExpressionSyntax).CanReplaceWithRValue(semanticModel, cancellationToken); 185=> semanticModel.GetCollectionInitializerSymbolInfo((ExpressionSyntax)node, cancellationToken); 370=> (node as ExpressionSyntax).IsInsideNameOfExpression(semanticModel, cancellationToken); 397=> semanticModel.GenerateNameForExpression((ExpressionSyntax)expression, capitalize, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (7)
179=> node is ExpressionSyntax expression ? SyntaxFactory.GetStandaloneExpression(expression) : node; 577=> SyntaxFacts.IsInNamespaceOrTypeContext(node as ExpressionSyntax); 605=> (node as ExpressionSyntax).IsInConstantContext(); 1077=> (node as ExpressionSyntax).IsLeftSideOfDot(); 1095=> (node as ExpressionSyntax).IsLeftSideOfAssignExpression(); 1098=> (node as ExpressionSyntax).IsLeftSideOfAnyAssignExpression(); 1101=> (node as ExpressionSyntax).IsLeftSideOfCompoundAssignExpression();
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, 617ExpressionSyntax castNode, 682ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, SemanticModel semanticModel, CancellationToken cancellationToken) 768ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 769ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, 836ExpressionSyntax castNode, SemanticModel originalSemanticModel, 837ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 861ExpressionSyntax castNode, SemanticModel originalSemanticModel, 862ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 890ExpressionSyntax castNode, 892ExpressionSyntax rewrittenExpression, 894Func<ExpressionSyntax, TConditionalOrSwitchExpression?> getConditionalOrSwitchExpression, 895Func<TConditionalOrSwitchExpression, ImmutableArray<ExpressionSyntax>> getArmExpressions, 896Func<TConditionalOrSwitchExpression, ExpressionSyntax, ExpressionSyntax?> getAlternativeArm, 898where TConditionalOrSwitchExpression : ExpressionSyntax 903var parentExpression = castExpression.WalkUpParentheses(); 928foreach (var armExpression in getArmExpressions(originalConditionalOrSwitchExpression)) 984var otherSide = getAlternativeArm(originalConditionalOrSwitchExpression, parentExpression); 1040ExpressionSyntax expression, 1114=> node is ExpressionSyntax expression && expression.WalkDownParentheses().Kind() is SyntaxKind.CastExpression or SyntaxKind.AsExpression; 1118ExpressionSyntax castOrAsNode, 1142var parent = castOrAsNode.WalkUpParentheses(); 1175ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 1243private static bool IsFieldOrArrayElement(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1250ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 1263ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1316ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1350ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1381ExpressionSyntax rewrittenExpression, 1490ExpressionSyntax rewrittenExpression, 1532ExpressionSyntax expression, 1624ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1647private static (SemanticModel? rewrittenSemanticModel, ExpressionSyntax? rewrittenExpression) GetSemanticModelWithCastRemoved( 1648ExpressionSyntax castNode, 1649ExpressionSyntax castedExpressionNode, 1655var rewrittenExpression = analyzer.ReplacedExpression;
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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
79SyntaxToken identifier, TypeSyntax typeName, ExpressionSyntax initializer, SemanticModel semanticModel, CSharpSimplifierOptions options, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
77var initializerExpression = CSharpUseImplicitTypeHelper.GetInitializerExpression(initializer.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
143ExpressionSyntax initializer,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
252ExpressionSyntax initializer, 257var expression = GetInitializerExpression(initializer); 328internal static ExpressionSyntax GetInitializerExpression(ExpressionSyntax initializer) 330var current = (initializer as RefExpressionSyntax)?.Expression ?? initializer;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (363)
src\Analyzers\CSharp\CodeFixes\AddAnonymousTypeMemberName\CSharpAddAnonymousTypeMemberNameCodeFixProvider.cs (2)
22ExpressionSyntax, 34protected override ExpressionSyntax GetExpression(AnonymousObjectMemberDeclaratorSyntax declarator)
src\Analyzers\CSharp\CodeFixes\AddExplicitCast\ArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(ArgumentSyntax argument)
src\Analyzers\CSharp\CodeFixes\AddExplicitCast\AttributeArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(AttributeArgumentSyntax argument)
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\Analyzers\CSharp\CodeFixes\AddParameter\CSharpAddParameterCodeFixProvider.cs (2)
28ExpressionSyntax, 52protected override Argument<ExpressionSyntax> GetArgument(ArgumentSyntax argument)
src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
72if (location is ExpressionSyntax)
src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (1)
28if (location is ExpressionSyntax)
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\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\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (2)
148var newExpr = (ExpressionSyntax)newNameNode;
src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (1)
166var argumentExpression = tuple.Arguments[i].Expression;
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\Analyzers\CSharp\CodeFixes\GenerateEnumMember\CSharpGenerateEnumMemberService.cs (2)
20AbstractGenerateEnumMemberService<CSharpGenerateEnumMemberService, SimpleNameSyntax, ExpressionSyntax> 28[NotNullWhen(true)] out ExpressionSyntax? simpleNameOrMemberAccessExpression)
src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateConversionCodeFixProvider.cs (1)
43node is ExpressionSyntax;
src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateMethodCodeFixProvider.cs (1)
62node is ExpressionSyntax;
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\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\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\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\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (2)
89var invocationOrCreation = (ExpressionSyntax)invocationOrCreationLocation.FindNode(
src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
89SemanticModel model, ExpressionSyntax? expression, [NotNullWhen(true)] out ITypeSymbol? returnExpressionType)
src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
67ExpressionSyntax nextExpression,
src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
68ExpressionSyntax nextExpression,
src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (1)
25ExpressionSyntax,
src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (2)
23internal sealed partial class CSharpRemoveAsyncModifierCodeFixProvider() : AbstractRemoveAsyncModifierCodeFixProvider<ReturnStatementSyntax, ExpressionSyntax> 32protected override SyntaxNode? ConvertToBlockBody(SyntaxNode node, ExpressionSyntax expressionBody)
src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (2)
78var left = isNode switch 87var withoutSuppression = suppression.Operand.WithAppendedTrailingTrivia(suppression.OperatorToken.GetAllTrivia());
src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastCodeFixProvider.cs (5)
42d => (ExpressionSyntax)d.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken)); 49var oldParent = castExpression.WalkUpParentheses(); 50var newParent = Recurse(oldParent); 57private static ExpressionSyntax Recurse(ExpressionSyntax old)
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\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\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (2)
98private static MemberAccessExpressionSyntax? Merge(ExpressionSyntax? outerExpression, ExpressionSyntax? innerExpression)
src\Analyzers\CSharp\CodeFixes\UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (2)
40ExpressionSyntax> 101var fieldInitializer = fieldDeclarator.Initializer?.Value;
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (31)
41where TParentExpression : ExpressionSyntax 84if (preMatches is [{ Node: ExpressionSyntax } preMatch] && postMatches.IsEmpty) 88else if (preMatches.IsEmpty && postMatches is [{ Node: ExpressionSyntax } postMatch]) 205var expression = (ExpressionSyntax)(object)match.Node; 446bool useSpread, ExpressionSyntax expression) 489foreach (var expression in expressions) 502var condition = IndentExpression(ifStatement, ifStatement.Condition, preferredIndentation).Parenthesize(includeElasticTrivia: false); 526else if (node is ExpressionSyntax expression) 536ExpressionSyntax IndentExpression( 538ExpressionSyntax expression, 551var updatedExpression = expression.ReplaceTokens( 647static ExpressionSyntax TransferParentStatementComments( 649ExpressionSyntax expression, 732foreach (var expression in initializer.Expressions) 787else if (node is ExpressionSyntax expression) 796static ExpressionSyntax ConvertExpression( 797ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 803static ImmutableArray<ExpressionSyntax> ConvertExpressions( 804ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 819static ImmutableArray<ExpressionSyntax> ConvertAssignment( 820AssignmentExpressionSyntax assignment, Func<ExpressionSyntax, ExpressionSyntax> indent) 825static ImmutableArray<ExpressionSyntax> ConvertInvocation( 826InvocationExpressionSyntax invocation, Func<ExpressionSyntax, ExpressionSyntax> indent) 838ParsedDocument document, TParentExpression expressionToReplace, SyntaxFormattingOptions formattingOptions) where TParentExpression : ExpressionSyntax
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (3)
28: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 37ExpressionSyntax arrayCreationExpression, 100SemanticModel semanticModel, ExpressionSyntax expression, INamedTypeSymbol? expressionType)
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForCreateCodeFixProvider.cs (1)
66var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread));
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\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForNewCodeFixProvider.cs (1)
67var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread));
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocCodeFixProvider.cs (2)
24: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 33ExpressionSyntax stackAllocExpression,
src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (2)
24ExpressionSyntax, 45ExpressionSyntax newObjectCreation = useCollectionExpression
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\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\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\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\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (1)
18public static ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\Analyzers\CSharp\CodeFixes\UseDeconstruction\CSharpUseDeconstructionCodeFixProvider.cs (1)
146private ExpressionSyntax CreateTupleOrDeclarationExpression(INamedTypeSymbol tupleType, TypeSyntax typeNode)
src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
167SeparatedList<ExpressionSyntax>(expressionsAndCommasToWrap));
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\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (3)
100var tupleDeclaration = GenerateTupleDeclaration( 176private static ExpressionSyntax GenerateTupleDeclaration( 191ExpressionSyntax newDeclaration;
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (19)
73var updatedNode = FixOne(result, generator); 84private static ExpressionSyntax FixOne(Result result, SyntaxGenerator generator) 111var expression = invocation.Expression is MemberAccessExpressionSyntax memberAccess 150(ExpressionSyntax? startExpr, bool startFromEnd, ExpressionSyntax? endExpr, bool endFromEnd) GetComputedRangeData() 160return (startExpr: null, startFromEnd: false, (ExpressionSyntax)subtraction.RightOperand.Syntax, endFromEnd: true); 165return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 174return ((ExpressionSyntax)subtraction.RightOperand.Syntax, startFromEnd: true, endExpr: null, endFromEnd: false); 179return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 195var startExpr = (ExpressionSyntax)startOperation.Syntax; 198ExpressionSyntax? endExpr = null; 210endExpr = (ExpressionSyntax)endOperation.Syntax; 226private static ExpressionSyntax? WalkUpCheckedExpressions(ExpressionSyntax? expr) 241return RangeExpression(leftOperand: null, WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax)); 246return RangeExpression(leftOperand: null, IndexExpression(WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax))); 260constant1 == 0 ? null : WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax), 261IndexExpression((ExpressionSyntax)generator.LiteralExpression(constant2 - constant1)));
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\Helpers.cs (1)
15public static PrefixUnaryExpressionSyntax IndexExpression(ExpressionSyntax expr)
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (3)
71private static ExpressionSyntax Rewrite(BinaryExpressionSyntax binary) 99BinaryExpressionSyntax binary, ExpressionSyntax expr, ExpressionSyntax nullLiteral)
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\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (6)
61List<ExpressionSyntax> references)>(diagnostics.Length); 70var references = new List<ExpressionSyntax>(diagnostic.AdditionalLocations.Count - 2); 74references.Add((ExpressionSyntax)diagnostic.AdditionalLocations[i].FindNode(getInnermostNodeForTie: true, cancellationToken)); 179ImmutableArray<ExpressionSyntax> references) 227var expressionBody = anonymousFunction.Body is ExpressionSyntax expression 231var semicolonToken = anonymousFunction.Body is ExpressionSyntax
src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
22ExpressionSyntax,
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\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\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (3)
86editor.ReplaceNode(expression, IsPatternExpression((ExpressionSyntax)pattern.Target.Syntax, patternSyntax)); 123private static ExpressionSyntax AsExpressionSyntax(ExpressionSyntax expr, AnalyzedPattern p)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (6)
61var parent = binaryExpression ?? (ExpressionSyntax?)isPatternExpression; 87var toReplace = parent.WalkUpParentheses(); 96var whenNotNull = conditionalAccessExpression.WhenNotNull; 104static ExpressionSyntax RewriteMemberBindingToExpression(ExpressionSyntax expression)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (5)
95var comparison = (ExpressionSyntax)comparisonLocation.FindNode(cancellationToken); 108var condition = GetCondition(languageVersion, comparison, asExpression, declarationPattern); 160private static ExpressionSyntax GetCondition( 162ExpressionSyntax comparison,
src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
596if (identifier.GetRequiredParent() is ExpressionSyntax expression)
src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
140ExpressionSyntax expression = node;
src\Analyzers\CSharp\CodeFixes\UseTupleSwap\CSharpUseTupleSwapCodeFixProvider.cs (2)
58var exprA = assignment.Left.WalkDownParentheses().WithoutTrivia(); 59var exprB = assignment.Right.WalkDownParentheses().WithoutTrivia();
src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (3)
172var stringLiteral = CreateUtf8String(SyntaxTriviaList.Empty, stringValue, argumentList.Arguments.Last().GetTrailingTrivia(), isConvertedToReadOnlySpan); 183private static ExpressionSyntax CreateUtf8String(SyntaxNode nodeToTakeTriviaFrom, string stringValue, bool isConvertedToReadOnlySpan) 188private static ExpressionSyntax CreateUtf8String(SyntaxTriviaList leadingTrivia, string stringValue, SyntaxTriviaList trailingTrivia, bool isConvertedToReadOnlySpan)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (1)
15if (argument is ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
100ExpressionSyntax GenerateAttributeSyntax(TypedConstant constant)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
636if (anonymousFunctionSyntax.ExpressionBody is ExpressionSyntax expressionBody)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
26var expression = ExpressionGenerator.GenerateNonEnumValueExpression(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
64var value = CreateEnumMemberValue(destination, enumMember); 72private static ExpressionSyntax? CreateEnumMemberValue( 117var lastExpression = lastMember.EqualsValue!.Value;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (18)
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) 94: (ExpressionSyntax)CSharpSyntaxGeneratorInternal.Instance.DefaultExpression(type), 97private static ExpressionSyntax GenerateBooleanLiteralExpression(bool val) 104private static ExpressionSyntax GenerateStringLiteralExpression(string val) 111private static ExpressionSyntax GenerateCharLiteralExpression(char val) 172private static ExpressionSyntax GenerateDoubleLiteralExpression(ITypeSymbol? type, double value, bool canUseFieldReference) 201private static ExpressionSyntax GenerateSingleLiteralExpression(ITypeSymbol? type, float value, bool canUseFieldReference) 230private static ExpressionSyntax GenerateNonNegativeLiteralExpression<T>( 241private static ExpressionSyntax GenerateLiteralExpression<T>( 251var result = GenerateFieldReference(type, value, constants); 278private static ExpressionSyntax? GenerateFieldReference<T>(ITypeSymbol? type, T value, IEnumerable<KeyValuePair<T, string>> constants) 285var memberAccess = GenerateMemberAccess("System", typeof(T).Name); 299private static ExpressionSyntax GenerateMemberAccess(params ReadOnlySpan<string> names) 301ExpressionSyntax result = IdentifierName(GlobalKeyword);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (1)
95var initializer = CodeGenerationFieldInfo.GetInitializer(field) is ExpressionSyntax initializerNode
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (1)
110private static ExpressionSyntax GenerateEqualsValueClauseWorker(IParameterSymbol parameter, object? value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\PropertyGenerator.cs (1)
115var initializer = CodeGenerationPropertyInfo.GetInitializer(property) is ExpressionSyntax initializerNode
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeRefactorings\CSharpRefactoringHelpersService.cs (1)
16internal sealed class CSharpRefactoringHelpersService() : AbstractRefactoringHelpersService<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (2)
52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CastExpressionSyntaxExtensions.cs (2)
15public static ExpressionSyntax Uncast(this CastExpressionSyntax node) 28var resultNode = node.Expression
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
281var expr = parenExpr.Expression;
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (11)
18public static ExpressionSyntax Parenthesize( 19this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 49var result = ParenthesizeWorker(expression, includeElasticTrivia); 55private static ExpressionSyntax ParenthesizeWorker( 56this ExpressionSyntax expression, bool includeElasticTrivia) 58var withoutTrivia = expression.WithoutTrivia(); 87this ExpressionSyntax expression, 90var parenthesized = expression.Parenthesize(); 101public static ExpressionSyntax CastIfPossible( 102this ExpressionSyntax expression, 167this ExpressionSyntax name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (1)
21public static ITypeSymbol DetermineParameterType(ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
27public static ExpressionSyntax GenerateExpressionSyntax(this ITypeSymbol typeSymbol, bool nameSyntax = false)
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
99[.. Enumerable.Repeat<ExpressionSyntax>(OmittedArraySizeExpression(), arrayType.Rank)]));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (2)
112=> semanticModel.ClassifyConversion((ExpressionSyntax)expression, destination).ToCommonConversion(); 119ExpressionSyntax? expression = null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (23)
63=> SyntaxFactory.EqualsValueClause(operatorToken, (ExpressionSyntax)value); 71expression == null ? null : SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression))]); 78=> SyntaxFactory.ConditionalAccessExpression((ExpressionSyntax)expression, (ExpressionSyntax)whenNotNull); 84=> SyntaxFactory.RefExpression((ExpressionSyntax)expression); 92ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 98=> SyntaxFactory.YieldStatement(SyntaxKind.YieldReturnStatement, (ExpressionSyntax)expression); 120=> SyntaxFactory.Interpolation((ExpressionSyntax)syntaxNode); 123=> SyntaxFactory.InterpolationAlignmentClause(CommaToken, (ExpressionSyntax)alignment); 200(ExpressionSyntax)expression, 208=> SyntaxFactory.ConstantPattern((ExpressionSyntax)expression); 216=> SyntaxFactory.RelationalPattern(LessThanToken, (ExpressionSyntax)expression); 219=> SyntaxFactory.RelationalPattern(LessThanEqualsToken, (ExpressionSyntax)expression); 222=> SyntaxFactory.RelationalPattern(GreaterThanToken, (ExpressionSyntax)expression); 225=> SyntaxFactory.RelationalPattern(GreaterThanEqualsToken, (ExpressionSyntax)expression); 245=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)Parenthesize(expression)).WithAdditionalAnnotations(Simplifier.Annotation); 303ParenthesizeLeft((ExpressionSyntax)expression), 310internal static ExpressionSyntax ParenthesizeLeft(ExpressionSyntax expression) 325return (ExpressionSyntax)Parenthesize(expression); 332=> SyntaxFactory.BinaryExpression(syntaxKind, (ExpressionSyntax)Parenthesize(left), (ExpressionSyntax)Parenthesize(right)); 338=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)Parenthesize(expression)).WithAdditionalAnnotations(Simplifier.Annotation);
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; 944private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 992var otherSide = onRightOfToken ? left : right; 1079private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1111ExpressionSyntax expressionOpt = null, 1166private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1247private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1274private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1300ExpressionSyntax expressionOpt = null, 1345foreach (var sibling in initializerExpression.Expressions.Where(e => e.Kind() != SyntaxKind.ComplexElementInitializerExpression)) 1372foreach (var sibling in initializerExpression.Expressions) 1685ExpressionSyntax expressionOpt = null, 1757var argumentExpression = invocation.ArgumentList.Arguments[0].Expression; 1880var argumentExpression = attributeArgumentSyntax.Expression; 2238private IEnumerable<TypeInferenceInfo> InferTypeInVariableComponentAssignment(ExpressionSyntax left) 2305var expr = arg.Expression;
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.EditorFeatures (34)
AutomaticCompletion\AutomaticLineEnderCommandHandler.cs (1)
631return !syntaxToken.GetAncestors<ExpressionSyntax>().IsEmpty();
CompleteStatement\CompleteStatementCommandHandler.cs (3)
315var condition = doStatement.Condition; 408if (CaretIsInForStatementCondition(originalCaret, forStatement, out var condition)) 432private static bool CaretIsInForStatementCondition(int caretPosition, ForStatementSyntax forStatementSyntax, [NotNullWhen(true)] out ExpressionSyntax? condition)
RawStringLiteral\RawStringLiteralCommandHandler_Return.cs (6)
110token.Parent is not ExpressionSyntax expression) 137ExpressionSyntax expression; 140case SyntaxKind.SingleLineRawStringLiteralToken when token.Parent is ExpressionSyntax parentExpression: 172ExpressionSyntax expression, 233int GetStartPositionOfClosingDelimiter(ExpressionSyntax expression) 245int GetEndPositionOfOpeningDelimiter(ExpressionSyntax expression)
StringCopyPaste\AbstractPasteProcessor.cs (2)
58protected readonly ExpressionSyntax StringExpressionBeforePaste; 99ExpressionSyntax stringExpressionBeforePaste)
StringCopyPaste\KnownSourcePasteProcessor.cs (1)
32ExpressionSyntax stringExpressionBeforePaste,
StringCopyPaste\StringCopyPasteCommandHandler.cs (8)
121var stringExpressionBeforePaste = TryGetCompatibleContainingStringExpression(parsedDocumentBeforePaste, selectionsBeforePaste); 128var stringExpressionBeforePasteFromChanges = TryGetCompatibleContainingStringExpression( 233ExpressionSyntax stringExpressionBeforePaste, 266ExpressionSyntax stringExpressionBeforePaste, 270var stringExpressionAfterPaste = FindContainingSupportedStringExpression(rootAfterPaste, stringExpressionBeforePaste.SpanStart); 290ExpressionSyntax stringExpressionBeforePaste, 313private static ExpressionSyntax? TryGetCompatibleContainingStringExpression( 322var stringExpression = FindCommonContainingStringExpression(document.Root, spans);
StringCopyPaste\StringCopyPasteCommandHandler_CutCopy.cs (1)
80var stringExpression = TryGetCompatibleContainingStringExpression(
StringCopyPaste\StringCopyPasteData.cs (1)
67public static StringCopyPasteData? TryCreate(IVirtualCharLanguageService virtualCharService, ExpressionSyntax stringExpression, TextSpan selectionSpan)
StringCopyPaste\StringCopyPasteHelpers.cs (9)
37public static bool ContainsError(ExpressionSyntax stringExpression) 151public static bool IsVerbatimStringExpression(ExpressionSyntax stringExpression) 155public static bool IsAnyRawStringExpression(ExpressionSyntax expression) 160public static bool IsAnyMultiLineRawStringExpression(ExpressionSyntax expression) 225public static ExpressionSyntax? FindCommonContainingStringExpression( 228ExpressionSyntax? expression = null; 231var container = FindContainingSupportedStringExpression(root, snapshotSpan.Start.Position); 243public static ExpressionSyntax? FindContainingSupportedStringExpression(SyntaxNode root, int position) 258public static bool IsSupportedStringExpression(ExpressionSyntax expression)
StringCopyPaste\StringInfo.cs (1)
62public static StringInfo GetStringInfo(SourceText text, ExpressionSyntax stringExpression)
StringCopyPaste\UnknownSourcePasteProcessor.cs (1)
34ExpressionSyntax stringExpressionBeforePaste,
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (21)
ExtractMethod\ExtractMethodBase.cs (1)
202if (node is not ExpressionSyntax && !node.UnderValidContext())
Formatting\FormattingEngineTests.cs (1)
1449var node = SyntaxFactory.ParseExpression(code);
RefactoringHelpers\RefactoringHelpersTests.cs (3)
536=> TestNotUnderselectedAsync<ExpressionSyntax>(""" 548=> TestNotUnderselectedAsync<ExpressionSyntax>(""" 561=> TestNotUnderselectedAsync<ExpressionSyntax>("""
Semantics\SpeculationAnalyzerTests.cs (3)
476=> node is ExpressionSyntax; 496=> new SpeculationAnalyzer((ExpressionSyntax)initialNode, (ExpressionSyntax)replacementNode, initialModel, CancellationToken.None).ReplacementChangesSemantics();
SymbolKey\SymbolKeyMetadataVsSourceTests.cs (3)
158var bindingtuples = GetBindingNodesAndModel<ExpressionSyntax>(comp2); 346var bindingtuples = GetBindingNodesAndModel<ExpressionSyntax>(comp40); 430var bindingtuples = GetBindingNodesAndModel<ExpressionSyntax>(comp40);
SymbolKey\SymbolKeyTestBase.cs (6)
54internal static void ResolveAndVerifyTypeSymbol(ExpressionSyntax node, ITypeSymbol sourceSymbol, SemanticModel model, CSharpCompilation sourceComp) 60internal static void ResolveAndVerifySymbol(ExpressionSyntax node, ISymbol sourceSymbol, SemanticModel model, CSharpCompilation sourceComp, SymbolKeyComparison comparison = SymbolKeyComparison.None) 372IEnumerable<ExpressionSyntax> exprs = body.DescendantNodes().OfType<SimpleLambdaExpressionSyntax>(); 373IEnumerable<ExpressionSyntax> tmp = body.DescendantNodes().OfType<ParenthesizedLambdaExpressionSyntax>(); 381foreach (var expr in exprs) 387private static void GetAnonymousExprSymbols(ExpressionSyntax expr, SemanticModel model, List<ISymbol> list)
TypeInferrer\TypeInferrerTests.cs (3)
28var node = FindExpressionSyntaxFromSpan(root, textSpan); 72private static ExpressionSyntax FindExpressionSyntaxFromSpan(SyntaxNode root, TextSpan textSpan) 78if (currentNode is ExpressionSyntax result && result.Span == textSpan)
TypeInferrer\TypeInferrerTests.Delegate.cs (1)
29var node = FindExpressionSyntaxFromSpan(root, textSpan);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (74)
CodeGen\CodeGenCheckedTests.cs (4)
2915var xNode = tree.GetRoot().DescendantNodes().OfType<CheckedExpressionSyntax>().Single().Expression; 2918var nodeToSpeculate = SyntaxFactory.ParseExpression("x + y"); 2947var xNode = tree.GetRoot().DescendantNodes().OfType<CheckedExpressionSyntax>().Single().Expression; 2950var nodeToSpeculate = SyntaxFactory.ParseExpression("x + y");
CodeGen\CodeGenDeconstructTests.cs (2)
3489var nestedLiteral = literal.Arguments[1].Expression; 4405var collection = tree.GetRoot().DescendantNodes().OfType<ForEachVariableStatementSyntax>().Single().Expression;
CodeGen\CodeGenFunctionPointersTests.cs (3)
3411var addressOf = declarator.Initializer!.Value; 3458var addressOf = declarator.Initializer!.Value; 4117var methodGroup1 = variableDeclaratorSyntax.Initializer!.Value;
CodeGen\CodeGenTupleEqualityTests.cs (42)
367var lastX = tupleX.Arguments[1].Expression; 385var lastY = tupleY.Arguments[1].Expression; 716var t = equals.Left; 726var tuple = equals.Right; 799var tuple1Null = tuple1.Arguments[1].Expression; 812var tuple2Null = tuple2.Arguments[0].Expression; 857var t1 = equals.Left; 874var two = tuple.Arguments[1].Expression; 905var t1 = equals.Left; 922var two = tuple.Arguments[1].Expression; 954var t1 = equals.Left; 970var t2 = tuple.Arguments[1].Expression; 1024var lastNull = nullNull.Arguments[1].Expression; 1317var lastDefault = lastTuple.Arguments[1].Expression; 1506var t = tuple.Arguments[1].Expression; 1528var nestedNull = nestedTuple.Arguments[0].Expression; 1631var two = nestedTuple.Arguments[1].Expression; 1691var firstLambda = tuple2.Arguments[1].Expression; 1696var methodGroup = tuple2.Arguments[2].Expression; 1703var secondLambda = tuple2.Arguments[3].Expression; 1710var i = addition.Left; 1713var j = addition.Right; 2575var intTuple = firstEquals.Right; 2583var lastTuple = secondEquals.Right; 2643var t1 = equals.Left; 3279var nt1 = comparison.Left; 3285var nt2 = comparison.Right; 3685var nt1 = comparison.Left; 3691var nt2 = comparison.Right; 3809var nt1 = comparison.Left; 3815var nt2 = comparison.Right; 3912var nt1 = comparison.Left; 3918var nt2 = comparison.Right; 4037var tuple = comparison.Left; 4043var nt = comparison.Right; 4085var tuple = comparison.Left; 4091var nt = comparison.Right; 5125var leftTuple = equals.Left; 5131var rightTuple = equals.Right; 5177var leftNull = leftTuple.Arguments[0].Expression; 5185var leftNestedTuple = leftTuple.Arguments[1].Expression; 5200var rightTuple = rightCast.Expression;
CodeGen\CodeGenTupleTest.cs (23)
7498var value = declaration.Declaration.Variables.First().Initializer.Value; 7502var tuple = ((CastExpressionSyntax)value).Expression; 7531var value = declaration.Declaration.Variables.First().Initializer.Value; 8338ExpressionSyntax element; 8443ExpressionSyntax element; 8587ExpressionSyntax element; 8765ExpressionSyntax element; 8948ExpressionSyntax element; 13975var nameofArg = ((InvocationExpressionSyntax)nameofNode.Parent).ArgumentList.Arguments.Single().Expression; 19062var exprs = GetBindingNodes<ExpressionSyntax>(comp); 19063var expr1 = exprs.First(); 19101var exprs = GetBindingNodes<ExpressionSyntax>(comp); 19102var expr1 = exprs.First(); 19140var exprs = GetBindingNodes<ExpressionSyntax>(comp); 19141var expr1 = exprs.First(); 19179var exprs = GetBindingNodes<ExpressionSyntax>(comp); 19180var expr1 = exprs.First(); 25708var first = tuple.Arguments[0].Expression; 25713var second = tuple.Arguments[1].Expression; 25779var first = tuple.Arguments[0].Expression; 25784var second = tuple.Arguments[1].Expression; 25844var first = tuple.Arguments[0].Expression; 25849var second = tuple.Arguments[1].Expression;
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (1)
Emit\NumericIntPtrTests.cs (1)
6015var expr = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression;
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (68)
Attributes\AttributeTests.cs (2)
5720var m = (ExpressionSyntax)cm.SyntaxTrees[0].GetCompilationUnitRoot().FindToken(index).Parent.Parent;
Attributes\AttributeTests_RefReadOnly.cs (2)
1381var newInvocation = SyntaxFactory.ParseExpression("Process((in int x) => x)"); 1423var newInvocation = SyntaxFactory.ParseExpression("Process(() => ref x)");
FieldKeywordTests.cs (3)
1403var argument = attributeArguments[0]; 1461var argument = attributeArguments[0]; 9588var value = p.Initializer.Value;
FirstClassSpanTests.cs (1)
2824var arg = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression;
FlowAnalysis\FlowTestBase.cs (8)
179protected T CompileAndGetModelAndExpression<T>(string program, Func<SemanticModel, ExpressionSyntax, T> analysisDelegate, params MetadataReference[] references) 184protected T CompileAndGetModelAndExpression<T>(string program, Func<SemanticModel, ExpressionSyntax, T> analysisDelegate, TargetFramework targetFramework, bool assertNoDiagnostics, params MetadataReference[] references) 197ExpressionSyntax syntaxToBind = null; 198foreach (var expr in GetSyntaxNodeList(tree).OfType<ExpressionSyntax>()) 284protected IEnumerable<T> CompileAndGetModelAndMultipleExpressions<T>(string program, Func<SemanticModel, ExpressionSyntax, T> analysisDelegate, int treeindex = 0, int which = -1) 287var tuple = GetBindingNodesAndModel<ExpressionSyntax>(comp, treeindex, which); 289foreach (var expr in tuple.Item1)
FlowAnalysis\RegionAnalysisTests.cs (2)
6482var expression = GetLastNode<ExpressionSyntax>(tree, root.ToFullString().IndexOf("value ", StringComparison.Ordinal));
Semantics\CollectionExpressionTests.cs (7)
14247var returnValue = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Last().Expression; 14323var returnValue = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Last().Expression; 14459var cast = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Last().Expression; 14464var value = tree.GetRoot().DescendantNodes().OfType<CastExpressionSyntax>().Last().Expression; 14583var cast = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Last().Expression; 14588var value = tree.GetRoot().DescendantNodes().OfType<CastExpressionSyntax>().Last().Expression; 15109private static void VerifyTypes(SemanticModel model, ExpressionSyntax expr, string expectedType, string expectedConvertedType, ConversionKind expectedConversionKind)
Semantics\ExtensionOperatorsTests.cs (1)
2179var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.IfStatementSyntax>().First().Condition;
Semantics\ExtensionTests.cs (7)
35372var color = GetSyntax<MemberAccessExpressionSyntax>(tree, "Color.M").Expression; 35450var color = GetSyntax<MemberAccessExpressionSyntax>(tree, "Color.P").Expression; 38521var genericName = GetSyntax<InvocationExpressionSyntax>(tree, "M<T>()").Expression; 38554var expr = GetSyntax<InvocationExpressionSyntax>(tree, "T.M<T>()").Expression; 38588var expr = GetSyntax<InvocationExpressionSyntax>(tree, "t.M<T>()").Expression; 38627var expr = GetSyntax<InvocationExpressionSyntax>(tree, "t.M<T, U>(u)").Expression; 38670var expr = GetSyntax<InvocationExpressionSyntax>(tree, "t.M<T>()").Expression;
Semantics\InlineArrayTests.cs (4)
8123var f = tree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().Last().Left; 18589var f = tree.GetRoot().DescendantNodes().OfType<ForEachStatementSyntax>().Single().Expression; 18915var f = tree.GetRoot().DescendantNodes().OfType<ForEachStatementSyntax>().Single().Expression; 19252var collection = tree.GetRoot().DescendantNodes().OfType<ForEachStatementSyntax>().Single().Expression;
Semantics\OutVarTests.cs (10)
1090var dataFlowParent = decl.Parent.Parent.Parent as ExpressionSyntax; 1206private static bool FlowsIn(ExpressionSyntax dataFlowParent, DeclarationExpressionSyntax decl, IdentifierNameSyntax[] references) 1257private static bool ReadOutside(ExpressionSyntax dataFlowParent, IdentifierNameSyntax[] references) 1273private static bool FlowsOut(ExpressionSyntax dataFlowParent, DeclarationExpressionSyntax decl, IdentifierNameSyntax[] references) 1315private static bool WrittenOutside(ExpressionSyntax dataFlowParent, IdentifierNameSyntax[] references) 32787var dataFlowParent = (ExpressionSyntax)decl.Parent.Parent.Parent; 34333.WithSizes(SyntaxFactory.SeparatedList<ExpressionSyntax>( 34547.WithSizes(SyntaxFactory.SeparatedList<ExpressionSyntax>(
Semantics\ParamsCollectionTests.cs (1)
171var argument = nodes[1].ArgumentList.Arguments[0].Expression;
Semantics\PatternMatchingTestBase.cs (2)
322var dataFlowParent = designation.FirstAncestorOrSelf<ExpressionSyntax>();
Semantics\PatternMatchingTests2.cs (1)
2872void checkType(ExpressionSyntax expr, string expectedNaturalType, string expectedConvertedType, ConversionKind expectedConversionKind)
Semantics\PatternMatchingTests5.cs (12)
1111var xy = subpatterns[0].ExpressionColon.Expression; 1116var x = ((MemberAccessExpressionSyntax)subpatterns[0].ExpressionColon.Expression).Expression; 1128var yx = subpatterns[1].ExpressionColon.Expression; 1134var y = ((MemberAccessExpressionSyntax)subpatterns[1].ExpressionColon.Expression).Expression; 1191var x = ((MemberAccessExpressionSyntax)subpatterns[0].ExpressionColon.Expression).Expression; 1201var y = ((MemberAccessExpressionSyntax)subpatterns[1].ExpressionColon.Expression).Expression; 1242var x = subpatterns[0].ExpressionColon.Expression; 1250var y = subpatterns[1].ExpressionColon.Expression; 1294var xy = subpatterns[0].ExpressionColon.Expression; 1302var x = ((MemberAccessExpressionSyntax)subpatterns[0].ExpressionColon.Expression).Expression; 1320var yx = subpatterns[1].ExpressionColon.Expression; 1329var y = ((MemberAccessExpressionSyntax)subpatterns[1].ExpressionColon.Expression).Expression;
Semantics\PrimaryConstructorTests.cs (2)
6833var xReference = tree.GetRoot().DescendantNodes().OfType<PrimaryConstructorBaseTypeSyntax>().Single().ArgumentList.Arguments[0].Expression; 6859var mCall = tree.GetRoot().DescendantNodes().OfType<PrimaryConstructorBaseTypeSyntax>().Single().ArgumentList.Arguments[0].Expression;
Semantics\RecordTests.cs (3)
2549var x = tree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().Last().Left; 30476var xReference = tree.GetRoot().DescendantNodes().OfType<PrimaryConstructorBaseTypeSyntax>().Single().ArgumentList.Arguments[0].Expression; 30500var mCall = tree.GetRoot().DescendantNodes().OfType<PrimaryConstructorBaseTypeSyntax>().Single().ArgumentList.Arguments[0].Expression;
Microsoft.CodeAnalysis.CSharp.Features (826)
ChangeSignature\CSharpChangeSignatureService.cs (1)
609ExpressionSyntax lastArgumentExpression;
CodeFixes\GenerateType\GenerateTypeCodeFixProvider.cs (1)
48=> ((ExpressionSyntax)node).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 (2)
151var memberAccessExpression = memberAccess.Expression.WalkDownParentheses(); 158else if (potentialAwaitableExpression is ExpressionSyntax expression &&
Completion\CompletionProviders\ImportCompletion\ExtensionMethodImportCompletionProvider.cs (1)
75if (node is ExpressionSyntax expression &&
Completion\CompletionProviders\ObjectAndWithInitializerCompletionProvider.cs (1)
74if (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)
98static ITypeSymbol? GetMemberAccessType(ITypeSymbol? type, ExpressionSyntax? expression, Document document, SemanticModel semanticModel, int position) 169private static (PropertyPatternClauseSyntax?, ExpressionSyntax?) 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)
43var expression = 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); 220private ExpressionSyntax CreateLinqInvocationForExtendedNode( 221ExpressionSyntax selectExpression, 223ref 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)
220var expression = expresisonStatement.Expression; 235var operand = postfixUnaryExpression.Operand; 262var 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)
500foreach (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)
149var expression = throwExpressionOrStatement switch
EditAndContinue\BreakpointSpans.cs (2)
426if (node is ExpressionSyntax expression) 941private 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(); 314ExpressionSyntax outerMostMemberAccessExpression = null; 322outerMostMemberAccessExpression = (ExpressionSyntax)nameOrMemberAccessExpression.Parent; 325outerMostMemberAccessExpression = outerMostMemberAccessExpression.GetAncestorsOrThis<ExpressionSyntax>().SkipWhile(n => n != null && n.IsKind(SyntaxKind.SimpleMemberAccessExpression)).FirstOrDefault(); 408foreach (var expression in initializer.Expressions) 421private static IMethodSymbol GetMethodSymbolIfPresent(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 505protected override bool IsInVariableTypeContext(ExpressionSyntax expression) 633internal override bool TryGetBaseList(ExpressionSyntax expression, out TypeKindOptions typeKindValue) 657internal override bool IsPublicOnlyAccessibility(ExpressionSyntax expression, Project project) 710internal 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)
26ExpressionSyntax expression, 39var newQualifiedName = oldTypeDeclaration != null 41: (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)
153.WithCondition((ExpressionSyntax)condition)
InvertLogical\CSharpInvertLogicalCodeRefactoringProvider.cs (1)
16AbstractInvertLogicalCodeRefactoringProvider<SyntaxKind, ExpressionSyntax, BinaryExpressionSyntax>
NavigationBar\CSharpNavigationBarItemService.cs (1)
155ExpressionSyntax)
RelatedDocuments\CSharpRelatedDocumentsService.cs (3)
21ExpressionSyntax, 24protected override IEnumerable<(ExpressionSyntax expression, SyntaxToken nameToken)> IteratePotentialTypeNodes(SyntaxNode root) 67static bool IsPossibleTypeName(ExpressionSyntax expression, out SyntaxToken nameToken)
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; 319protected override ExpressionSyntax UnwrapCompoundAssignment( 320SyntaxNode 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\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\GenericNameSignatureHelpProvider.cs (1)
90var beforeDotExpression = simpleName.IsRightSideOfDot() ? simpleName.GetLeftSideOfDot() : null;
SignatureHelp\InvocationExpressionSignatureHelpProviderBase_MethodGroup.cs (1)
45var throughExpression = memberAccess.Expression;
SignatureHelp\LightweightOverloadResolution.cs (1)
236private static bool IsEmptyArgument(ExpressionSyntax 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)
58var right = ((BinaryExpressionSyntax)annotatedexpressionSyntax).Right;
Snippets\AbstractCSharpForLoopSnippetProvider.cs (10)
37protected abstract ExpressionSyntax GenerateInitializerValue(SyntaxGenerator generator, SyntaxNode? inlineExpression); 39protected abstract ExpressionSyntax GenerateRightSideOfCondition(SyntaxGenerator generator, SyntaxNode? inlineExpression); 41protected abstract void AddSpecificPlaceholders(MultiDictionary<string, int> placeholderBuilder, ExpressionSyntax initializer, ExpressionSyntax rightOfCondition); 53var indexVariable = (ExpressionSyntax)generator.IdentifierName(iteratorName); 94var condition = forStatement.Condition; 95var incrementor = forStatement.Incrementors.Single(); 102var left = conditionExpression.Left; 107var operand = ((PostfixUnaryExpressionSyntax)incrementor!).Operand;
Snippets\CSharpConsoleSnippetProvider.cs (2)
20ExpressionSyntax, 49protected override ArgumentListSyntax GetArgumentList(ExpressionSyntax expression)
Snippets\CSharpDoWhileLoopSnippetProvider.cs (3)
24: AbstractConditionalBlockSnippetProvider<DoStatementSyntax, ExpressionSyntax> 37(ExpressionSyntax)(inlineExpressionInfo?.Node.WithoutLeadingTrivia() ?? generator.TrueLiteralExpression())); 40protected override ExpressionSyntax GetCondition(DoStatementSyntax node)
Snippets\CSharpForEachLoopSnippetProvider.cs (3)
46if (token is { RawKind: (int)SyntaxKind.AwaitKeyword, Parent: ExpressionSyntax { Parent: ExpressionStatementSyntax } } || 64var 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)
30var 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)
30var 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\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (12)
18ExpressionSyntax, ExpressionSyntax, SyntaxKind>(CSharpExpressionPrecedenceService.Instance) 49protected override int GetPrecedence(ExpressionSyntax binaryLike) 52protected override bool IsBinaryLike(ExpressionSyntax node) 56protected override (ExpressionSyntax, SyntaxToken, ExpressionSyntax) GetPartsOfBinaryLike(ExpressionSyntax binaryLike) 72protected override ExpressionSyntax? TryGetAppropriateParent(ExpressionSyntax binaryLike) 74? binaryLike.Parent.Parent as ExpressionSyntax 75: binaryLike.Parent as ExpressionSyntax; 77protected override bool IsAsExpression(ExpressionSyntax node)
src\Analyzers\CSharp\Analyzers\ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (1)
24private ExpressionSyntax? _assignmentTargetOpt;
src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (1)
88var argumentExpression = argumentNode.Expression;
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\Analyzers\CSharp\Analyzers\QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs (2)
18: AbstractQualifyMemberAccessDiagnosticAnalyzer<SyntaxKind, ExpressionSyntax, SimpleNameSyntax> 23protected override bool IsAlreadyQualifiedMemberAccess(ExpressionSyntax node)
src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
31var left = node switch
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\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (6)
88var invokedExpression = invocation.Expression; 193foreach (var candidate in outermostBody.DescendantNodes().OfType<ExpressionSyntax>()) 209var rewrittenExpression = analyzer.ReplacedExpression; 280private static bool MayHaveSideEffects(ExpressionSyntax expression) 326ExpressionSyntax expression,
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
49var inner = parenthesizedExpression.Expression; 54ExpressionSyntax parentExpression;
src\Analyzers\CSharp\Analyzers\SimplifyBooleanExpression\CSharpSimplifyConditionalDiagnosticAnalyzer.cs (2)
19ExpressionSyntax, 25protected override CommonConversion GetConversion(SemanticModel semanticModel, ExpressionSyntax node, CancellationToken cancellationToken)
src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationDiagnosticAnalyzer.cs (2)
18: AbstractSimplifyInterpolationDiagnosticAnalyzer<InterpolationSyntax, ExpressionSyntax> 22protected override AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax> Helpers => CSharpSimplifyInterpolationHelpers.Instance;
src\Analyzers\CSharp\Analyzers\SimplifyInterpolation\CSharpSimplifyInterpolationHelpers.cs (1)
11: AbstractSimplifyInterpolationHelpers<InterpolationSyntax, ExpressionSyntax>
src\Analyzers\CSharp\Analyzers\SimplifyPropertyAccessor\CSharpSimplifyPropertyAccessorDiagnosticAnalyzer.cs (1)
71static bool IsFieldValueAssignmentExpression(ExpressionSyntax expression)
src\Analyzers\CSharp\Analyzers\SimplifyPropertyPattern\SimplifyPropertyPatternHelpers.cs (1)
49public static bool IsMergable([NotNullWhen(true)] ExpressionSyntax? expression)
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\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (4)
21ExpressionSyntax, 38protected override ExpressionSyntax GetConditionOfIfStatement(IfStatementSyntax ifStatement) 41protected override bool IsNullCheck(ExpressionSyntax condition, [NotNullWhen(true)] out ExpressionSyntax? checkedExpression)
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
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\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs (1)
155var state = new UpdateExpressionState<ExpressionSyntax, StatementSyntax>(
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForEmptyDiagnosticAnalyzer.cs (2)
38var nodeToReplace = 42? (ExpressionSyntax)invocation
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (5)
25using FluentState = UpdateExpressionState<ExpressionSyntax, StatementSyntax>; 177var current = memberAccess.Expression; 292void AddFinalMatch(ExpressionSyntax expression) 325bool IsListLike(ExpressionSyntax expression) 342foreach (var expression in initializer.Expressions)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (21)
63ExpressionSyntax expression, 81ExpressionSyntax expression, 93var topMostExpression = expression.WalkUpParentheses(); 385SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 426using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionsToProcess); 427using var _2 = PooledHashSet<ExpressionSyntax>.GetInstance(out var seenExpressions); 436var locallyScopedExpression = expressionsToProcess.Pop().WalkUpParentheses(); 523void AddExpressionToProcess(ExpressionSyntax expression) 585if (argument.Parent is not BaseArgumentListSyntax { Parent: ExpressionSyntax parentInvocation } argumentList) 624bool IsPrimitiveConstant(ExpressionSyntax expression) 635i => i.IsToken ? i : ExpressionElement((ExpressionSyntax)i.AsNode()!)); 745where TArrayCreationExpressionSyntax : ExpressionSyntax 1012var argExpression = argument.Expression; 1046public static bool IsIterable(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1080ExpressionSyntax expression, 1155static bool IsPossiblyDottedGenericName(ExpressionSyntax expression) 1160if (expression is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: GenericNameSyntax } && 1169static bool IsPossiblyDottedName(ExpressionSyntax name) 1174if (name is MemberAccessExpressionSyntax { Expression: ExpressionSyntax childName, Name: IdentifierNameSyntax } && 1194var expression = arguments.Single().Expression; 1210nodeOrToken => nodeOrToken.IsToken ? nodeOrToken : Argument((ExpressionSyntax)nodeOrToken.AsNode()!)));
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUpdateExpressionSyntaxHelper.cs (3)
11internal sealed class CSharpUpdateExpressionSyntaxHelper : IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> 19out ExpressionSyntax expression, 31out ExpressionSyntax condition,
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (8)
18ExpressionSyntax, 28protected override IUpdateExpressionSyntaxHelper<ExpressionSyntax, StatementSyntax> SyntaxHelper 97using var _1 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var spreadElements); 124var currentArgumentExpression = argumentList.Arguments[0].Expression; 125using var _2 = ArrayBuilder<ExpressionSyntax>.GetInstance(out var expressionPieces); 149var piece = expressionPieces[i]; 168foreach (var piece in expressionPieces) 171var current = piece;
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs (3)
27ExpressionSyntax, 70if (match.Node is ExpressionSyntax expression) 79foreach (var expression in initializer.Expressions)
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\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\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
70SemanticModel semanticModel, ExpressionSyntax left, ExpressionSyntax right)
src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (2)
266var nodeToCheck = identifierName.WalkUpParentheses(); 332var value = variableDeclarator.Initializer.Value.WalkDownParentheses();
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (4)
19ExpressionSyntax, 42ISyntaxFacts syntaxFacts, ExpressionSyntax conditionNode, 43[NotNullWhen(true)] out ExpressionSyntax? conditionPartToCheck, out bool isEquals) 70[NotNullWhen(true)] out ExpressionSyntax? condition,
src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseNamedMemberInitializerAnalyzer.cs (1)
14ExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UseObjectInitializer\CSharpUseObjectInitializerDiagnosticAnalyzer.cs (1)
18ExpressionSyntax,
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\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\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (4)
49var expression = (ExpressionSyntax)context.Node; 123private static bool IsTopmostExpression(ExpressionSyntax node) 130ExpressionSyntax => false,
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\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\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (1)
196var declaratorValue = declarator.Initializer.Value.WalkDownParentheses();
src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (1)
42var whenNotNull = parentConditionalAccess.WhenNotNull;
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\Analyzers\CSharp\CodeFixes\AddAnonymousTypeMemberName\CSharpAddAnonymousTypeMemberNameCodeFixProvider.cs (2)
22ExpressionSyntax, 34protected override ExpressionSyntax GetExpression(AnonymousObjectMemberDeclaratorSyntax declarator)
src\Analyzers\CSharp\CodeFixes\AddExplicitCast\ArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(ArgumentSyntax argument)
src\Analyzers\CSharp\CodeFixes\AddExplicitCast\AttributeArgumentFixer.cs (1)
17protected override ExpressionSyntax GetExpressionOfArgument(AttributeArgumentSyntax argument)
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\Analyzers\CSharp\CodeFixes\AddParameter\CSharpAddParameterCodeFixProvider.cs (2)
28ExpressionSyntax, 52protected override Argument<ExpressionSyntax> GetArgument(ArgumentSyntax argument)
src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
72if (location is ExpressionSyntax)
src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AssignOutParametersAtStartCodeFixProvider.cs (1)
28if (location is ExpressionSyntax)
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\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\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (2)
148var newExpr = (ExpressionSyntax)newNameNode;
src\Analyzers\CSharp\CodeFixes\FixReturnType\CSharpFixReturnTypeCodeFixProvider.cs (1)
166var argumentExpression = tuple.Arguments[i].Expression;
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\Analyzers\CSharp\CodeFixes\GenerateEnumMember\CSharpGenerateEnumMemberService.cs (2)
20AbstractGenerateEnumMemberService<CSharpGenerateEnumMemberService, SimpleNameSyntax, ExpressionSyntax> 28[NotNullWhen(true)] out ExpressionSyntax? simpleNameOrMemberAccessExpression)
src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateConversionCodeFixProvider.cs (1)
43node is ExpressionSyntax;
src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateMethodCodeFixProvider.cs (1)
62node is ExpressionSyntax;
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\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\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\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\Analyzers\CSharp\CodeFixes\InlineDeclaration\CSharpInlineDeclarationCodeFixProvider.cs (2)
89var invocationOrCreation = (ExpressionSyntax)invocationOrCreationLocation.FindNode(
src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (1)
89SemanticModel model, ExpressionSyntax? expression, [NotNullWhen(true)] out ITypeSymbol? returnExpressionType)
src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
67ExpressionSyntax nextExpression,
src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
68ExpressionSyntax nextExpression,
src\Analyzers\CSharp\CodeFixes\PopulateSwitch\CSharpPopulateSwitchExpressionCodeFixProvider.cs (1)
25ExpressionSyntax,
src\Analyzers\CSharp\CodeFixes\RemoveAsyncModifier\CSharpRemoveAsyncModifierCodeFixProvider.cs (2)
23internal sealed partial class CSharpRemoveAsyncModifierCodeFixProvider() : AbstractRemoveAsyncModifierCodeFixProvider<ReturnStatementSyntax, ExpressionSyntax> 32protected override SyntaxNode? ConvertToBlockBody(SyntaxNode node, ExpressionSyntax expressionBody)
src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (2)
78var left = isNode switch 87var withoutSuppression = suppression.Operand.WithAppendedTrailingTrivia(suppression.OperatorToken.GetAllTrivia());
src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastCodeFixProvider.cs (5)
42d => (ExpressionSyntax)d.AdditionalLocations[0].FindNode(getInnermostNodeForTie: true, cancellationToken)); 49var oldParent = castExpression.WalkUpParentheses(); 50var newParent = Recurse(oldParent); 57private static ExpressionSyntax Recurse(ExpressionSyntax old)
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\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\Analyzers\CSharp\CodeFixes\SimplifyPropertyPattern\CSharpSimplifyPropertyPatternCodeFixProvider.cs (2)
98private static MemberAccessExpressionSyntax? Merge(ExpressionSyntax? outerExpression, ExpressionSyntax? innerExpression)
src\Analyzers\CSharp\CodeFixes\UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (2)
40ExpressionSyntax> 101var fieldInitializer = fieldDeclarator.Initializer?.Value;
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpCollectionExpressionRewriter.cs (31)
41where TParentExpression : ExpressionSyntax 84if (preMatches is [{ Node: ExpressionSyntax } preMatch] && postMatches.IsEmpty) 88else if (preMatches.IsEmpty && postMatches is [{ Node: ExpressionSyntax } postMatch]) 205var expression = (ExpressionSyntax)(object)match.Node; 446bool useSpread, ExpressionSyntax expression) 489foreach (var expression in expressions) 502var condition = IndentExpression(ifStatement, ifStatement.Condition, preferredIndentation).Parenthesize(includeElasticTrivia: false); 526else if (node is ExpressionSyntax expression) 536ExpressionSyntax IndentExpression( 538ExpressionSyntax expression, 551var updatedExpression = expression.ReplaceTokens( 647static ExpressionSyntax TransferParentStatementComments( 649ExpressionSyntax expression, 732foreach (var expression in initializer.Expressions) 787else if (node is ExpressionSyntax expression) 796static ExpressionSyntax ConvertExpression( 797ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 803static ImmutableArray<ExpressionSyntax> ConvertExpressions( 804ExpressionSyntax expression, Func<ExpressionSyntax, ExpressionSyntax>? indent) 819static ImmutableArray<ExpressionSyntax> ConvertAssignment( 820AssignmentExpressionSyntax assignment, Func<ExpressionSyntax, ExpressionSyntax> indent) 825static ImmutableArray<ExpressionSyntax> ConvertInvocation( 826InvocationExpressionSyntax invocation, Func<ExpressionSyntax, ExpressionSyntax> indent) 838ParsedDocument document, TParentExpression expressionToReplace, SyntaxFormattingOptions formattingOptions) where TParentExpression : ExpressionSyntax
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForArrayCodeFixProvider.cs (3)
28: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 37ExpressionSyntax arrayCreationExpression, 100SemanticModel semanticModel, ExpressionSyntax expression, INamedTypeSymbol? expressionType)
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForCreateCodeFixProvider.cs (1)
66var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread));
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\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForNewCodeFixProvider.cs (1)
67var matches = expressions.SelectAsArray(e => new CollectionMatch<ExpressionSyntax>(e, useSpread));
src\Analyzers\CSharp\CodeFixes\UseCollectionExpression\CSharpUseCollectionExpressionForStackAllocCodeFixProvider.cs (2)
24: AbstractUseCollectionExpressionCodeFixProvider<ExpressionSyntax>( 33ExpressionSyntax stackAllocExpression,
src\Analyzers\CSharp\CodeFixes\UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs (2)
24ExpressionSyntax, 45ExpressionSyntax newObjectCreation = useCollectionExpression
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\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\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\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\Analyzers\CSharp\CodeFixes\UseConditionalExpression\CSharpUseConditionalExpressionHelpers.cs (1)
18public static ExpressionSyntax ConvertToExpression(IThrowOperation throwOperation)
src\Analyzers\CSharp\CodeFixes\UseDeconstruction\CSharpUseDeconstructionCodeFixProvider.cs (1)
146private ExpressionSyntax CreateTupleOrDeclarationExpression(INamedTypeSymbol tupleType, TypeSyntax typeNode)
src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
167SeparatedList<ExpressionSyntax>(expressionsAndCommasToWrap));
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\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (3)
100var tupleDeclaration = GenerateTupleDeclaration( 176private static ExpressionSyntax GenerateTupleDeclaration( 191ExpressionSyntax newDeclaration;
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (19)
73var updatedNode = FixOne(result, generator); 84private static ExpressionSyntax FixOne(Result result, SyntaxGenerator generator) 111var expression = invocation.Expression is MemberAccessExpressionSyntax memberAccess 150(ExpressionSyntax? startExpr, bool startFromEnd, ExpressionSyntax? endExpr, bool endFromEnd) GetComputedRangeData() 160return (startExpr: null, startFromEnd: false, (ExpressionSyntax)subtraction.RightOperand.Syntax, endFromEnd: true); 165return (startExpr: null, startFromEnd: false, (ExpressionSyntax)result.InvocationOperation.Arguments[0].Value.Syntax, endFromEnd: false); 174return ((ExpressionSyntax)subtraction.RightOperand.Syntax, startFromEnd: true, endExpr: null, endFromEnd: false); 179return ((ExpressionSyntax)result.InvocationOperation.Arguments[1].Value.Syntax, startFromEnd: false, endExpr: null, endFromEnd: false); 195var startExpr = (ExpressionSyntax)startOperation.Syntax; 198ExpressionSyntax? endExpr = null; 210endExpr = (ExpressionSyntax)endOperation.Syntax; 226private static ExpressionSyntax? WalkUpCheckedExpressions(ExpressionSyntax? expr) 241return RangeExpression(leftOperand: null, WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax)); 246return RangeExpression(leftOperand: null, IndexExpression(WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax))); 260constant1 == 0 ? null : WalkUpCheckedExpressions((ExpressionSyntax)result.Op1.Syntax), 261IndexExpression((ExpressionSyntax)generator.LiteralExpression(constant2 - constant1)));
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\Helpers.cs (1)
15public static PrefixUnaryExpressionSyntax IndexExpression(ExpressionSyntax expr)
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (3)
71private static ExpressionSyntax Rewrite(BinaryExpressionSyntax binary) 99BinaryExpressionSyntax binary, ExpressionSyntax expr, ExpressionSyntax nullLiteral)
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\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (6)
61List<ExpressionSyntax> references)>(diagnostics.Length); 70var references = new List<ExpressionSyntax>(diagnostic.AdditionalLocations.Count - 2); 74references.Add((ExpressionSyntax)diagnostic.AdditionalLocations[i].FindNode(getInnermostNodeForTie: true, cancellationToken)); 179ImmutableArray<ExpressionSyntax> references) 227var expressionBody = anonymousFunction.Body is ExpressionSyntax expression 231var semicolonToken = anonymousFunction.Body is ExpressionSyntax
src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
22ExpressionSyntax,
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\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\Analyzers\CSharp\CodeFixes\UsePatternCombinators\CSharpUsePatternCombinatorsCodeFixProvider.cs (3)
86editor.ReplaceNode(expression, IsPatternExpression((ExpressionSyntax)pattern.Target.Syntax, patternSyntax)); 123private static ExpressionSyntax AsExpressionSyntax(ExpressionSyntax expr, AnalyzedPattern p)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (6)
61var parent = binaryExpression ?? (ExpressionSyntax?)isPatternExpression; 87var toReplace = parent.WalkUpParentheses(); 96var whenNotNull = conditionalAccessExpression.WhenNotNull; 104static ExpressionSyntax RewriteMemberBindingToExpression(ExpressionSyntax expression)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (5)
95var comparison = (ExpressionSyntax)comparisonLocation.FindNode(cancellationToken); 108var condition = GetCondition(languageVersion, comparison, asExpression, declarationPattern); 160private static ExpressionSyntax GetCondition( 162ExpressionSyntax comparison,
src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
596if (identifier.GetRequiredParent() is ExpressionSyntax expression)
src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockCodeFixProvider.cs (1)
140ExpressionSyntax expression = node;
src\Analyzers\CSharp\CodeFixes\UseTupleSwap\CSharpUseTupleSwapCodeFixProvider.cs (2)
58var exprA = assignment.Left.WalkDownParentheses().WithoutTrivia(); 59var exprB = assignment.Right.WalkDownParentheses().WithoutTrivia();
src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (3)
172var stringLiteral = CreateUtf8String(SyntaxTriviaList.Empty, stringValue, argumentList.Arguments.Last().GetTrailingTrivia(), isConvertedToReadOnlySpan); 183private static ExpressionSyntax CreateUtf8String(SyntaxNode nodeToTakeTriviaFrom, string stringValue, bool isConvertedToReadOnlySpan) 188private static ExpressionSyntax CreateUtf8String(SyntaxTriviaList leadingTrivia, string stringValue, SyntaxTriviaList trailingTrivia, bool isConvertedToReadOnlySpan)
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.IOperation.UnitTests (9)
IOperation\IOperationTests.cs (1)
711var fieldInitializer = tree.GetRoot().DescendantNodes().OfType<EqualsValueClauseSyntax>().Last().Value;
IOperation\IOperationTests_IConversionExpression.cs (1)
175var initializerSyntax = ((VariableDeclaratorSyntax)syntax).Initializer.Value;
IOperation\IOperationTests_IObjectCreationExpression.cs (2)
1795VerifyOperationTreeAndDiagnosticsForTest<ExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics, parseOptions: ImplicitObjectCreationOptions); 3311VerifyOperationTreeAndDiagnosticsForTest<ExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_IVariableDeclaration.cs (5)
902VerifyOperationTreeAndDiagnosticsForTest<ExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 1217.WithSizes(SyntaxFactory.SeparatedList<ExpressionSyntax>(SyntaxFactory.NodeOrTokenList(SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(10))))); 2303.WithSizes(SyntaxFactory.SeparatedList<ExpressionSyntax>(SyntaxFactory.NodeOrTokenList(SyntaxFactory.ParseExpression("y switch { int z => 42 }")))); 2364.WithSizes(SyntaxFactory.SeparatedList<ExpressionSyntax>(SyntaxFactory.NodeOrTokenList(SyntaxFactory.ParseExpression("y switch { int z => 42 }")))); 2832.WithSizes(SyntaxFactory.SeparatedList<ExpressionSyntax>(SyntaxFactory.NodeOrTokenList(SyntaxFactory.ParseExpression("y switch { int z => 42 }"))));
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (311)
Semantics\ColorColorTests.cs (27)
597var parentExpr = (ExpressionSyntax)expr.Parent; 637var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 644var parentExpr = (ExpressionSyntax)expr.Parent; 727var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1066var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1073var parentExpr = (ExpressionSyntax)expr.Parent; 1112var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1119var parentExpr = (ExpressionSyntax)expr.Parent; 1158var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1165var parentExpr = (ExpressionSyntax)expr.Parent; 1203var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1210var parentExpr = (ExpressionSyntax)expr.Parent; 1244var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1254var parentExpr = (ExpressionSyntax)expr.Parent; 1281var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1288var parentExpr = (ExpressionSyntax)expr.Parent; 1844var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1851var parentExpr = (ExpressionSyntax)expr.Parent;
Semantics\ConstantTests.cs (1)
3521var initializer = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer.Value;
Semantics\DeconstructionTests.cs (10)
5986var mainCall = tree.GetRoot().DescendantNodes().OfType<ExpressionSyntax>().Where(n => n.ToString() == "Main()").Single(); 6029var mainCall = tree.GetRoot().DescendantNodes().OfType<ExpressionSyntax>().Where(n => n.ToString() == "Main()").Single(); 6069var mainCall = tree.GetRoot().DescendantNodes().OfType<ExpressionSyntax>().Where(n => n.ToString() == "Main()").Single(); 6111var two = tree.GetRoot().DescendantNodes().OfType<ExpressionSyntax>().Where(n => n.ToString() == "2").Single(); 6151var mainCall = tree.GetRoot().DescendantNodes().OfType<ExpressionSyntax>().Where(n => n.ToString() == "Main()").Single();
Semantics\DelegateTypeTests.cs (25)
749var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 795var expr = ((CastExpressionSyntax)tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value).Expression; 938var expr = ((CastExpressionSyntax)tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value).Expression; 1036var expr = ((CastExpressionSyntax)tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value).Expression; 1211var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1247var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1332var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1372var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1415var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1459var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1554var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1634var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1684var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1734var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1784var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1834var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1884var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1934var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 1980var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 2028var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 3678foreach (var expr in exprs) 8100var expr = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer!.Value; 12193var expr = ((ExpressionStatementSyntax)stmt).Expression; 14469private static void VerifyExpressionType(SemanticModel model, ExpressionSyntax variable, string expectedSymbol, string expectedInvokeMethod) 14863static void verifyConversions(SemanticModel model, ExpressionSyntax expr, ITypeSymbol destination, ConversionKind expectedImplicitKind, ConversionKind expectedExplicitKind)
Semantics\DynamicTests.cs (31)
6700var right = assignment.Right; 6809var right = assignment.Right; 6919var right = assignment.Right; 7016var right = assignment.Right; 7083var right = assignment.Right; 7194var right = assignment.Right; 7307var right = assignment.Right; 7423var right = assignment.Right; 7538var right = assignment.Right; 7607var right = assignment.Right; 8312var right = assignment.Right; 8421var right = assignment.Right; 8530var right = assignment.Right; 8640var right = assignment.Right; 8749var right = assignment.Right; 8818var right = assignment.Right; 8890var right = assignment.Right; 8946var right = assignment.Right; 9036var right = assignment.Right; 9127var right = assignment.Right; 9217var right = assignment.Right; 9273var right = assignment.Right; 10054var rightElement = right.Arguments[0].Expression; 10182var rightElement = right.Arguments[0].Expression; 10310var rightElement = right.Arguments[0].Expression; 10464var rightElement = right.Arguments[0].Expression; 10593var right = assignment.Right; 10741var right = assignment.Right; 11011var right = assignment.Right; 11139var rightElement = right.Arguments[0].Expression; 11218var rightElement = right.Arguments[0].Expression;
Semantics\ExpressionBodiedMemberTests.cs (15)
475var node = tree.GetRoot().DescendantNodes().OfType<ArrowExpressionClauseSyntax>().Single().Expression; 506var node = tree.GetRoot().DescendantNodes().OfType<ArrowExpressionClauseSyntax>().Single().Expression; 535var node = tree.GetRoot().DescendantNodes().OfType<ArrowExpressionClauseSyntax>().Single().Expression; 542var node2 = tree.GetRoot().DescendantNodes().OfType<ConstructorDeclarationSyntax>().Single() 575var node = tree.GetRoot().DescendantNodes().OfType<ArrowExpressionClauseSyntax>().Single().Expression; 582var node2 = tree.GetRoot().DescendantNodes().OfType<DestructorDeclarationSyntax>().Single() 649var node = tree.GetRoot().DescendantNodes().OfType<ArrowExpressionClauseSyntax>().Single().Expression; 680var node = tree.GetRoot().DescendantNodes().OfType<ArrowExpressionClauseSyntax>().Single().Expression; 711var node = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 742var node = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 777var node = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 808var node = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 844var node = assign.Left; 879var node = assign.Left; 918var node = assign.Left;
Semantics\FunctionPointerTests.cs (7)
201var initializer1 = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().First().Initializer!.Value; 205var initializer2 = tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Last().Initializer!.Value; 208static void assertResult(SemanticModel model, ExpressionSyntax initializer1, Compilation comp) 293foreach (var literal in tree.GetRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Select(v => v.Initializer!.Value)) 603foreach (var decl in decls) 842foreach (var decl in decls) 901var initializer = decl.Initializer!.Value;
Semantics\GenericConstraintsTests.cs (1)
2878var value = ((VariableDeclaratorSyntax)tree.FindNodeOrTokenByKind(SyntaxKind.VariableDeclarator)).Initializer.Value;
Semantics\ImplicitlyTypeArraysTests.cs (2)
67var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 93var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree));
Semantics\ImplicitObjectCreationTests.cs (2)
4160var newExpression = SyntaxFactory.ParseExpression("new()"); 4194var newExpression = ((InvocationExpressionSyntax)modifiedNode.Expression).ArgumentList.Arguments[0].Expression;
Semantics\InitOnlyMemberTests.cs (1)
3197var node = assign.Left;
Semantics\InteractiveSemanticModelTests.cs (10)
273private List<ExpressionSyntax> GetExprSyntaxList(SyntaxTree syntaxTree) 278private List<ExpressionSyntax> GetExprSyntaxList(SyntaxNode node, List<ExpressionSyntax> exprSynList) 281exprSynList = new List<ExpressionSyntax>(); 283if (node is ExpressionSyntax) 285exprSynList.Add(node as ExpressionSyntax); 297private ExpressionSyntax GetExprSyntaxForBinding(List<ExpressionSyntax> exprSynList) 299foreach (var exprSyntax in exprSynList) 360var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree));
Semantics\InterpolationTests.cs (2)
4601var interpolatedString = 4602(ExpressionSyntax)descendentNodes.OfType<BinaryExpressionSyntax>()
Semantics\LambdaTests.cs (18)
840ExpressionSyntax expr = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>(). 1031var xReference = 1035.OfType<ExpressionSyntax>() 1124.OfType<ExpressionSyntax>() 1127foreach (var name in oReference) 1177var expr = (ExpressionSyntax)tree.GetCompilationUnitRoot().DescendantNodes().OfType<ParenthesizedLambdaExpressionSyntax>().Single().Body; 1205var expr = (ExpressionSyntax)tree.GetCompilationUnitRoot().DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer.Value; 1237var expr = (ExpressionSyntax)tree.GetCompilationUnitRoot().DescendantNodes().OfType<ParenthesizedLambdaExpressionSyntax>().Single().Body; 2996ExpressionSyntax contentType = tree.GetCompilationUnitRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "ContentType").Single(); 3003ExpressionSyntax b = tree.GetCompilationUnitRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "b").Single(); 3038ExpressionSyntax contentType = tree.GetCompilationUnitRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "ContentType").Single(); 3045ExpressionSyntax b = tree.GetCompilationUnitRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "b").Single(); 8118var defaultValue = decls[1].DescendantNodes().OfType<LambdaExpressionSyntax>().Single() 8124var lhs = decls[2].DescendantNodes().OfType<EqualsValueClauseSyntax>().Single().Value; 8149var defaultValue = tree.GetRoot().DescendantNodes().OfType<LambdaExpressionSyntax>().Single()
Semantics\LocalFunctionTests.cs (11)
454var attrArg0 = attrArgs[0].Expression; 460var attrArg1 = attrArgs[1].Expression; 6362var expr = GetNameOfExpressions(tree)[1]; 6383var expr = GetNameOfExpressions(tree)[0]; 6411var expr = GetNameOfExpressions(tree)[0]; 6550private static ImmutableArray<ExpressionSyntax> GetNameOfExpressions(SyntaxTree tree) 7436var newNameOf = parseNameof("nameof(TParameter)", parseOptions: parseOptions); 7440var newNameOfArgument = parseIdentifier("TParameter", parseOptions: parseOptions); 7456static ExpressionSyntax parseNameof(string source, CSharpParseOptions parseOptions) 7459static ExpressionSyntax parseIdentifier(string source, CSharpParseOptions parseOptions) 10431var p = nameof.ArgumentList.Arguments[0].Expression;
Semantics\LookupTests.cs (9)
687var baseExprInfo = model.GetTypeInfo((ExpressionSyntax)baseExprNode); 1501var node = tree.GetRoot().DescendantNodes().OfType<ExpressionSyntax>().Where(n => n.ToString() == "m.M").Single(); 1505var node2 = (ExpressionSyntax)SyntaxFactory.SyntaxTree(node).GetRoot(); 1564var expr = GetExprSyntaxForBinding(exprs); 1597var expr = GetExprSyntaxForBinding(exprs, index: 0); 2044var node = tree.GetRoot().DescendantNodes().OfType<ConditionalAccessExpressionSyntax>().Single().Expression; 2074var node = tree.GetRoot().DescendantNodes().OfType<ConditionalAccessExpressionSyntax>().Single().Expression;
Semantics\NameOfTests.cs (26)
686var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "SomeClass.Goo").OfType<ExpressionSyntax>().First(); 712var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "SomeClass.Goo").OfType<ExpressionSyntax>().First(); 747var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "a.Extension").OfType<ExpressionSyntax>().First(); 794var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "a.Extension").OfType<ExpressionSyntax>().First(); 831var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "a.Extension").OfType<ExpressionSyntax>().First(); 867var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "a.Nested").OfType<ExpressionSyntax>().First(); 913var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "A.Extension").OfType<ExpressionSyntax>().First(); 946var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "a.Extension").OfType<ExpressionSyntax>().First(); 993var argument = nameofCalls[index].ArgumentList.Arguments.Single().Expression; 998var argument2 = nameofCalls2[index].ArgumentList.Arguments.Single().Expression; 1064var argument = nameofCalls[index].ArgumentList.Arguments.Single().Expression; 1069var argument2 = nameofCalls2[index].ArgumentList.Arguments.Single().Expression; 1150var argument = nameofCalls[index].ArgumentList.Arguments.Single().Expression; 1155var argument2 = nameofCalls2[index].ArgumentList.Arguments.Single().Expression; 1228var argument = nameofCalls[index].ArgumentList.Arguments.Single().Expression; 1233var argument2 = nameofCalls2[index].ArgumentList.Arguments.Single().Expression; 1423var node = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "X1.Extension").OfType<ExpressionSyntax>().First();
Semantics\NativeIntegerTests.cs (1)
9500var expr = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression;
Semantics\NullableContextTests.cs (3)
424var syntax = syntaxTree.GetRoot().DescendantNodes().OfType<EqualsValueClauseSyntax>().First().Value; 1841var syntax = syntaxTree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().Single().Right; 1979var value = syntax.Value;
Semantics\NullableConversionTests.cs (1)
805var operand = target.Expression;
Semantics\NullableReferenceTypesTests.cs (16)
1758var interpolated = suppression.Operand; 1793var interpolated = suppression.Operand; 1798private static void VerifyTypeInfo(SemanticModel model, ExpressionSyntax expression, string expectedType, string expectedConvertedType) 1844var literal = suppression.Operand; 1967var methodGroup = suppression.Operand; 2280var lambda = suppression.Operand; 2319var lambda = suppression.Operand; 2352var lambda = suppression.Operand; 2385var lambda = suppression.Operand; 7774SyntaxFactory.SeparatedList<ExpressionSyntax>( 71941var discard1 = arguments.First().Expression; 71946var discard2 = arguments.Skip(1).First().Expression; 71951var discard3 = arguments.Skip(2).First().Expression; 71956var discard4 = arguments.Skip(3).First().Expression; 71999var discard2 = arguments.Skip(1).First().Expression; 146521var replaceWith = cast.Expression;
Semantics\ObjectAndCollectionInitializerTests.cs (6)
3701foreach (var expression in listInitializer.Expressions) 3751foreach (var expression in listInitializer.Expressions) 3795foreach (var expression in listInitializer.Expressions) 4248var right = assignment.Right; 4281var propertyAccess = tree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().First().Left; 4302var right = assignment.Right;
Semantics\OperatorTests.cs (14)
7490select ((ExpressionSyntax)(node as PrefixUnaryExpressionSyntax)) ?? node as PostfixUnaryExpressionSyntax). 7534ExpressionSyntax node1, 7535ExpressionSyntax node2, 7536ExpressionSyntax node3, 7537ExpressionSyntax node4 7706select ((ExpressionSyntax)(node as PrefixUnaryExpressionSyntax)) ?? node as PostfixUnaryExpressionSyntax). 8073ExpressionSyntax node1, 8074ExpressionSyntax node2, 8075ExpressionSyntax node3, 8076ExpressionSyntax node4, 8077ExpressionSyntax node5, 8078ExpressionSyntax node6, 8079ExpressionSyntax node7, 8080ExpressionSyntax node8
Semantics\QueryTests.cs (7)
2246var e2 = e.Parent as ExpressionSyntax; // w+1 3376var assem2 = 3379.OfType<ExpressionSyntax>() 3385var assem1 = 3388.OfType<ExpressionSyntax>() 3476var selectExpression = (q.Body.SelectOrGroup as SelectClauseSyntax).Expression;
Semantics\RawInterpolationTests_Handler.cs (2)
2902var interpolatedString = 2903(ExpressionSyntax)descendentNodes.OfType<BinaryExpressionSyntax>()
Semantics\RecordStructTests.cs (2)
2379var x = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 2403var x = tree.GetRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression;
Semantics\RefFieldTests.cs (1)
12048var expr = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression;
Semantics\RefLocalsAndReturnsTests.cs (13)
4754var left = ((ElementAccessExpressionSyntax)assignment.Left).Expression; 4757var right = ((RefExpressionSyntax)assignment.Right).Expression; 4782var left = ((PrefixUnaryExpressionSyntax)assignment.Left).Operand; 4785var right = ((RefExpressionSyntax)assignment.Right).Expression; 4810var left = ((ElementAccessExpressionSyntax)assignment.Left).Expression; 4813var right = ((RefExpressionSyntax)assignment.Right).Expression; 4838var left = ((MakeRefExpressionSyntax)((RefValueExpressionSyntax)assignment.Left).Expression).Expression; 4841var right = ((RefExpressionSyntax)assignment.Right).Expression; 4866var left = ((ElementAccessExpressionSyntax)assignment.Left).Expression; 4869var right = ((RefExpressionSyntax)assignment.Right).Expression; 4894var left = ((MemberAccessExpressionSyntax)assignment.Left).Expression; 4897var right = ((RefExpressionSyntax)assignment.Right).Expression; 4931var right = ((RefExpressionSyntax)assignment.Right).Expression;
Semantics\ScriptSemanticsTests.cs (5)
244var syntax = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ExpressionSyntax>().First(); 491var expr = (((tree. 561var syntax = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ExpressionSyntax>().First();
Semantics\SemanticErrorTests.cs (1)
3330var callExpr = callStmt.Expression;
Semantics\SuppressAccessibilityChecksTests.cs (4)
75var exp = SyntaxFactory.ParseExpression("new A().M()._num"); 123var expr = (ExpressionSyntax)tree.GetCompilationUnitRoot().DescendantNodes().OfType<SimpleLambdaExpressionSyntax>().Single().Body; 174var speculativeInvocation = SyntaxFactory.ParseExpression("new A().InternalExtension(67)");
Semantics\TargetTypedDefaultTests.cs (2)
2484var expressionSyntax = SyntaxFactory.ParseExpression("default"); 3717var defaultValue = parameter.Default.Value;
Semantics\UnsafeTests.cs (12)
7848var receiverSyntax = syntax.Expression; 7915var receiverSyntax = syntax.Expression; 8161var receiverSyntax = syntax.Expression; 8162var indexSyntax = syntax.ArgumentList.Arguments.Single().Expression; 8228var receiverSyntax = syntax.Expression; 8229var indexSyntax = syntax.ArgumentList.Arguments.Single().Expression; 8286var receiverSyntax = syntax.Expression; 8287var indexSyntax = syntax.ArgumentList.Arguments.Single().Expression; 8347var node = (ExpressionSyntax)nullSyntax.Parent; 8383var value = declarationSyntax.Variables.Single().Initializer.Value; 11308var countSyntax = arrayTypeSyntax.RankSpecifiers.Single().Sizes.Single();
Semantics\Utf8StringsLiteralsTests.cs (13)
2970var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 2998var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3026var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3054var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3082var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3110var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3138var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3166var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3194var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3222var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3250var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3278var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression; 3306var node = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression;
Semantics\ValueTupleTests.cs (10)
673var firstTupleArgExpr = tupleExpression.Arguments[0].Expression; 678var secondTupleArgExpr = tupleExpression.Arguments[1].Expression; 713var firstTupleArgExpr = tupleExpression.Arguments[0].Expression; 718var secondTupleArgExpr = tupleExpression.Arguments[1].Expression; 754var firstTupleArgExpr = tupleExpression.Arguments[0].Expression; 759var secondTupleArgExpr = tupleExpression.Arguments[1].Expression; 796var firstTupleArgExpr = tupleExpression.Arguments[0].Expression; 801var secondTupleArgExpr = tupleExpression.Arguments[1].Expression; 836var firstTupleArgExpr = tupleExpression.Arguments[0].Expression; 841var secondTupleArgExpr = tupleExpression.Arguments[1].Expression;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (314)
Compilation\GetSemanticInfoBrokenCodeTests.cs (8)
50var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 73var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 96var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 109foreach (var expr in GetAllExpressions(tree.GetCompilationUnitRoot())) 362foreach (var expr in GetAllExpressions(tree.GetCompilationUnitRoot())) 373foreach (var expr in GetAllExpressions(node)) 382private static IEnumerable<ExpressionSyntax> GetAllExpressions(SyntaxNode node) 384return node.DescendantNodesAndSelf(descendIntoTrivia: true).OfType<ExpressionSyntax>();
Compilation\GetSemanticInfoTests.cs (102)
42var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 73var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 102var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 136var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 165var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 191var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 248var v1 = (mainStats[0] as ExpressionStatementSyntax).Expression; 252var v2 = (mainStats[1] as ExpressionStatementSyntax).Expression; 261var v6 = (mainStats[5] as ExpressionStatementSyntax).Expression; 299var arg = call.ArgumentList.Arguments[0].Expression; 380var v1 = ((mainStats[1] as ExpressionStatementSyntax).Expression as AssignmentExpressionSyntax).Right; 383var v2 = (mainStats[2] as ExpressionStatementSyntax).Expression; 386var v3 = ((mainStats[3] as ExpressionStatementSyntax).Expression as AssignmentExpressionSyntax).Right; 390var v4 = ((mainStats[4] as ExpressionStatementSyntax).Expression as AssignmentExpressionSyntax).Right; 483var v1 = ((mainStats[1] as ExpressionStatementSyntax).Expression as AssignmentExpressionSyntax).Right; 486var v2 = ((mainStats[3] as ExpressionStatementSyntax).Expression as AssignmentExpressionSyntax).Right; 489var v3 = ((mainStats[4] as ExpressionStatementSyntax).Expression as AssignmentExpressionSyntax).Right; 543var v3 = (mainStats[3] as ExpressionStatementSyntax).Expression; 596var exprs = GetBindingNodes<ExpressionSyntax>(comp); 597var expr1 = exprs.First(); 598var expr2 = exprs.Last(); 629var exprs = GetBindingNodes<ExpressionSyntax>(comp); 630var expr1 = exprs.First(); 645private void CheckIsAssignableTo(SemanticModel model, ExpressionSyntax syntax) 842private void ConversionTestHelper(SemanticModel semanticModel, ExpressionSyntax expr, ConversionKind ept1, ConversionKind ept2) 869private void ConversionTestHelper(SemanticModel semanticModel, ExpressionSyntax expr, ITypeSymbol expsym, ConversionKind expkind) 975var condition = ifStatement.Condition; 999var condition = forStatement.Condition; 1024var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1055var exprSyntaxToBind = exprSyntaxList[exprSyntaxList.Count - 2]; 1138var expr = ((ExpressionStatementSyntax)stmt.Statement).Expression; 1163var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1192var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1216var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1239var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1265var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1293var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1321var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1348var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1375var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1411var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1449var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1487var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1523var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1554var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1576var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1604var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1629var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1668var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1700var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1735var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1770var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1806var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1842var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1912var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1948var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 1984var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2020var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2055var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2226var exprSyntaxToBind = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2326var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2392var exprs = GetBindingNodes<ExpressionSyntax>(comp); 2395var expr = exprs[i]; 2451var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2479var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2508var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2537var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2722var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2793var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2839var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2870var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2930var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 2963var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3022var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3055var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3096var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3129var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3170var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3203var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3246var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3273var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3333var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3399var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3472var argexpr = expr.ArgumentList.Arguments.Single().Expression; 3526var argexpr = expr.ArgumentList.Arguments.Single().Expression; 3552var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3757var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3786var syntax = SyntaxFactory.ParseExpression(" C.M"); //Leading trivia was significant for triggering an assert before the fix. 3819var syntax = SyntaxFactory.ParseExpression(" C.M"); //Leading trivia was significant for triggering an assert before the fix. 3846var syntax = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3872var syntax = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 3913var syntax = SyntaxFactory.ParseExpression(" a.P"); //Leading trivia was significant for triggering an assert before the fix. 3953var syntax = SyntaxFactory.ParseExpression(" a.P"); //Leading trivia was significant for triggering an assert before the fix. 3998var syntax = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 4038var originalSyntax = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 4066var speculativeSyntax = SyntaxFactory.ParseExpression("fields.Any((field => field.IsStatic))"); //cast removed 4322var speculativeSyntax = SyntaxFactory.ParseExpression("new List { 1, 2 }"); 4376var syntax = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 4537var nestedTypeAccessSyntax = methodAccessSyntax.Expression; 4876var newSyntax = SyntaxFactory.ParseExpression("Instance.GetList().OfType<D>().Any()"); 5720var methodGroupSyntax = tree.GetRoot().DescendantNodes().OfType<ArgumentSyntax>().Single().Expression; 6012var syntax = SyntaxFactory.ParseExpression("base");
Compilation\GetUnusedImportDirectivesTests.cs (1)
93var syntax = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression;
Compilation\IndexedProperties_BindingTests.cs (1)
139var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree));
Compilation\SemanticModelAPITests.cs (40)
1421var expr = equalsValue.Value; 1456var initializer = equalsValue.Value; 1463var expr = newEqualsValue.Value; 1502var paramDefaultArg = equalsValue.Value; 1511var expr = newEqualsValue.Value; 1552var paramDefaultArg = equalsValue.Value; 1559var binaryExpr = newEqualsValue.Value; 1590var paramDefaultArg = equalsValue.Value; 1599var expr = newEqualsValue.Value; 1680var expr = newExpressionBody.Expression; 1798var arg = call.ArgumentList.Arguments[0].Expression; 1805var arg2 = call2.ArgumentList.Arguments[0].Expression; 2031var expr = newSyntax.Value; 2091var newArgument = SyntaxFactory.ParseExpression("1"); 2221var expression = statement.Declaration.Variables[0].Initializer.Value; 2269var initializer = declarator.Initializer.Value; 2404var arg = call.ArgumentList.Arguments[0].Expression; 2412var arg2 = call2.ArgumentList.Arguments[0].Expression; 3290var method1 = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3302var method2 = statementSyntax.DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3331var method1 = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3343var method2 = statementSyntax.DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3372var method1 = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3377var statementSyntax = SyntaxFactory.ParseExpression("TakesOut(out int x)"); 3406var method1 = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3419var method2 = statementSyntax.DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3448var method1 = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3460var method2 = statementSyntax.DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3489var method1 = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3501var method2 = statementSyntax.DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3530var method1 = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression; 3535var statementSyntax = SyntaxFactory.ParseExpression("Method(o is string s)"); 3942var init0 = method.Body.Statements[0].DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer.Value; 3951var init1 = method.Body.Statements[2].DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer.Value; 3958var init2 = method.Body.Statements[4].DescendantNodes().OfType<VariableDeclaratorSyntax>().Single().Initializer.Value; 4803var exprSynList = new List<ExpressionSyntax>(); 4807foreach (var exprSyn in exprSynList) 4816private static void GetExpressionSyntax(SyntaxNode node, List<ExpressionSyntax> exprSynList) 4818if (node is ExpressionSyntax) 4819exprSynList.Add(node as ExpressionSyntax);
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (13)
2398var methodGroup = invocation.Expression; 2470var init = localDecl.Declaration.Variables[0].Initializer.Value; 2618var initializer = localDecl.Declaration.Variables[0].Initializer.Value; 2674var arg = invocation.ArgumentList.Arguments[0].Expression; 2758var expr = tree.FindNodeOrTokenByKind(SyntaxKind.StringLiteralToken).Parent.FirstAncestorOrSelf<ExpressionStatementSyntax>().Expression; 3213var expr = (ExpressionSyntax)declStmt.Declaration.Variables[0].Initializer.Value; 3270var initializer = localDecl.Declaration.Variables[0].Initializer.Value; 3283var argument = invocation.ArgumentList.Arguments[0].Expression; 4089var expression = SyntaxFactory.ParseExpression("B"); 5360var valueInitializer = thingInitializer.Expressions[1]; 5546var valueInitializer = thingInitializer.Expressions[0]; 5654var valueSyntax = decl.Default?.Value;
Compilation\SemanticModelGetSemanticInfoTests.cs (44)
892var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1110var expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1144expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1174expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1204expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1230expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1257expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1285expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1312expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1353expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1391expr = GetSyntaxNodeOfTypeForBinding<ExpressionSyntax>(GetSyntaxNodeList(tree)); 1447var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1465semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1477semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1492semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1513semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1586var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1601semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1616semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(compilation); 1660Assert.Throws<ArgumentNullException>(() => model.GetSymbolInfo((ExpressionSyntax)null)); 1661Assert.Throws<ArgumentNullException>(() => model.GetTypeInfo((ExpressionSyntax)null)); 1662Assert.Throws<ArgumentNullException>(() => model.GetMemberGroup((ExpressionSyntax)null)); 1663Assert.Throws<ArgumentNullException>(() => model.GetConstantValue((ExpressionSyntax)null)); 4207var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 4238var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 5629var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(text, parseOptions: TestOptions.Regular9); 5649var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 6613var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 9153var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 9177var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 9205var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 9229var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 9259var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 9486var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 9500var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 10486var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 10515var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 10790var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 11395var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 12121var expr = GetExprSyntaxForBinding(GetExprSyntaxList(tree)); 14570var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(@" 15048var expr = (ExpressionSyntax)tree.FindNodeOrTokenByKind(SyntaxKind.ThisKeyword).Parent;
Compilation\SemanticModelGetSemanticInfoTests_LateBound.cs (28)
38var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 62var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 83var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 109var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 138var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 164var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 198var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 226var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode1); 246semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode2); 266var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 289var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(source); 316var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(source); 345var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(source); 376var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 458var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 480var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 512var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 549var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 584var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 612var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 649var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 676var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 704var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 739var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 768var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 795var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 823var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode); 854var semanticInfo = GetSemanticInfoForTest<ExpressionSyntax>(sourceCode);
DocumentationComments\DocumentationCommentIDTests.cs (1)
144var syntax = tree.GetCompilationUnitRoot().DescendantNodes().OfType<GotoStatementSyntax>().Single().Expression;
SymbolDisplay\SymbolDisplayTests.cs (3)
5740var actualThis = ((MemberAccessExpressionSyntax)invocation.Expression).Expression; 5750var escapedThis = invocation.ArgumentList.Arguments[0].Expression; 8024var variable = tree.GetRoot().DescendantNodes().OfType<ForEachVariableStatementSyntax>().Single().Variable;
Symbols\AnonymousTypesSemanticsTests.cs (3)
754var info = data.Model.GetSymbolInfo((ExpressionSyntax)data.Nodes[0]); 782var info2 = data.Model.GetSymbolInfo((ExpressionSyntax)data.Nodes[2]); 1537var tuple = GetBindingNodeAndModel<ExpressionSyntax>(comp);
Symbols\AnonymousTypesSymbolTests.cs (1)
1478var expr1 = SyntaxFactory.ParseExpression("new { x = 1, y" + i.ToString() + " = \"---\" }");
Symbols\CheckedUserDefinedOperatorsTests.cs (4)
7457var xNodeToSpeculate = SyntaxFactory.ParseExpression("-x"); 7458var yNodeToSpeculate = SyntaxFactory.ParseExpression("-y"); 7521var xNodeToSpeculate = SyntaxFactory.ParseExpression("-x"); 7522var yNodeToSpeculate = SyntaxFactory.ParseExpression("-y");
Symbols\ConversionTests.cs (8)
350var tuple = GetBindingNodeAndModel<ExpressionSyntax>(comp); 401var sourceExpression1 = (ExpressionSyntax)tree.GetCompilationUnitRoot() 407var sourceExpression2 = (ExpressionSyntax)tree.GetCompilationUnitRoot() 414ExpressionSyntax sourceExpression3 = SyntaxFactory.IdentifierName("jj"); 420ExpressionSyntax sourceExpression4 = SyntaxFactory.IdentifierName("ss"); 424ExpressionSyntax sourceExpression5 = SyntaxFactory.ParseExpression("100L");
Symbols\CovariantReturnTests.cs (1)
383if (declarator.Initializer is { Value: ExpressionSyntax right })
Symbols\ExtensionMethodTests.cs (5)
2431var expr = ((ExpressionStatementSyntax)((GlobalStatementSyntax)tree.GetCompilationUnitRoot().Members[0]).Statement).Expression; 3012var call = (ExpressionSyntax)memberAccess.Parent; 3143var firstInvocationExpression = firstInvocation.Expression; 3148var secondInvocationExpression = secondInvocation.Expression;
Symbols\FunctionPointerTypeSymbolTests.cs (4)
1158var misplacedDeclaration = 1706var varInitializer = varDecl.Variables.Single().Initializer!.Value; 1748var returnExpression = mDeclSyntax.DescendantNodes().OfType<ReturnStatementSyntax>().Single().Expression!; 1872var initializerValue = variableDeclaratorSyntax.Initializer!.Value;
Symbols\IndexerTests.cs (2)
2639foreach (var syntax in receiverSyntaxes) 2845ExpressionSyntax expr = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ElementAccessExpressionSyntax>().FirstOrDefault();
Symbols\Source\BaseClassTests.cs (2)
2032var baseY = tree.GetRoot().DescendantNodes().Where(n => n.ToString() == "y").OfType<ExpressionSyntax>().First();
Symbols\Source\DeclaringSyntaxNodeTests.cs (1)
150where TNode : ExpressionSyntax
Symbols\Source\DelegateTests.cs (1)
827ExpressionSyntax lambdaSyntax = tree.GetCompilationUnitRoot().DescendantNodes().OfType<ParenthesizedLambdaExpressionSyntax>().Single();
Symbols\Source\FileModifierTests.cs (5)
1233var cReference = tree.GetRoot().DescendantNodes().OfType<MemberAccessExpressionSyntax>().Last().Expression; 1367var cReference = tree.GetRoot().DescendantNodes().OfType<MemberAccessExpressionSyntax>().Last().Expression; 1433var cReference = tree.GetRoot().DescendantNodes().OfType<MemberAccessExpressionSyntax>().Last().Expression; 1491var cReference = tree.GetRoot().DescendantNodes().OfType<MemberAccessExpressionSyntax>().Last().Expression; 3612var invoked = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression;
Symbols\Source\NullablePublicAPITests.cs (30)
1163var oReference = ((AssignmentExpressionSyntax)newSource.Expression).Right; 1233var objectCreation = cCast.Expression; 1368var inCondition = ((BinaryExpressionSyntax)newTernary.Condition).Left; 1369var whenTrue = newTernary.WhenTrue; 1370var whenFalse = newTernary.WhenFalse; 1443var yReference = ((MemberAccessExpressionSyntax)newSource.DescendantNodes().OfType<InvocationExpressionSyntax>().Single().Expression).Expression; 2927var lhs = root.DescendantNodes().OfType<AssignmentExpressionSyntax>().Single().Left; 2964void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation expectedAnnotation) 3006void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation expectedAnnotation) 3048void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation expectedAnnotation) 3108void verifyAnnotation(ExpressionSyntax expr) 3154void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation annotation1, PublicNullableAnnotation annotation2) 3199void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation annotation) 3779var newReference = ((AssignmentExpressionSyntax)newStatement.Expression).Right; 4050var o1Ref = root.DescendantNodes().OfType<AttributeArgumentSyntax>().Last().Expression; 4053var o2Ref = root.DescendantNodes().OfType<ParameterSyntax>().Last().Default.Value; 4062var speculativeO2Ref = speculativeAttribute.DescendantNodes().OfType<AttributeArgumentSyntax>().Single().Expression; 4067var speculativeO1Ref = speculativeInitializer.Value; 4269var default0 = root.DescendantNodes().OfType<EqualsValueClauseSyntax>().ElementAt(0).Value; 4272var default1 = root.DescendantNodes().OfType<EqualsValueClauseSyntax>().ElementAt(1).Value; 4303var default0 = root.DescendantNodes().OfType<AttributeArgumentSyntax>().ElementAt(0).Expression; 4306var default1 = root.DescendantNodes().OfType<AttributeArgumentSyntax>().ElementAt(1).Expression; 4698var expression = SyntaxFactory.ParseExpression(@"M(out C c)"); 4816var receiver = memberAccesses[0].Expression; 5062var switchExpressionInput = tree.GetRoot().DescendantNodes().OfType<SwitchExpressionSyntax>().Single().GoverningExpression; 5099var binaryRight = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single().Right; 5131var binaryRight = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single().Right; 5159var binaryRightArgument = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single().Right.DescendantNodes().OfType<ArgumentSyntax>().Single().Expression; 5194var xUsage = tree.GetRoot().DescendantNodes().OfType<MemberAccessExpressionSyntax>().Single().Expression; 5229var xUsage = tree.GetRoot().DescendantNodes().OfType<MemberAccessExpressionSyntax>().Single().Expression;
Symbols\StaticAbstractMembersInInterfacesTests.cs (6)
9023var node = postfixOp != "" ? (ExpressionSyntax)tree.GetRoot().DescendantNodes().OfType<PostfixUnaryExpressionSyntax>().First() : tree.GetRoot().DescendantNodes().OfType<PrefixUnaryExpressionSyntax>().First(); 13162var node = tree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().First().Right; 13248var node = tree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().First().Left; 13370var node = tree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().First().Left; 14071var node = tree.GetRoot().DescendantNodes().OfType<AssignmentExpressionSyntax>().First().Left;
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (234)
Generated\Syntax.Test.xml.Generated.cs (16)
10385=> SyntaxFactory.ArrayRankSpecifier(SyntaxFactory.Token(SyntaxKind.OpenBracketToken), new SeparatedSyntaxList<ExpressionSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseBracketToken)); 10451=> SyntaxFactory.RangeExpression(default(ExpressionSyntax), SyntaxFactory.Token(SyntaxKind.DotDotToken), default(ExpressionSyntax)); 10526=> SyntaxFactory.AnonymousMethodExpression(new SyntaxTokenList(), SyntaxFactory.Token(SyntaxKind.DelegateKeyword), default(ParameterListSyntax), GenerateBlock(), default(ExpressionSyntax)); 10529=> SyntaxFactory.SimpleLambdaExpression(new SyntaxList<AttributeListSyntax>(), new SyntaxTokenList(), GenerateParameter(), SyntaxFactory.Token(SyntaxKind.EqualsGreaterThanToken), default(BlockSyntax), default(ExpressionSyntax)); 10535=> SyntaxFactory.ParenthesizedLambdaExpression(new SyntaxList<AttributeListSyntax>(), new SyntaxTokenList(), default(TypeSyntax), GenerateParameterList(), SyntaxFactory.Token(SyntaxKind.EqualsGreaterThanToken), default(BlockSyntax), default(ExpressionSyntax)); 10538=> SyntaxFactory.InitializerExpression(SyntaxKind.ObjectInitializerExpression, SyntaxFactory.Token(SyntaxKind.OpenBraceToken), new SeparatedSyntaxList<ExpressionSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseBraceToken)); 10724=> SyntaxFactory.GotoStatement(SyntaxKind.GotoStatement, new SyntaxList<AttributeListSyntax>(), SyntaxFactory.Token(SyntaxKind.GotoKeyword), default(SyntaxToken), default(ExpressionSyntax), SyntaxFactory.Token(SyntaxKind.SemicolonToken)); 10733=> SyntaxFactory.ReturnStatement(new SyntaxList<AttributeListSyntax>(), SyntaxFactory.Token(SyntaxKind.ReturnKeyword), default(ExpressionSyntax), SyntaxFactory.Token(SyntaxKind.SemicolonToken)); 10736=> SyntaxFactory.ThrowStatement(new SyntaxList<AttributeListSyntax>(), SyntaxFactory.Token(SyntaxKind.ThrowKeyword), default(ExpressionSyntax), SyntaxFactory.Token(SyntaxKind.SemicolonToken)); 10739=> SyntaxFactory.YieldStatement(SyntaxKind.YieldReturnStatement, new SyntaxList<AttributeListSyntax>(), SyntaxFactory.Token(SyntaxKind.YieldKeyword), SyntaxFactory.Token(SyntaxKind.ReturnKeyword), default(ExpressionSyntax), SyntaxFactory.Token(SyntaxKind.SemicolonToken)); 10748=> SyntaxFactory.ForStatement(new SyntaxList<AttributeListSyntax>(), SyntaxFactory.Token(SyntaxKind.ForKeyword), SyntaxFactory.Token(SyntaxKind.OpenParenToken), default(VariableDeclarationSyntax), new SeparatedSyntaxList<ExpressionSyntax>(), SyntaxFactory.Token(SyntaxKind.SemicolonToken), default(ExpressionSyntax), SyntaxFactory.Token(SyntaxKind.SemicolonToken), new SeparatedSyntaxList<ExpressionSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseParenToken), GenerateBlock()); 10757=> SyntaxFactory.UsingStatement(new SyntaxList<AttributeListSyntax>(), default(SyntaxToken), SyntaxFactory.Token(SyntaxKind.UsingKeyword), SyntaxFactory.Token(SyntaxKind.OpenParenToken), default(VariableDeclarationSyntax), default(ExpressionSyntax), SyntaxFactory.Token(SyntaxKind.CloseParenToken), GenerateBlock()); 11084=> SyntaxFactory.PragmaWarningDirectiveTrivia(SyntaxFactory.Token(SyntaxKind.HashToken), SyntaxFactory.Token(SyntaxKind.PragmaKeyword), SyntaxFactory.Token(SyntaxKind.WarningKeyword), SyntaxFactory.Token(SyntaxKind.DisableKeyword), new SeparatedSyntaxList<ExpressionSyntax>(), SyntaxFactory.Token(SyntaxKind.EndOfDirectiveToken), new bool());
IncrementalParsing\BinaryExpression.cs (3)
201var treeNode = topLevel ? GetGlobalExpressionNode(newTree) : GetExpressionNode(newTree); 205private static ExpressionSyntax GetExpressionNode(SyntaxTree newTree) 214private static ExpressionSyntax GetGlobalExpressionNode(SyntaxTree newTree)
IncrementalParsing\ChangingIdentifiers.cs (5)
241private static void MakeIncrementalNameChange(NameTypes oldStyle, NameTypes newStyle, Action<ExpressionSyntax> expressionValidator) 249Action<ExpressionSyntax> expressionValidator, bool topLevel = false, CSharpParseOptions options = null) 268var nameTree = topLevel ? GetGlobalMethodDeclarationSyntaxChange(newTree) : GetExpressionSyntaxChange(newTree); 272private static ExpressionSyntax GetExpressionSyntaxChange(SyntaxTree newTree) 280private static ExpressionSyntax GetGlobalMethodDeclarationSyntaxChange(SyntaxTree newTree)
IncrementalParsing\NodeValidators.cs (7)
20internal static void PointerNameVerification(ExpressionSyntax nameTree, string name) 27internal static void PredefinedNameVerification(ExpressionSyntax nameTree, string typeName) 34internal static void ArrayNameVerification(ExpressionSyntax nameTree, string arrayName, int numRanks) 42internal static void AliasedNameVerification(ExpressionSyntax nameTree, string alias, string name) 51internal static void DottedNameVerification(ExpressionSyntax nameTree, string left, string right) 60internal static void GenericNameVerification(ExpressionSyntax nameTree, string name, params string[] typeNames) 75internal static void BasicNameVerification(ExpressionSyntax nameTree, string name)
LexicalAndXml\PreprocessorTests.cs (1)
337var actualWarningNumber = pwd.ErrorCodes[idx++];
Parsing\DeconstructionTests.cs (10)
1895var expression = ((ExpressionStatementSyntax)statement).Expression; 1907var expression = ((ExpressionStatementSyntax)statement).Expression; 1919var expression = ((ExpressionStatementSyntax)statement).Expression; 1931var expression = ((ExpressionStatementSyntax)statement).Expression; 1948var expression = ((ExpressionStatementSyntax)statement).Expression; 1964var expression = ((ExpressionStatementSyntax)statement).Expression; 1978var expression = ((ExpressionStatementSyntax)statement).Expression; 1992var expression = ((ExpressionStatementSyntax)statement).Expression; 2008var expression = ((ExpressionStatementSyntax)statement).Expression; 2019var expression = ((ExpressionStatementSyntax)statement).Expression;
Parsing\ExpressionParsingTests.cs (82)
25private ExpressionSyntax ParseExpression(string text, ParseOptions options = null) 34var expr = this.ParseExpression(text); 429var expr = this.ParseExpression(text); 442var expr = this.ParseExpression(text); 453var expr = this.ParseExpression(text); 476var expr = this.ParseExpression(text); 509var expr = this.ParseExpression(text); 524var expr = this.ParseExpression(text); 539var expr = this.ParseExpression(text); 553var expr = this.ParseExpression(text); 566var expr = this.ParseExpression(text); 597var expr = this.ParseExpression(text, options: options); 623var expr = this.ParseExpression(text); 669var expr = this.ParseExpression(text, options); 706var expr = this.ParseExpression(text); 731var expr = this.ParseExpression(text, options: CSharpParseOptions.Default.WithLanguageVersion(LanguageVersion.CSharp5)); 764var expr = this.ParseExpression(text, options: CSharpParseOptions.Default.WithLanguageVersion(LanguageVersion.CSharp6)); 772var cons = e.WhenNotNull; 813var expr = this.ParseExpression(text); 877var expr = this.ParseExpression(text); 898var expr = this.ParseExpression(text); 919var expr = this.ParseExpression(text); 928var expr = this.ParseExpression(text); 949var expr = this.ParseExpression(text); 970var expr = this.ParseExpression(text); 995var expr = this.ParseExpression(text); 1020var expr = this.ParseExpression(text); 1045var expr = this.ParseExpression(text); 1066var expr = this.ParseExpression(text); 1091var expr = this.ParseExpression(text); 1116var expr = this.ParseExpression(text); 1137var expr = this.ParseExpression(text); 1159var expr = this.ParseExpression(text); 1182var expr = this.ParseExpression(text); 1205var expr = this.ParseExpression(text); 1233var expr = this.ParseExpression(text); 1256var expr = this.ParseExpression(text); 1280var expr = this.ParseExpression(text); 1306var expr = this.ParseExpression(text); 1330var expr = this.ParseExpression(text); 1358var expr = this.ParseExpression(text); 1836var expr = this.ParseExpression(text); 1858var expr = this.ParseExpression(text); 1882var expr = this.ParseExpression(text); 1904var expr = this.ParseExpression(text); 1924var expr = this.ParseExpression(text); 1945var expr = this.ParseExpression(text); 1976var expr = this.ParseExpression(text); 2006var expr = this.ParseExpression(text); 2031var expr = this.ParseExpression(text); 2049var expr = this.ParseExpression(text); 2067var expr = this.ParseExpression(text); 2087var expr = this.ParseExpression(text); 2107var expr = this.ParseExpression(text); 2127var expr = this.ParseExpression(text); 2149var expr = this.ParseExpression(text); 2173var expr = this.ParseExpression(text); 2200var expr = this.ParseExpression(text); 2225var expr = this.ParseExpression(text); 2252var expr = this.ParseExpression(text, options: TestOptions.Regular); 2272var expr = this.ParseExpression(text, options: TestOptions.Regular); 2293var expr = this.ParseExpression(text); 2326var expr = this.ParseExpression(text); 2359var expr = this.ParseExpression(text); 2410var expr = this.ParseExpression(text); 2450var expr = this.ParseExpression(text); 2493var expr = this.ParseExpression(text); 2538var expr = this.ParseExpression(text); 2583var expr = this.ParseExpression(text); 2632var expr = this.ParseExpression(text); 2680var expr = this.ParseExpression(text); 2728var expr = this.ParseExpression(text); 2767var expr = this.ParseExpression(text); 2820var expr = this.ParseExpression(text); 2876var expr = this.ParseExpression(text); 2931var expr = this.ParseExpression(text); 2988var expr = SyntaxFactory.ParseExpression(text); 3010var expr = this.ParseExpression(text); 3024var expr = this.ParseExpression(text); 3039var expr = this.ParseExpression(text); 3051var expr = this.ParseExpression(text); 4761var expr = this.ParseExpression(text, TestOptions.Regular.WithLanguageVersion(LanguageVersion.CSharp7_1));
Parsing\ParserErrorMessageTests.cs (1)
6579var expr = SyntaxFactory.ParseExpression(builder.ToString());
Parsing\RoundTrippingTests.cs (1)
1592var typeOfExpression = SyntaxFactory.ParseExpression(text, consumeFullText: true);
Syntax\FieldAndValueKeywordTests.cs (1)
1567var expr = syntaxTree.GetRoot().DescendantNodes().OfType<ArrowExpressionClauseSyntax>().Single().Expression;
Syntax\GreenNodeTests.cs (3)
44var expression = SyntaxFactory.ParseExpression("x"); 56var expression = SyntaxFactory.ParseExpression("(x)"); 68var expression = SyntaxFactory.ParseExpression("(1, 2)");
Syntax\SeparatedSyntaxListTests.cs (1)
52: SyntaxFactory.SeparatedList<ExpressionSyntax>();
Syntax\SyntaxFactoryTests.cs (7)
266var singleton2 = SyntaxFactory.SeparatedList((System.Collections.Generic.IEnumerable<ExpressionSyntax>)new[] { SyntaxFactory.IdentifierName("x") }); 532var syntaxNode = SyntaxFactory.ParseExpression("x is int? y: z").NormalizeWhitespace(); 537var syntaxNode2 = SyntaxFactory.ParseExpression("x is DateTime? y: z").NormalizeWhitespace(); 547var syntaxNode = SyntaxFactory.ParseExpression("x is int??y").NormalizeWhitespace(); 550var syntaxNode2 = SyntaxFactory.ParseExpression("x is DateTime??y").NormalizeWhitespace(); 553var syntaxNode3 = SyntaxFactory.ParseExpression("x is object??y").NormalizeWhitespace(); 702var expr = SyntaxFactory.ParseExpression("", options: parseOptions);
Syntax\SyntaxNodeTests.cs (63)
72var expression = SyntaxFactory.ParseExpression(text); 84var expression = SyntaxFactory.ParseExpression(text); 102var expression = SyntaxFactory.ParseExpression(text); 121var expression = SyntaxFactory.ParseExpression(text); 124var firstParens = e.FirstAncestorOrSelf<ExpressionSyntax>(n => n.Kind() == SyntaxKind.ParenthesizedExpression); 317var expr = SyntaxFactory.ParseExpression(text); 334var expr = SyntaxFactory.ParseExpression(text); 513var expr = SyntaxFactory.ParseExpression(text); 517var exprWithAnnotations = expr.ReplaceNodes(identifierNodes, (e, e2) => e2.WithAdditionalAnnotations(myAnnotation)); 627var expr = SyntaxFactory.ParseExpression(text); 644var expr = SyntaxFactory.ParseExpression(text); 1914SyntaxFactory.SeparatedList<ExpressionSyntax>(new SyntaxNodeOrToken[] { omittedArraySize, missingComma, omittedArraySize, missingComma, omittedArraySize, missingComma, omittedArraySize }), 2102var expr = SyntaxFactory.ParseExpression("a + b"); 2111var expr = SyntaxFactory.ParseExpression("a + b + c + d"); 2114var replaced = expr.ReplaceNodes( 2115expr.DescendantNodes().OfType<ExpressionSyntax>(), 2253var expr = SyntaxFactory.ParseExpression("a + b"); 2255var expr2 = expr.ReplaceToken(bToken, SyntaxFactory.ParseToken("c")); 2262var expr = SyntaxFactory.ParseExpression("a + b + c"); 2265var replaced = expr.ReplaceTokens(tokens, (tok, tok2) => d); 2379var expr = SyntaxFactory.ParseExpression("#if true\r\na + \r\n#endif\r\n + b"); 2386var expr2 = expr.ReplaceTrivia(deepTrivia, (tr, tr2) => twoSpace); 2394var expr = SyntaxFactory.ParseExpression("a + b"); 2397var expr2 = expr.ReplaceTrivia(trivia, twoSpaces); 2404var expr = SyntaxFactory.ParseExpression("a + b"); 2407var replaced = expr.ReplaceTrivia(trivia, (tr, tr2) => twoSpaces); 2414var ex = SyntaxFactory.ParseExpression("/* c */ identifier"); 2423var ex1 = ex.ReplaceTrivia(comment1, newComment1); 2426var ex2 = ex.ReplaceTrivia(comment1, new[] { newComment1, newComment2 }); 2429var ex3 = ex.ReplaceTrivia(comment1, new SyntaxTrivia[] { }); 2436var ex = SyntaxFactory.ParseExpression("/* c */ identifier"); 2445var ex1 = ex.InsertTriviaBefore(comment1, new[] { newComment1, newComment2 }); 2448var ex2 = ex.InsertTriviaAfter(comment1, new[] { newComment1, newComment2 }); 2477var expr = SyntaxFactory.ParseExpression("m(a, b, /* trivia */ c)"); 2482var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepExteriorTrivia); 2491var expr = SyntaxFactory.ParseExpression(@"m(a, b, /* trivia */ 2497var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepExteriorTrivia); 2507var expr = SyntaxFactory.ParseExpression(@"m(a, b, 2513var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepExteriorTrivia); 2523var expr = SyntaxFactory.ParseExpression(@"SomeMethod(/*arg1:*/ a, 2530var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepExteriorTrivia); 2541var expr = SyntaxFactory.ParseExpression(@"SomeMethod(// comment about a 2551var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepExteriorTrivia); 2565var expr = SyntaxFactory.ParseExpression("m(a, b, /* trivia */ c)"); 2570var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepNoTrivia); 2579var expr = SyntaxFactory.ParseExpression( 2586var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepNoTrivia); 2595var expr = SyntaxFactory.ParseExpression( 2602var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepNoTrivia); 2611var expr = SyntaxFactory.ParseExpression(@"SomeMethod(/*arg1:*/ a, 2618var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepNoTrivia); 2628var expr = SyntaxFactory.ParseExpression(@"SomeMethod(// comment about a 2638var expr2 = expr.RemoveNode(b, SyntaxRemoveOptions.KeepNoTrivia); 2650var expr = SyntaxFactory.ParseExpression("m(/* before */ a /* after */)"); 2655var expr2 = expr.RemoveNode(n, SyntaxRemoveOptions.KeepExteriorTrivia); 2664var expr = SyntaxFactory.ParseExpression("m(/* before */ a /* after */, b, c)"); 2669var expr2 = expr.RemoveNode(n, SyntaxRemoveOptions.KeepExteriorTrivia); 2678var expr = SyntaxFactory.ParseExpression("m(a, b, /* before */ c /* after */)"); 2683var expr2 = expr.RemoveNode(n, SyntaxRemoveOptions.KeepExteriorTrivia); 3879var expression = SyntaxFactory.ParseExpression(text); 3883var firstParens = e.FirstAncestorOrSelf<ExpressionSyntax>(n => n.Kind() == SyntaxKind.ParenthesizedExpression);
Syntax\SyntaxNormalizerTests.cs (2)
412var node = SyntaxFactory.ParseExpression(text.NormalizeLineEndings()); 6107var syntaxNode = SyntaxFactory.ParseExpression(expression).NormalizeWhitespace();
Syntax\SyntaxRewriterTests.cs (1)
327var node2 = SyntaxFactory.ParseExpression("2 + 2");
Syntax\SyntaxTests.cs (1)
182var expr = SyntaxFactory.ParseExpression(source, options: TestOptions.Regular);
Syntax\TrackNodeTests.cs (29)
23var expr = SyntaxFactory.ParseExpression("a + b"); 25var trackedExpr = expr.TrackNodes(a); 34var expr = SyntaxFactory.ParseExpression("a + b"); 36var trackedExpr = expr.TrackNodes(a); 46var expr = SyntaxFactory.ParseExpression("a + b"); 55var expr = SyntaxFactory.ParseExpression("a + b"); 65var expr = SyntaxFactory.ParseExpression("a + b"); 67var trackedExpr = expr.TrackNodes(originalA); 70var replacedExpr = trackedExpr.ReplaceNode(currentA, newA); 80var expr = SyntaxFactory.ParseExpression("a + b"); 82var trackedExpr = expr.TrackNodes(originalA); 85var replacedExpr = trackedExpr.ReplaceNode(currentA, newA); 96var expr = SyntaxFactory.ParseExpression("a + b"); 98var trackedExpr = expr.TrackNodes(originalA); 100var replacedExpr = trackedExpr.ReplaceNode(currentA, SyntaxFactory.IdentifierName("c")); 108var expr = SyntaxFactory.ParseExpression("a + b"); 110var trackedExpr = expr.TrackNodes(originalA); 112var replacedExpr = trackedExpr.ReplaceNode(currentA, SyntaxFactory.IdentifierName("c")); 121var expr = SyntaxFactory.ParseExpression("a + b"); 123var trackedExpr = expr.TrackNodes(originalA); 126var replacedExpr = trackedExpr.ReplaceNodes(trackedExpr.DescendantNodes().OfType<IdentifierNameSyntax>(), (original, changed) => currentA); 133var expr = SyntaxFactory.ParseExpression("a + b"); 135var trackedExpr = expr.TrackNodes(originalA); 138var replacedExpr = trackedExpr.ReplaceNodes(trackedExpr.DescendantNodes().OfType<IdentifierNameSyntax>(), (original, changed) => currentA); 148var expr = SyntaxFactory.ParseExpression("a + b + c"); 150var trackedExpr = expr.TrackNodes(ids); 166var expr = SyntaxFactory.ParseExpression("a + b + c"); 169var trackedExpr = expr.TrackNodes(); 183var expr = SyntaxFactory.ParseExpression("a + b");
Microsoft.CodeAnalysis.CSharp.Test.Utilities (24)
CompilationTestUtils.cs (12)
233if (node is ExpressionSyntax expr) 306if (node is ExpressionSyntax) 308ExpressionSyntax expr = (ExpressionSyntax)node; 492ImmutableArray<(ExpressionSyntax Expression, string Text, bool IsConverted)> getAnnotations() 494var builder = ArrayBuilder<(ExpressionSyntax, string, bool)>.GetInstance(); 509var expr = getEnclosingExpression(token); 521ExpressionSyntax getEnclosingExpression(SyntaxToken token) 526var expr = asExpression(node); 540ExpressionSyntax asExpression(SyntaxNode node) 553case ExpressionSyntax expr when expr.Parent is ConditionalAccessExpressionSyntax cond && cond.WhenNotNull == node: 556case ExpressionSyntax expr:
Extensions.cs (1)
952public static BoundExpression BindExpression(this Microsoft.CodeAnalysis.CSharp.Binder binder, ExpressionSyntax node, DiagnosticBag diagnostics)
SemanticModelTestBase.cs (11)
33protected List<ExpressionSyntax> GetExprSyntaxList(SyntaxTree syntaxTree) 38private List<ExpressionSyntax> GetExprSyntaxList(SyntaxNode node, List<ExpressionSyntax> exprSynList) 41exprSynList = new List<ExpressionSyntax>(); 43if (node is ExpressionSyntax) 45exprSynList.Add(node as ExpressionSyntax); 57protected ExpressionSyntax GetExprSyntaxForBinding(List<ExpressionSyntax> exprSynList, int index = 0) 63foreach (var exprSyntax in exprSynList) 110var constructorInitializers = node.DescendantNodesAndSelf(n => !(n is ExpressionSyntax)).Where(isConstructorInitializer); 163return GetSemanticInfoForTest<ExpressionSyntax>(testSrc);
Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests (1)
CodeGen\WinRTCollectionTests.cs (1)
7428var jsonObj = ((MemberAccessExpressionSyntax)add.Parent).Expression;
Microsoft.CodeAnalysis.CSharp.Workspaces (501)
Classification\Worker_Preprocesser.cs (1)
115private void ClassifyPreprocessorExpression(ExpressionSyntax? node)
CodeGeneration\CSharpSyntaxGenerator.cs (46)
184initializer != null ? SyntaxFactory.EqualsValueClause((ExpressionSyntax)initializer) : null)])); 200initializer != null ? SyntaxFactory.EqualsValueClause((ExpressionSyntax)initializer) : null); 907expression != null ? SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression) : null); 959? SyntaxFactory.AttributeArgument(SyntaxFactory.NameEquals(name.ToIdentifierName()), nameColon: null, (ExpressionSyntax)expression) 960: SyntaxFactory.AttributeArgument((ExpressionSyntax)expression); 968if (node is ExpressionSyntax expr) 2429return ((ParenthesizedLambdaExpressionSyntax)declaration).Body as ExpressionSyntax; 2431return ((SimpleLambdaExpressionSyntax)declaration).Body as ExpressionSyntax; 2479var expr = (ExpressionSyntax)expression; 3237=> SyntaxFactory.AssignmentExpression(SyntaxKind.AddAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)Parenthesize(handler)); 3240=> SyntaxFactory.AssignmentExpression(SyntaxKind.SubtractAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)Parenthesize(handler)); 3243=> SyntaxFactory.AwaitExpression((ExpressionSyntax)expression); 3249=> SyntaxFactory.ReturnStatement((ExpressionSyntax?)expression); 3252=> SyntaxFactory.ThrowStatement((ExpressionSyntax?)expression); 3255=> SyntaxFactory.ThrowExpression((ExpressionSyntax)expression); 3262(ExpressionSyntax)condition, 3271(ExpressionSyntax)condition, 3301if (node is ExpressionSyntax expression) 3310=> SyntaxFactory.ExpressionStatement((ExpressionSyntax)expression); 3322private static SeparatedSyntaxList<ExpressionSyntax> AsExpressionList(IEnumerable<SyntaxNode> expressions) 3323=> [.. expressions.OfType<ExpressionSyntax>()]; 3327var arrayType = SyntaxFactory.ArrayType((TypeSyntax)elementType, [SyntaxFactory.ArrayRankSpecifier([(ExpressionSyntax)size])]); 3355=> argOrExpression as ArgumentSyntax ?? SyntaxFactory.Argument((ExpressionSyntax)argOrExpression); 3358=> SyntaxFactory.InvocationExpression(CSharpSyntaxGeneratorInternal.ParenthesizeLeft((ExpressionSyntax)expression), CreateArgumentList(arguments)); 3361=> SyntaxFactory.ElementAccessExpression(CSharpSyntaxGeneratorInternal.ParenthesizeLeft((ExpressionSyntax)expression), SyntaxFactory.BracketedArgumentList(CreateArguments(arguments))); 3370=> SyntaxFactory.BinaryExpression(SyntaxKind.IsExpression, (ExpressionSyntax)Parenthesize(expression), (TypeSyntax)type); 3376=> SyntaxFactory.BinaryExpression(SyntaxKind.AsExpression, (ExpressionSyntax)Parenthesize(expression), (TypeSyntax)type); 3379=> SyntaxFactory.AssignmentExpression(SyntaxKind.SimpleAssignmentExpression, (ExpressionSyntax)left, (ExpressionSyntax)Parenthesize(right)); 3409=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.UnaryMinusExpression, (ExpressionSyntax)Parenthesize(expression)); 3430=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.BitwiseNotExpression, (ExpressionSyntax)Parenthesize(operand)); 3439=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.LogicalNotExpression, (ExpressionSyntax)Parenthesize(expression)); 3442=> SyntaxFactory.ConditionalExpression((ExpressionSyntax)Parenthesize(condition), (ExpressionSyntax)Parenthesize(whenTrue), (ExpressionSyntax)Parenthesize(whenFalse)); 3555(ExpressionSyntax)expression); 3573expression: (ExpressionSyntax)expression, 3580expression: (ExpressionSyntax)expression, 3601=> SyntaxFactory.WhileStatement((ExpressionSyntax)condition, CreateBlock(statements)); 3608(ExpressionSyntax)expression, 3616(ExpressionSyntax)expression, 3643labels = labels.AddRange(expressions.Select(e => SyntaxFactory.CaseSwitchLabel((ExpressionSyntax)e))); 3689(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 && 1223var 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(memberAccess.Expression, memberAccess.Name, semanticModel, out var newLeft, out issueSpan)) 299if (!TrySimplifyMemberAccessOrQualifiedName(qualifiedName.Left, qualifiedName.Right, semanticModel, out var newLeft, out issueSpan)) 405ExpressionSyntax left, 406ExpressionSyntax right, 408[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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\CodeStyle\TypeStyle\TypeStyleHelper.cs (5)
31ExpressionSyntax initializerExpression, 109var containingTypeName = memberName.GetLeftSideOfDot(); 120ExpressionSyntax containingTypeName, 193private static ExpressionSyntax GetRightmostInvocationExpression(ExpressionSyntax node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
174SyntaxToken token, ExpressionSyntax parentExpression, bool tokenIncludeDelimiters)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\AssignmentExpressionSyntaxExtensions.cs (1)
15var left = assignment.Left;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (4)
25[NotNullWhen(true)] out ExpressionSyntax? expression, 129block.TryConvertToExpressionBody(languageVersion, preference, cancellationToken, out var expression, out semicolonToken)) 170ExpressionSyntax expression, ExpressionBodyPreference preference) 181private static bool TryGetExpression(StatementSyntax firstStatement, LanguageVersion languageVersion, [NotNullWhen(true)] out ExpressionSyntax? expression, out SyntaxToken semicolonToken)
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(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(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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (15)
32var expression = node.Expression; 39var parentExpression = nodeParent.IsKind(SyntaxKind.ConstantPattern) 40? nodeParent.Parent as ExpressionSyntax 41: nodeParent as ExpressionSyntax; 285for (var current = expression; current != null; current = current.ChildNodes().FirstOrDefault() as ExpressionSyntax) 341ParenthesizedExpressionSyntax node, ExpressionSyntax expression, 409ParenthesizedExpressionSyntax node, ExpressionSyntax parentExpression, SemanticModel semanticModel) 411var expression = node.Expression; 542var expression = node.Expression; 634private static bool IsPreviousExpressionPotentiallyAmbiguous(ExpressionSyntax node) 636ExpressionSyntax? previousExpression = null; 669private static bool IsNextExpressionPotentiallyAmbiguous(ExpressionSyntax node) 671ExpressionSyntax? nextExpression = null; 703private static bool IsSimpleOrDottedName(ExpressionSyntax expression)
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: 353this SemanticModel semanticModel, ExpressionSyntax expression, 359var current = expression; 430SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 432var topExpression = expression.WalkUpParentheses();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SimpleNameSyntaxExtensions.cs (1)
14public static ExpressionSyntax GetLeftSideOfDot(this SimpleNameSyntax name)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
178return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 404var expression = initializer.Expressions[0];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
352foreach (var errorCode in pragmaWarningDirectiveTrivia.ErrorCodes)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpExpressionPrecedenceService.cs (2)
12internal sealed class CSharpExpressionPrecedenceService : AbstractCSharpPrecedenceService<ExpressionSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
19internal sealed class CSharpRefactoringHelpers : AbstractRefactoringHelpers<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (11)
42=> (node as ExpressionSyntax).IsWrittenTo(semanticModel, cancellationToken); 45=> (node as ExpressionSyntax).IsOnlyWrittenTo(); 48=> (node as ExpressionSyntax).IsInOutContext(); 51=> (node as ExpressionSyntax).IsInRefContext(); 54=> (node as ExpressionSyntax).IsInInContext(); 57=> (expression as ExpressionSyntax).CanReplaceWithRValue(semanticModel, cancellationToken); 185=> semanticModel.GetCollectionInitializerSymbolInfo((ExpressionSyntax)node, cancellationToken); 370=> (node as ExpressionSyntax).IsInsideNameOfExpression(semanticModel, cancellationToken); 397=> semanticModel.GenerateNameForExpression((ExpressionSyntax)expression, capitalize, cancellationToken); 447var expression = simpleName.Parent switch 451_ => (ExpressionSyntax)simpleName,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (7)
179=> node is ExpressionSyntax expression ? SyntaxFactory.GetStandaloneExpression(expression) : node; 577=> SyntaxFacts.IsInNamespaceOrTypeContext(node as ExpressionSyntax); 605=> (node as ExpressionSyntax).IsInConstantContext(); 1077=> (node as ExpressionSyntax).IsLeftSideOfDot(); 1095=> (node as ExpressionSyntax).IsLeftSideOfAssignExpression(); 1098=> (node as ExpressionSyntax).IsLeftSideOfAnyAssignExpression(); 1101=> (node as ExpressionSyntax).IsLeftSideOfCompoundAssignExpression();
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, 617ExpressionSyntax castNode, 682ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, SemanticModel semanticModel, CancellationToken cancellationToken) 768ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 769ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, 836ExpressionSyntax castNode, SemanticModel originalSemanticModel, 837ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 861ExpressionSyntax castNode, SemanticModel originalSemanticModel, 862ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 890ExpressionSyntax castNode, 892ExpressionSyntax rewrittenExpression, 894Func<ExpressionSyntax, TConditionalOrSwitchExpression?> getConditionalOrSwitchExpression, 895Func<TConditionalOrSwitchExpression, ImmutableArray<ExpressionSyntax>> getArmExpressions, 896Func<TConditionalOrSwitchExpression, ExpressionSyntax, ExpressionSyntax?> getAlternativeArm, 898where TConditionalOrSwitchExpression : ExpressionSyntax 903var parentExpression = castExpression.WalkUpParentheses(); 928foreach (var armExpression in getArmExpressions(originalConditionalOrSwitchExpression)) 984var otherSide = getAlternativeArm(originalConditionalOrSwitchExpression, parentExpression); 1040ExpressionSyntax expression, 1114=> node is ExpressionSyntax expression && expression.WalkDownParentheses().Kind() is SyntaxKind.CastExpression or SyntaxKind.AsExpression; 1118ExpressionSyntax castOrAsNode, 1142var parent = castOrAsNode.WalkUpParentheses(); 1175ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 1243private static bool IsFieldOrArrayElement(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1250ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 1263ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1316ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1350ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1381ExpressionSyntax rewrittenExpression, 1490ExpressionSyntax rewrittenExpression, 1532ExpressionSyntax expression, 1624ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1647private static (SemanticModel? rewrittenSemanticModel, ExpressionSyntax? rewrittenExpression) GetSemanticModelWithCastRemoved( 1648ExpressionSyntax castNode, 1649ExpressionSyntax castedExpressionNode, 1655var rewrittenExpression = analyzer.ReplacedExpression;
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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
79SyntaxToken identifier, TypeSyntax typeName, ExpressionSyntax initializer, SemanticModel semanticModel, CSharpSimplifierOptions options, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
77var initializerExpression = CSharpUseImplicitTypeHelper.GetInitializerExpression(initializer.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
143ExpressionSyntax initializer,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
252ExpressionSyntax initializer, 257var expression = GetInitializerExpression(initializer); 328internal static ExpressionSyntax GetInitializerExpression(ExpressionSyntax initializer) 330var current = (initializer as RefExpressionSyntax)?.Expression ?? initializer;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (1)
15if (argument is ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
100ExpressionSyntax GenerateAttributeSyntax(TypedConstant constant)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
636if (anonymousFunctionSyntax.ExpressionBody is ExpressionSyntax expressionBody)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
26var expression = ExpressionGenerator.GenerateNonEnumValueExpression(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
64var value = CreateEnumMemberValue(destination, enumMember); 72private static ExpressionSyntax? CreateEnumMemberValue( 117var lastExpression = lastMember.EqualsValue!.Value;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (18)
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) 94: (ExpressionSyntax)CSharpSyntaxGeneratorInternal.Instance.DefaultExpression(type), 97private static ExpressionSyntax GenerateBooleanLiteralExpression(bool val) 104private static ExpressionSyntax GenerateStringLiteralExpression(string val) 111private static ExpressionSyntax GenerateCharLiteralExpression(char val) 172private static ExpressionSyntax GenerateDoubleLiteralExpression(ITypeSymbol? type, double value, bool canUseFieldReference) 201private static ExpressionSyntax GenerateSingleLiteralExpression(ITypeSymbol? type, float value, bool canUseFieldReference) 230private static ExpressionSyntax GenerateNonNegativeLiteralExpression<T>( 241private static ExpressionSyntax GenerateLiteralExpression<T>( 251var result = GenerateFieldReference(type, value, constants); 278private static ExpressionSyntax? GenerateFieldReference<T>(ITypeSymbol? type, T value, IEnumerable<KeyValuePair<T, string>> constants) 285var memberAccess = GenerateMemberAccess("System", typeof(T).Name); 299private static ExpressionSyntax GenerateMemberAccess(params ReadOnlySpan<string> names) 301ExpressionSyntax result = IdentifierName(GlobalKeyword);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (1)
95var initializer = CodeGenerationFieldInfo.GetInitializer(field) is ExpressionSyntax initializerNode
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (1)
110private static ExpressionSyntax GenerateEqualsValueClauseWorker(IParameterSymbol parameter, object? value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\PropertyGenerator.cs (1)
115var initializer = CodeGenerationPropertyInfo.GetInitializer(property) is ExpressionSyntax initializerNode
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeRefactorings\CSharpRefactoringHelpersService.cs (1)
16internal sealed class CSharpRefactoringHelpersService() : AbstractRefactoringHelpersService<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (2)
52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CastExpressionSyntaxExtensions.cs (2)
15public static ExpressionSyntax Uncast(this CastExpressionSyntax node) 28var resultNode = node.Expression
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
281var expr = parenExpr.Expression;
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (11)
18public static ExpressionSyntax Parenthesize( 19this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 49var result = ParenthesizeWorker(expression, includeElasticTrivia); 55private static ExpressionSyntax ParenthesizeWorker( 56this ExpressionSyntax expression, bool includeElasticTrivia) 58var withoutTrivia = expression.WithoutTrivia(); 87this ExpressionSyntax expression, 90var parenthesized = expression.Parenthesize(); 101public static ExpressionSyntax CastIfPossible( 102this ExpressionSyntax expression, 167this ExpressionSyntax name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (1)
21public static ITypeSymbol DetermineParameterType(ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
27public static ExpressionSyntax GenerateExpressionSyntax(this ITypeSymbol typeSymbol, bool nameSyntax = false)
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
99[.. Enumerable.Repeat<ExpressionSyntax>(OmittedArraySizeExpression(), arrayType.Rank)]));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (2)
112=> semanticModel.ClassifyConversion((ExpressionSyntax)expression, destination).ToCommonConversion(); 119ExpressionSyntax? expression = null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (23)
63=> SyntaxFactory.EqualsValueClause(operatorToken, (ExpressionSyntax)value); 71expression == null ? null : SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression))]); 78=> SyntaxFactory.ConditionalAccessExpression((ExpressionSyntax)expression, (ExpressionSyntax)whenNotNull); 84=> SyntaxFactory.RefExpression((ExpressionSyntax)expression); 92ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 98=> SyntaxFactory.YieldStatement(SyntaxKind.YieldReturnStatement, (ExpressionSyntax)expression); 120=> SyntaxFactory.Interpolation((ExpressionSyntax)syntaxNode); 123=> SyntaxFactory.InterpolationAlignmentClause(CommaToken, (ExpressionSyntax)alignment); 200(ExpressionSyntax)expression, 208=> SyntaxFactory.ConstantPattern((ExpressionSyntax)expression); 216=> SyntaxFactory.RelationalPattern(LessThanToken, (ExpressionSyntax)expression); 219=> SyntaxFactory.RelationalPattern(LessThanEqualsToken, (ExpressionSyntax)expression); 222=> SyntaxFactory.RelationalPattern(GreaterThanToken, (ExpressionSyntax)expression); 225=> SyntaxFactory.RelationalPattern(GreaterThanEqualsToken, (ExpressionSyntax)expression); 245=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)Parenthesize(expression)).WithAdditionalAnnotations(Simplifier.Annotation); 303ParenthesizeLeft((ExpressionSyntax)expression), 310internal static ExpressionSyntax ParenthesizeLeft(ExpressionSyntax expression) 325return (ExpressionSyntax)Parenthesize(expression); 332=> SyntaxFactory.BinaryExpression(syntaxKind, (ExpressionSyntax)Parenthesize(left), (ExpressionSyntax)Parenthesize(right)); 338=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)Parenthesize(expression)).WithAdditionalAnnotations(Simplifier.Annotation);
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; 944private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 992var otherSide = onRightOfToken ? left : right; 1079private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1111ExpressionSyntax expressionOpt = null, 1166private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1247private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1274private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1300ExpressionSyntax expressionOpt = null, 1345foreach (var sibling in initializerExpression.Expressions.Where(e => e.Kind() != SyntaxKind.ComplexElementInitializerExpression)) 1372foreach (var sibling in initializerExpression.Expressions) 1685ExpressionSyntax expressionOpt = null, 1757var argumentExpression = invocation.ArgumentList.Arguments[0].Expression; 1880var argumentExpression = attributeArgumentSyntax.Expression; 2238private IEnumerable<TypeInferenceInfo> InferTypeInVariableComponentAssignment(ExpressionSyntax left) 2305var expr = arg.Expression;
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.Workspaces.UnitTests (8)
CodeGeneration\SyntaxGeneratorTests.cs (7)
2934method = method.WithExpressionBody(ArrowExpressionClause((ExpressionSyntax)Generator.IdentifierName("x"))); 2947getAccessor = getAccessor.WithExpressionBody(ArrowExpressionClause((ExpressionSyntax)Generator.IdentifierName("x"))); 2951setAccessor = setAccessor.WithExpressionBody(ArrowExpressionClause((ExpressionSyntax)Generator.InvocationExpression(Generator.IdentifierName("x")))); 3449method = method.WithExpressionBody(ArrowExpressionClause((ExpressionSyntax)Generator.IdentifierName("x"))); 3456local = local.WithExpressionBody(ArrowExpressionClause((ExpressionSyntax)Generator.IdentifierName("x"))); 3485method = method.WithExpressionBody(ArrowExpressionClause((ExpressionSyntax)Generator.IdentifierName("x"))); 3492local = local.WithExpressionBody(ArrowExpressionClause((ExpressionSyntax)Generator.IdentifierName("x")));
EmbeddedLanguages\VirtualChars\CSharpVirtualCharServiceTests.cs (1)
26var expression = parsedStatement.Declaration.Variables[0].Initializer!.Value;
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (1)
CodeGeneration\AbstractCodeGenerationTests.cs (1)
94var expression = simplifiedRootNode.DescendantNodes().OfType<EqualsValueClauseSyntax>().First().Value;
Microsoft.CodeAnalysis.UnitTests (6)
CommonSyntaxTests.cs (6)
208var expr = CSharp.SyntaxFactory.ParseExpression("a + b + c + d"); 212var trackedExpr = expr.TrackNodes(exprB); 216nodes: trackedExpr.DescendantNodes().OfType<CSharp.Syntax.ExpressionSyntax>(), 229var expr = CSharp.SyntaxFactory.ParseExpression("a + b + c + d"); 233var trackedExpr = expr.TrackNodes(exprB); 239nodes: trackedExpr.DescendantNodes().OfType<CSharp.Syntax.ExpressionSyntax>(),
Microsoft.CodeAnalysis.Workspaces.UnitTests (7)
SyntaxPathTests.cs (6)
40var node = SyntaxFactory.ParseExpression("Goo()"); 50var root = SyntaxFactory.ParseExpression("Goo(a, b)"); 53var root2 = SyntaxFactory.ParseExpression("Goo(a)"); 60var root = SyntaxFactory.ParseExpression("Goo(a)"); 63var root2 = SyntaxFactory.ParseExpression("Goo(3)"); 70var root = SyntaxFactory.ParseExpression("Goo()");
SyntaxReferenceTests.cs (1)
154var node = binary.Right;
Microsoft.Interop.ComInterfaceGenerator (5)
Analyzers\RuntimeComApiUsageWithSourceGeneratedComAnalyzer.cs (1)
211var expression = invocationSyntax.Expression;
ComClassGenerator.cs (1)
145new ExpressionSyntax[]
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 (7)
Analyzers\ConvertToLibraryImportFixer.cs (2)
613ExpressionSyntax typeOfExpression = (ExpressionSyntax)generator.TypeOfExpression(generator.TypeExpression(callingConventionType));
LibraryImportGenerator.cs (5)
501ExpressionSyntax value = CreateEnumExpressionSyntax(CharSet.Unicode); 508ExpressionSyntax value = CreateBoolExpressionSyntax(target.SetLastError); 517static ExpressionSyntax CreateBoolExpressionSyntax(bool trueOrFalse) 525static ExpressionSyntax CreateStringExpressionSyntax(string str) 532static ExpressionSyntax CreateEnumExpressionSyntax<T>(T value) where T : Enum
Microsoft.Interop.LibraryImportGenerator.Downlevel (4)
DownlevelLibraryImportGenerator.cs (4)
376ExpressionSyntax value = MemberAccessExpression( 386ExpressionSyntax value = CreateBoolExpressionSyntax(target.SetLastError); 395static ExpressionSyntax CreateBoolExpressionSyntax(bool trueOrFalse) 403static 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);
Microsoft.VisualStudio.LanguageServices.CSharp (11)
CodeModel\CSharpCodeModelService.CodeModelEventCollector.cs (2)
133private bool CompareExpressions(ExpressionSyntax oldExpression, ExpressionSyntax newExpression)
CodeModel\CSharpCodeModelService.cs (3)
2934var expression = SyntaxFactory.ParseExpression(value); 2951var expression = SyntaxFactory.ParseExpression(value); 2968var expression = SyntaxFactory.ParseExpression(value);
CodeModel\MethodXml\MethodXmlBuilder.cs (6)
154private bool TryGenerateExpression(ExpressionSyntax expression) 162private bool TryGenerateExpressionSansTag(ExpressionSyntax expression) 231private bool TryGenerateLiteral(ExpressionSyntax expression) 282private bool TryGenerateCharLiteral(ExpressionSyntax expression) 443foreach (var size in rankSpecifier.Sizes) 465foreach (var expression in initializerExpression.Expressions)
Roslyn.Diagnostics.CSharp.Analyzers (346)
CSharpExposeMemberForTesting.cs (1)
53return SyntaxFactory.RefExpression((ExpressionSyntax)expression);
PreferNullLiteralCodeFixProvider.cs (1)
53ExpressionSyntax newSyntax = SyntaxFactory.LiteralExpression(SyntaxKind.NullLiteralExpression);
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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
174SyntaxToken token, ExpressionSyntax parentExpression, bool tokenIncludeDelimiters)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\AssignmentExpressionSyntaxExtensions.cs (1)
15var left = assignment.Left;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (4)
25[NotNullWhen(true)] out ExpressionSyntax? expression, 129block.TryConvertToExpressionBody(languageVersion, preference, cancellationToken, out var expression, out semicolonToken)) 170ExpressionSyntax expression, ExpressionBodyPreference preference) 181private static bool TryGetExpression(StatementSyntax firstStatement, LanguageVersion languageVersion, [NotNullWhen(true)] out ExpressionSyntax? expression, out SyntaxToken semicolonToken)
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(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(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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (15)
32var expression = node.Expression; 39var parentExpression = nodeParent.IsKind(SyntaxKind.ConstantPattern) 40? nodeParent.Parent as ExpressionSyntax 41: nodeParent as ExpressionSyntax; 285for (var current = expression; current != null; current = current.ChildNodes().FirstOrDefault() as ExpressionSyntax) 341ParenthesizedExpressionSyntax node, ExpressionSyntax expression, 409ParenthesizedExpressionSyntax node, ExpressionSyntax parentExpression, SemanticModel semanticModel) 411var expression = node.Expression; 542var expression = node.Expression; 634private static bool IsPreviousExpressionPotentiallyAmbiguous(ExpressionSyntax node) 636ExpressionSyntax? previousExpression = null; 669private static bool IsNextExpressionPotentiallyAmbiguous(ExpressionSyntax node) 671ExpressionSyntax? nextExpression = null; 703private static bool IsSimpleOrDottedName(ExpressionSyntax expression)
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: 353this SemanticModel semanticModel, ExpressionSyntax expression, 359var current = expression; 430SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 432var topExpression = expression.WalkUpParentheses();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SimpleNameSyntaxExtensions.cs (1)
14public static ExpressionSyntax GetLeftSideOfDot(this SimpleNameSyntax name)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
178return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 404var expression = initializer.Expressions[0];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (1)
352foreach (var errorCode in pragmaWarningDirectiveTrivia.ErrorCodes)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpExpressionPrecedenceService.cs (2)
12internal sealed class CSharpExpressionPrecedenceService : AbstractCSharpPrecedenceService<ExpressionSyntax> 20public override OperatorPrecedence GetOperatorPrecedence(ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
19internal sealed class CSharpRefactoringHelpers : AbstractRefactoringHelpers<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (9)
42=> (node as ExpressionSyntax).IsWrittenTo(semanticModel, cancellationToken); 45=> (node as ExpressionSyntax).IsOnlyWrittenTo(); 48=> (node as ExpressionSyntax).IsInOutContext(); 51=> (node as ExpressionSyntax).IsInRefContext(); 54=> (node as ExpressionSyntax).IsInInContext(); 57=> (expression as ExpressionSyntax).CanReplaceWithRValue(semanticModel, cancellationToken); 185=> semanticModel.GetCollectionInitializerSymbolInfo((ExpressionSyntax)node, cancellationToken); 370=> (node as ExpressionSyntax).IsInsideNameOfExpression(semanticModel, cancellationToken); 397=> semanticModel.GenerateNameForExpression((ExpressionSyntax)expression, capitalize, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (7)
179=> node is ExpressionSyntax expression ? SyntaxFactory.GetStandaloneExpression(expression) : node; 577=> SyntaxFacts.IsInNamespaceOrTypeContext(node as ExpressionSyntax); 605=> (node as ExpressionSyntax).IsInConstantContext(); 1077=> (node as ExpressionSyntax).IsLeftSideOfDot(); 1095=> (node as ExpressionSyntax).IsLeftSideOfAssignExpression(); 1098=> (node as ExpressionSyntax).IsLeftSideOfAnyAssignExpression(); 1101=> (node as ExpressionSyntax).IsLeftSideOfCompoundAssignExpression();
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, 617ExpressionSyntax castNode, 682ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, SemanticModel semanticModel, CancellationToken cancellationToken) 768ExpressionSyntax castNode, IConversionOperation originalConversionOperation, 769ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, 836ExpressionSyntax castNode, SemanticModel originalSemanticModel, 837ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 861ExpressionSyntax castNode, SemanticModel originalSemanticModel, 862ExpressionSyntax rewrittenExpression, SemanticModel rewrittenSemanticModel, CancellationToken cancellationToken) 890ExpressionSyntax castNode, 892ExpressionSyntax rewrittenExpression, 894Func<ExpressionSyntax, TConditionalOrSwitchExpression?> getConditionalOrSwitchExpression, 895Func<TConditionalOrSwitchExpression, ImmutableArray<ExpressionSyntax>> getArmExpressions, 896Func<TConditionalOrSwitchExpression, ExpressionSyntax, ExpressionSyntax?> getAlternativeArm, 898where TConditionalOrSwitchExpression : ExpressionSyntax 903var parentExpression = castExpression.WalkUpParentheses(); 928foreach (var armExpression in getArmExpressions(originalConditionalOrSwitchExpression)) 984var otherSide = getAlternativeArm(originalConditionalOrSwitchExpression, parentExpression); 1040ExpressionSyntax expression, 1114=> node is ExpressionSyntax expression && expression.WalkDownParentheses().Kind() is SyntaxKind.CastExpression or SyntaxKind.AsExpression; 1118ExpressionSyntax castOrAsNode, 1142var parent = castOrAsNode.WalkUpParentheses(); 1175ExpressionSyntax castNode, ExpressionSyntax castedExpressionNode, 1243private static bool IsFieldOrArrayElement(SemanticModel semanticModel, ExpressionSyntax expression, CancellationToken cancellationToken) 1250ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken) 1263ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1316ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1350ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1381ExpressionSyntax rewrittenExpression, 1490ExpressionSyntax rewrittenExpression, 1532ExpressionSyntax expression, 1624ExpressionSyntax castNode, ExpressionSyntax rewrittenExpression, 1647private static (SemanticModel? rewrittenSemanticModel, ExpressionSyntax? rewrittenExpression) GetSemanticModelWithCastRemoved( 1648ExpressionSyntax castNode, 1649ExpressionSyntax castedExpressionNode, 1655var rewrittenExpression = analyzer.ReplacedExpression;
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\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
79SyntaxToken identifier, TypeSyntax typeName, ExpressionSyntax initializer, SemanticModel semanticModel, CSharpSimplifierOptions options, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
77var initializerExpression = CSharpUseImplicitTypeHelper.GetInitializerExpression(initializer.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
143ExpressionSyntax initializer,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (5)
252ExpressionSyntax initializer, 257var expression = GetInitializerExpression(initializer); 328internal static ExpressionSyntax GetInitializerExpression(ExpressionSyntax initializer) 330var current = (initializer as RefExpressionSyntax)?.Expression ?? initializer;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ArgumentGenerator.cs (1)
15if (argument is ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
100ExpressionSyntax GenerateAttributeSyntax(TypedConstant constant)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
636if (anonymousFunctionSyntax.ExpressionBody is ExpressionSyntax expressionBody)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpFlagsEnumGenerator.cs (1)
26var expression = ExpressionGenerator.GenerateNonEnumValueExpression(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (3)
64var value = CreateEnumMemberValue(destination, enumMember); 72private static ExpressionSyntax? CreateEnumMemberValue( 117var lastExpression = lastMember.EqualsValue!.Value;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (18)
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) 94: (ExpressionSyntax)CSharpSyntaxGeneratorInternal.Instance.DefaultExpression(type), 97private static ExpressionSyntax GenerateBooleanLiteralExpression(bool val) 104private static ExpressionSyntax GenerateStringLiteralExpression(string val) 111private static ExpressionSyntax GenerateCharLiteralExpression(char val) 172private static ExpressionSyntax GenerateDoubleLiteralExpression(ITypeSymbol? type, double value, bool canUseFieldReference) 201private static ExpressionSyntax GenerateSingleLiteralExpression(ITypeSymbol? type, float value, bool canUseFieldReference) 230private static ExpressionSyntax GenerateNonNegativeLiteralExpression<T>( 241private static ExpressionSyntax GenerateLiteralExpression<T>( 251var result = GenerateFieldReference(type, value, constants); 278private static ExpressionSyntax? GenerateFieldReference<T>(ITypeSymbol? type, T value, IEnumerable<KeyValuePair<T, string>> constants) 285var memberAccess = GenerateMemberAccess("System", typeof(T).Name); 299private static ExpressionSyntax GenerateMemberAccess(params ReadOnlySpan<string> names) 301ExpressionSyntax result = IdentifierName(GlobalKeyword);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\FieldGenerator.cs (1)
95var initializer = CodeGenerationFieldInfo.GetInitializer(field) is ExpressionSyntax initializerNode
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (1)
110private static ExpressionSyntax GenerateEqualsValueClauseWorker(IParameterSymbol parameter, object? value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\PropertyGenerator.cs (1)
115var initializer = CodeGenerationPropertyInfo.GetInitializer(property) is ExpressionSyntax initializerNode
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeRefactorings\CSharpRefactoringHelpersService.cs (1)
16internal sealed class CSharpRefactoringHelpersService() : AbstractRefactoringHelpersService<ExpressionSyntax, ArgumentSyntax, ExpressionStatementSyntax>
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (2)
52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CastExpressionSyntaxExtensions.cs (2)
15public static ExpressionSyntax Uncast(this CastExpressionSyntax node) 28var resultNode = node.Expression
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
281var expr = parenExpr.Expression;
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ExpressionSyntaxExtensions.cs (11)
18public static ExpressionSyntax Parenthesize( 19this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true) 49var result = ParenthesizeWorker(expression, includeElasticTrivia); 55private static ExpressionSyntax ParenthesizeWorker( 56this ExpressionSyntax expression, bool includeElasticTrivia) 58var withoutTrivia = expression.WithoutTrivia(); 87this ExpressionSyntax expression, 90var parenthesized = expression.Parenthesize(); 101public static ExpressionSyntax CastIfPossible( 102this ExpressionSyntax expression, 167this ExpressionSyntax name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\InternalExtensions.cs (1)
21public static ITypeSymbol DetermineParameterType(ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
27public static ExpressionSyntax GenerateExpressionSyntax(this ITypeSymbol typeSymbol, bool nameSyntax = false)
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
99[.. Enumerable.Repeat<ExpressionSyntax>(OmittedArraySizeExpression(), arrayType.Rank)]));
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSemanticFactsService.cs (2)
112=> semanticModel.ClassifyConversion((ExpressionSyntax)expression, destination).ToCommonConversion(); 119ExpressionSyntax? expression = null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (23)
63=> SyntaxFactory.EqualsValueClause(operatorToken, (ExpressionSyntax)value); 71expression == null ? null : SyntaxFactory.EqualsValueClause((ExpressionSyntax)expression))]); 78=> SyntaxFactory.ConditionalAccessExpression((ExpressionSyntax)expression, (ExpressionSyntax)whenNotNull); 84=> SyntaxFactory.RefExpression((ExpressionSyntax)expression); 92ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation), 98=> SyntaxFactory.YieldStatement(SyntaxKind.YieldReturnStatement, (ExpressionSyntax)expression); 120=> SyntaxFactory.Interpolation((ExpressionSyntax)syntaxNode); 123=> SyntaxFactory.InterpolationAlignmentClause(CommaToken, (ExpressionSyntax)alignment); 200(ExpressionSyntax)expression, 208=> SyntaxFactory.ConstantPattern((ExpressionSyntax)expression); 216=> SyntaxFactory.RelationalPattern(LessThanToken, (ExpressionSyntax)expression); 219=> SyntaxFactory.RelationalPattern(LessThanEqualsToken, (ExpressionSyntax)expression); 222=> SyntaxFactory.RelationalPattern(GreaterThanToken, (ExpressionSyntax)expression); 225=> SyntaxFactory.RelationalPattern(GreaterThanEqualsToken, (ExpressionSyntax)expression); 245=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)Parenthesize(expression)).WithAdditionalAnnotations(Simplifier.Annotation); 303ParenthesizeLeft((ExpressionSyntax)expression), 310internal static ExpressionSyntax ParenthesizeLeft(ExpressionSyntax expression) 325return (ExpressionSyntax)Parenthesize(expression); 332=> SyntaxFactory.BinaryExpression(syntaxKind, (ExpressionSyntax)Parenthesize(left), (ExpressionSyntax)Parenthesize(right)); 338=> SyntaxFactory.CastExpression((TypeSyntax)type, (ExpressionSyntax)Parenthesize(expression)).WithAdditionalAnnotations(Simplifier.Annotation);
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; 944private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 992var otherSide = onRightOfToken ? left : right; 1079private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1111ExpressionSyntax expressionOpt = null, 1166private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1247private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1274private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null) 1300ExpressionSyntax expressionOpt = null, 1345foreach (var sibling in initializerExpression.Expressions.Where(e => e.Kind() != SyntaxKind.ComplexElementInitializerExpression)) 1372foreach (var sibling in initializerExpression.Expressions) 1685ExpressionSyntax expressionOpt = null, 1757var argumentExpression = invocation.ArgumentList.Arguments[0].Expression; 1880var argumentExpression = attributeArgumentSyntax.Expression; 2238private IEnumerable<TypeInferenceInfo> InferTypeInVariableComponentAssignment(ExpressionSyntax left) 2305var expr = arg.Expression;
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;