Package org.openrewrite.csharp.tree
Class Cs.QueryExpression
java.lang.Object
org.openrewrite.csharp.tree.Cs.QueryExpression
- All Implemented Interfaces:
Cs,org.openrewrite.java.tree.Expression,org.openrewrite.java.tree.J,org.openrewrite.Tree
- Enclosing interface:
- Cs
public static final class Cs.QueryExpression
extends Object
implements Cs, org.openrewrite.java.tree.Expression
Represents a C# LINQ query expression that provides SQL-like syntax for working with collections.
For example:
// Simple query
from user in users
where user.Age > 18
select user.Name
// Query with multiple clauses
from c in customers
join o in orders on c.Id equals o.CustomerId
where o.Total > 1000
orderby o.Date
select new { c.Name, o.Total }
// Query with multiple from clauses
from c in customers
from o in c.Orders
where o.Total > 1000
select new { c.Name, o.Total }
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.openrewrite.csharp.tree.Cs
Cs.AliasQualifiedName, Cs.AllowsConstraint, Cs.AllowsConstraintClause, Cs.AnnotatedStatement, Cs.Argument, Cs.ArrayRankSpecifier, Cs.ArrayType, Cs.AssignmentOperation, Cs.AttributeList, Cs.AwaitExpression, Cs.Binary, Cs.BinaryPattern, Cs.BlockScopeNamespaceDeclaration, Cs.CasePatternSwitchLabel, Cs.CheckedStatement, Cs.ClassDeclaration, Cs.ClassOrStructConstraint, Cs.CollectionExpression, Cs.CompilationUnit, Cs.ConstantPattern, Cs.Constructor, Cs.ConstructorConstraint, Cs.ConstructorInitializer, Cs.ConversionOperatorDeclaration, Cs.DeclarationExpression, Cs.DefaultConstraint, Cs.DefaultExpression, Cs.DefaultSwitchLabel, Cs.DelegateDeclaration, Cs.DestructorDeclaration, Cs.DiscardPattern, Cs.DiscardVariableDesignation, Cs.EnumDeclaration, Cs.EnumMemberDeclaration, Cs.ExpressionStatement, Cs.ExternAlias, Cs.FileScopeNamespaceDeclaration, Cs.FixedStatement, Cs.ForEachVariableLoop, Cs.FromClause, Cs.GroupClause, Cs.ImplicitElementAccess, Cs.IndexerDeclaration, Cs.InitializerExpression, Cs.InterpolatedString, Cs.Interpolation, Cs.IsPattern, Cs.JoinClause, Cs.JoinIntoClause, Cs.Keyword, Cs.Lambda, Cs.LetClause, Cs.ListPattern, Cs.LockStatement, Cs.MethodDeclaration, Cs.NewClass, Cs.NullSafeExpression, Cs.OrderByClause, Cs.Ordering, Cs.ParenthesizedPattern, Cs.ParenthesizedVariableDesignation, Cs.Pattern, Cs.PositionalPatternClause, Cs.PropertyDeclaration, Cs.PropertyPatternClause, Cs.QueryBody, Cs.QueryClause, Cs.QueryContinuation, Cs.QueryExpression, Cs.RangeExpression, Cs.RecursivePattern, Cs.RefStructConstraint, Cs.RelationalPattern, Cs.SelectClause, Cs.SelectOrGroupClause, Cs.SingleVariableDesignation, Cs.SlicePattern, Cs.StatementExpression, Cs.Subpattern, Cs.SwitchExpression, Cs.SwitchExpressionArm, Cs.SwitchLabel, Cs.SwitchSection, Cs.SwitchStatement, Cs.TupleElement, Cs.TupleExpression, Cs.TupleType, Cs.TypeConstraint, Cs.TypeParameter, Cs.TypeParameterConstraint, Cs.TypeParameterConstraintClause, Cs.TypePattern, Cs.Unary, Cs.UnaryPattern, Cs.UnsafeStatement, Cs.UsingDirective, Cs.UsingStatement, Cs.VariableDesignation, Cs.VarPattern, Cs.WhereClause, Cs.YieldNested classes/interfaces inherited from interface org.openrewrite.java.tree.J
org.openrewrite.java.tree.J.AnnotatedType, org.openrewrite.java.tree.J.Annotation, org.openrewrite.java.tree.J.ArrayAccess, org.openrewrite.java.tree.J.ArrayDimension, org.openrewrite.java.tree.J.ArrayType, org.openrewrite.java.tree.J.Assert, org.openrewrite.java.tree.J.Assignment, org.openrewrite.java.tree.J.AssignmentOperation, org.openrewrite.java.tree.J.Binary, org.openrewrite.java.tree.J.Block, org.openrewrite.java.tree.J.Break, org.openrewrite.java.tree.J.Case, org.openrewrite.java.tree.J.ClassDeclaration, org.openrewrite.java.tree.J.CompilationUnit, org.openrewrite.java.tree.J.Continue, org.openrewrite.java.tree.J.ControlParentheses<J2 extends org.openrewrite.java.tree.J>, org.openrewrite.java.tree.J.DoWhileLoop, org.openrewrite.java.tree.J.Empty, org.openrewrite.java.tree.J.EnumValue, org.openrewrite.java.tree.J.EnumValueSet, org.openrewrite.java.tree.J.FieldAccess, org.openrewrite.java.tree.J.ForEachLoop, org.openrewrite.java.tree.J.ForLoop, org.openrewrite.java.tree.J.Identifier, org.openrewrite.java.tree.J.If, org.openrewrite.java.tree.J.Import, org.openrewrite.java.tree.J.InstanceOf, org.openrewrite.java.tree.J.IntersectionType, org.openrewrite.java.tree.J.Label, org.openrewrite.java.tree.J.Lambda, org.openrewrite.java.tree.J.Literal, org.openrewrite.java.tree.J.MemberReference, org.openrewrite.java.tree.J.MethodDeclaration, org.openrewrite.java.tree.J.MethodInvocation, org.openrewrite.java.tree.J.Modifier, org.openrewrite.java.tree.J.MultiCatch, org.openrewrite.java.tree.J.NewArray, org.openrewrite.java.tree.J.NewClass, org.openrewrite.java.tree.J.NullableType, org.openrewrite.java.tree.J.Package, org.openrewrite.java.tree.J.ParameterizedType, org.openrewrite.java.tree.J.Parentheses<J2 extends org.openrewrite.java.tree.J>, org.openrewrite.java.tree.J.ParenthesizedTypeTree, org.openrewrite.java.tree.J.Primitive, org.openrewrite.java.tree.J.Return, org.openrewrite.java.tree.J.Switch, org.openrewrite.java.tree.J.SwitchExpression, org.openrewrite.java.tree.J.Synchronized, org.openrewrite.java.tree.J.Ternary, org.openrewrite.java.tree.J.Throw, org.openrewrite.java.tree.J.Try, org.openrewrite.java.tree.J.TypeCast, org.openrewrite.java.tree.J.TypeParameter, org.openrewrite.java.tree.J.TypeParameters, org.openrewrite.java.tree.J.Unary, org.openrewrite.java.tree.J.Unknown, org.openrewrite.java.tree.J.VariableDeclarations, org.openrewrite.java.tree.J.WhileLoop, org.openrewrite.java.tree.J.Wildcard, org.openrewrite.java.tree.J.Yield -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<P> org.openrewrite.java.tree.JacceptCSharp(CSharpVisitor<P> v, P p) org.openrewrite.java.tree.CoordinateBuilder.Expression@Nullable org.openrewrite.java.tree.JavaTypegetType()withType(@Nullable org.openrewrite.java.tree.JavaType type) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.openrewrite.csharp.tree.Cs
accept, isAcceptableMethods inherited from interface org.openrewrite.java.tree.Expression
getSideEffects, unwrapMethods inherited from interface org.openrewrite.java.tree.J
acceptJava, getComments, getPrefix, print, printTrimmed, withComments, withPrefixMethods inherited from interface org.openrewrite.Tree
cast, getId, getMarkers, isScope, print, print, print, printer, printTrimmed, printTrimmed, printTrimmed, withId, withMarkers
-
Constructor Details
-
QueryExpression
public QueryExpression()
-
-
Method Details
-
getType
public @Nullable org.openrewrite.java.tree.JavaType getType()- Specified by:
getTypein interfaceorg.openrewrite.java.tree.Expression
-
withType
- Specified by:
withTypein interfaceorg.openrewrite.java.tree.Expression
-
acceptCSharp
- Specified by:
acceptCSharpin interfaceCs
-
getCoordinates
public org.openrewrite.java.tree.CoordinateBuilder.Expression getCoordinates()- Specified by:
getCoordinatesin interfaceorg.openrewrite.java.tree.Expression
-