|
|
|
@ -1609,8 +1609,10 @@ EventMemberSpecifier<out string name>
@@ -1609,8 +1609,10 @@ EventMemberSpecifier<out string name>
|
|
|
|
|
|
|
|
|
|
Expr<out Expression expr> |
|
|
|
|
(. expr = null; .) = |
|
|
|
|
DisjunctionExpr<out expr> |
|
|
|
|
| LambdaExpr<out expr> |
|
|
|
|
IF ( IsQueryExpression() ) |
|
|
|
|
QueryExpr<out expr> |
|
|
|
|
| LambdaExpr<out expr> |
|
|
|
|
| DisjunctionExpr<out expr> |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
AssignmentOperator<out AssignmentOperatorType op> |
|
|
|
@ -2014,6 +2016,156 @@ LambdaExpr<out Expression expr>
@@ -2014,6 +2016,156 @@ LambdaExpr<out Expression expr>
|
|
|
|
|
.) |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
QueryExpr<out Expression expr> |
|
|
|
|
(. |
|
|
|
|
QueryExpression qexpr = new QueryExpression(); |
|
|
|
|
expr = qexpr; |
|
|
|
|
.) = |
|
|
|
|
FromOrAggregateQueryOperator |
|
|
|
|
{ QueryOperator } |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
FromOrAggregateQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
FromQueryOperator |
|
|
|
|
| AggregateQueryOperator |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
QueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
FromQueryOperator |
|
|
|
|
| AggregateQueryOperator |
|
|
|
|
| SelectQueryOperator |
|
|
|
|
| DistinctQueryOperator |
|
|
|
|
| WhereQueryOperator |
|
|
|
|
| OrderByQueryOperator |
|
|
|
|
| PartitionQueryOperator |
|
|
|
|
| LetQueryOperator |
|
|
|
|
| JoinQueryOperator |
|
|
|
|
| IF(la.kind == Tokens.Group && Peek(1).kind == Tokens.Join) GroupJoinQueryOperator |
|
|
|
|
| GroupByQueryOperator |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
OrderByQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Order" "By" OrderExpressionList |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
OrderExpressionList |
|
|
|
|
(. .) = |
|
|
|
|
OrderExpression |
|
|
|
|
{ |
|
|
|
|
"," OrderExpression |
|
|
|
|
} |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
OrderExpression |
|
|
|
|
(. Expression orderExpr = null; .) = |
|
|
|
|
Expr<out orderExpr> |
|
|
|
|
[ |
|
|
|
|
"Ascending" |
|
|
|
|
| "Descending" |
|
|
|
|
] |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
GroupByQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Group" ExpressionRangeVariableDeclarationList "By" ExpressionRangeVariableDeclarationList |
|
|
|
|
"Into" ExpressionRangeVariableDeclarationList |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
GroupJoinQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Group" JoinQueryOperator |
|
|
|
|
"Into" ExpressionRangeVariableDeclarationList |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
FromQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"From" CollectionRangeVariableDeclarationList |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
SelectQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Select" ExpressionRangeVariableDeclarationList |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
DistinctQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Distinct" |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
WhereQueryOperator |
|
|
|
|
(. Expression operand = null; .) = |
|
|
|
|
"Where" Expr<out operand> |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
PartitionQueryOperator |
|
|
|
|
(. Expression expr = null; .) = |
|
|
|
|
"Take" [ "While" ] Expr<out expr> |
|
|
|
|
| "Skip" [ "While" ] Expr<out expr> |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
AggregateQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Aggregate" CollectionRangeVariableDeclaration { QueryOperator } |
|
|
|
|
"Into" ExpressionRangeVariableDeclarationList |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
LetQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Let" ExpressionRangeVariableDeclarationList |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
ExpressionRangeVariableDeclarationList |
|
|
|
|
(. .) = |
|
|
|
|
|
|
|
|
|
ExpressionRangeVariableDeclaration |
|
|
|
|
{ "," ExpressionRangeVariableDeclaration } |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
ExpressionRangeVariableDeclaration |
|
|
|
|
(. |
|
|
|
|
Expression rhs = null; |
|
|
|
|
TypeReference typeName = null; |
|
|
|
|
.) = |
|
|
|
|
[ IF(IsIdentifiedExpressionRange()) Identifier [ "As" TypeName<out typeName> ] "=" |
|
|
|
|
] |
|
|
|
|
Expr<out rhs> |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
JoinQueryOperator |
|
|
|
|
(. .) = |
|
|
|
|
"Join" CollectionRangeVariableDeclaration [ JoinQueryOperator ] "On" |
|
|
|
|
JoinCondition |
|
|
|
|
{ |
|
|
|
|
"And" JoinCondition |
|
|
|
|
} |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
CollectionRangeVariableDeclarationList |
|
|
|
|
(. .) = |
|
|
|
|
CollectionRangeVariableDeclaration |
|
|
|
|
{ "," CollectionRangeVariableDeclaration } |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
CollectionRangeVariableDeclaration |
|
|
|
|
(. |
|
|
|
|
TypeReference typeName = null; |
|
|
|
|
Expression inExpr = null; |
|
|
|
|
.) = |
|
|
|
|
Identifier |
|
|
|
|
[ "As" TypeName<out typeName> ] "In" Expr<out inExpr> |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
JoinCondition |
|
|
|
|
(. |
|
|
|
|
Expression lhs = null; |
|
|
|
|
Expression rhs = null; |
|
|
|
|
.) = |
|
|
|
|
Expr<out lhs> "Equals" Expr<out rhs> |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
MemberInitializer<out NamedArgumentExpression memberInitializer> |
|
|
|
|
(. |
|
|
|
|
memberInitializer = new NamedArgumentExpression(); |
|
|
|
|