2649
public class MethodDeclaration : ParametrizedNode {
2599
public abstract class MemberNode : ParametrizedNode {
2601
List<InterfaceImplementation> interfaceImplementations;
2651
2603
TypeReference typeReference;
2605
public List<InterfaceImplementation> InterfaceImplementations {
2607
return interfaceImplementations;
2610
interfaceImplementations = value ?? new List<InterfaceImplementation>();
2614
public TypeReference TypeReference {
2616
return typeReference;
2619
typeReference = value ?? TypeReference.Null;
2623
protected MemberNode() {
2624
interfaceImplementations = new List<InterfaceImplementation>();
2625
typeReference = TypeReference.Null;
2628
protected MemberNode(Modifiers modifier, List<AttributeSection> attributes, string name, List<ParameterDeclarationExpression> parameters) {
2629
Modifier = modifier;
2630
Attributes = attributes;
2632
Parameters = parameters;
2633
interfaceImplementations = new List<InterfaceImplementation>();
2634
typeReference = TypeReference.Null;
2638
public class MemberReferenceExpression : Expression {
2640
Expression targetObject;
2644
List<TypeReference> typeArguments;
2646
public Expression TargetObject {
2648
return targetObject;
2651
targetObject = value ?? Expression.Null;
2652
if (!targetObject.IsNull) targetObject.Parent = this;
2656
public string MemberName {
2661
memberName = value ?? "";
2665
public List<TypeReference> TypeArguments {
2667
return typeArguments;
2670
typeArguments = value ?? new List<TypeReference>();
2674
public MemberReferenceExpression(Expression targetObject, string memberName) {
2675
TargetObject = targetObject;
2676
MemberName = memberName;
2677
typeArguments = new List<TypeReference>();
2680
[Obsolete] public string FieldName { get { return MemberName; } set { MemberName = value; } }
2682
public override object AcceptVisitor(IAstVisitor visitor, object data) {
2683
return visitor.VisitMemberReferenceExpression(this, data);
2686
public override string ToString() {
2687
return string.Format("[MemberReferenceExpression TargetObject={0} MemberName={1} TypeArguments={2}]", TargetObject, MemberName, GetCollectionString(TypeArguments));
2691
public class MethodDeclaration : MemberNode {
2653
2693
BlockStatement body;
2655
2695
List<string> handlesClause;
2657
List<InterfaceImplementation> interfaceImplementations;
2659
2697
List<TemplateDefinition> templates;
2661
public TypeReference TypeReference {
2663
return typeReference;
2666
typeReference = value ?? TypeReference.Null;
2699
bool isExtensionMethod;
2670
2701
public BlockStatement Body {
3423
public class QueryExpression : Expression {
3425
QueryExpressionFromClause fromClause;
3427
List<QueryExpressionClause> middleClauses;
3429
QueryExpressionClause selectOrGroupClause;
3431
QueryExpressionIntoClause intoClause;
3433
public QueryExpressionFromClause FromClause {
3438
fromClause = value ?? QueryExpressionFromClause.Null;
3439
if (!fromClause.IsNull) fromClause.Parent = this;
3443
public List<QueryExpressionClause> MiddleClauses {
3445
return middleClauses;
3448
middleClauses = value ?? new List<QueryExpressionClause>();
3452
public QueryExpressionClause SelectOrGroupClause {
3454
return selectOrGroupClause;
3457
selectOrGroupClause = value ?? QueryExpressionClause.Null;
3458
if (!selectOrGroupClause.IsNull) selectOrGroupClause.Parent = this;
3462
public QueryExpressionIntoClause IntoClause {
3467
intoClause = value ?? QueryExpressionIntoClause.Null;
3468
if (!intoClause.IsNull) intoClause.Parent = this;
3472
public QueryExpression() {
3473
fromClause = QueryExpressionFromClause.Null;
3474
middleClauses = new List<QueryExpressionClause>();
3475
selectOrGroupClause = QueryExpressionClause.Null;
3476
intoClause = QueryExpressionIntoClause.Null;
3479
public new static QueryExpression Null {
3481
return NullQueryExpression.Instance;
3485
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3486
return visitor.VisitQueryExpression(this, data);
3489
public override string ToString() {
3490
return string.Format("[QueryExpression FromClause={0} MiddleClauses={1} SelectOrGroupClause={2} IntoCla" +
3491
"use={3}]", FromClause, GetCollectionString(MiddleClauses), SelectOrGroupClause, IntoClause);
3495
internal sealed class NullQueryExpression : QueryExpression {
3497
internal static NullQueryExpression Instance = new NullQueryExpression();
3499
public override bool IsNull {
3505
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3509
public override string ToString() {
3510
return "[NullQueryExpression]";
3514
public abstract class QueryExpressionClause : AbstractNode, INullable {
3516
public virtual bool IsNull {
3522
public static QueryExpressionClause Null {
3524
return NullQueryExpressionClause.Instance;
3529
internal sealed class NullQueryExpressionClause : QueryExpressionClause {
3531
internal static NullQueryExpressionClause Instance = new NullQueryExpressionClause();
3533
public override bool IsNull {
3539
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3543
public override string ToString() {
3544
return "[NullQueryExpressionClause]";
3548
public class QueryExpressionFromClause : QueryExpressionFromOrJoinClause {
3550
public QueryExpressionFromClause() {
3553
public new static QueryExpressionFromClause Null {
3555
return NullQueryExpressionFromClause.Instance;
3559
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3560
return visitor.VisitQueryExpressionFromClause(this, data);
3563
public override string ToString() {
3564
return string.Format("[QueryExpressionFromClause Type={0} Identifier={1} InExpression={2}]", Type, Identifier, InExpression);
3568
internal sealed class NullQueryExpressionFromClause : QueryExpressionFromClause {
3570
internal static NullQueryExpressionFromClause Instance = new NullQueryExpressionFromClause();
3572
public override bool IsNull {
3578
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3582
public override string ToString() {
3583
return "[NullQueryExpressionFromClause]";
3587
public abstract class QueryExpressionFromOrJoinClause : QueryExpressionClause {
3593
Expression inExpression;
3595
public TypeReference Type {
3600
type = value ?? TypeReference.Null;
3604
public string Identifier {
3609
identifier = string.IsNullOrEmpty(value) ? "?" : value;
3613
public Expression InExpression {
3615
return inExpression;
3618
inExpression = value ?? Expression.Null;
3619
if (!inExpression.IsNull) inExpression.Parent = this;
3624
public class QueryExpressionGroupClause : QueryExpressionClause {
3626
Expression projection;
3630
public Expression Projection {
3635
projection = value ?? Expression.Null;
3636
if (!projection.IsNull) projection.Parent = this;
3640
public Expression GroupBy {
3645
groupBy = value ?? Expression.Null;
3646
if (!groupBy.IsNull) groupBy.Parent = this;
3650
public QueryExpressionGroupClause() {
3651
projection = Expression.Null;
3652
groupBy = Expression.Null;
3655
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3656
return visitor.VisitQueryExpressionGroupClause(this, data);
3659
public override string ToString() {
3660
return string.Format("[QueryExpressionGroupClause Projection={0} GroupBy={1}]", Projection, GroupBy);
3664
public class QueryExpressionIntoClause : QueryExpressionClause {
3666
string intoIdentifier;
3668
QueryExpression continuedQuery;
3670
public string IntoIdentifier {
3672
return intoIdentifier;
3675
intoIdentifier = string.IsNullOrEmpty(value) ? "?" : value;
3679
public QueryExpression ContinuedQuery {
3681
return continuedQuery;
3684
continuedQuery = value ?? QueryExpression.Null;
3685
if (!continuedQuery.IsNull) continuedQuery.Parent = this;
3689
public QueryExpressionIntoClause() {
3690
intoIdentifier = "?";
3691
continuedQuery = QueryExpression.Null;
3694
public new static QueryExpressionIntoClause Null {
3696
return NullQueryExpressionIntoClause.Instance;
3700
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3701
return visitor.VisitQueryExpressionIntoClause(this, data);
3704
public override string ToString() {
3705
return string.Format("[QueryExpressionIntoClause IntoIdentifier={0} ContinuedQuery={1}]", IntoIdentifier, ContinuedQuery);
3709
internal sealed class NullQueryExpressionIntoClause : QueryExpressionIntoClause {
3711
internal static NullQueryExpressionIntoClause Instance = new NullQueryExpressionIntoClause();
3713
public override bool IsNull {
3719
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3723
public override string ToString() {
3724
return "[NullQueryExpressionIntoClause]";
3728
public class QueryExpressionJoinClause : QueryExpressionFromOrJoinClause {
3730
Expression onExpression;
3732
Expression equalsExpression;
3734
string intoIdentifier;
3736
public Expression OnExpression {
3738
return onExpression;
3741
onExpression = value ?? Expression.Null;
3742
if (!onExpression.IsNull) onExpression.Parent = this;
3746
public Expression EqualsExpression {
3748
return equalsExpression;
3751
equalsExpression = value ?? Expression.Null;
3752
if (!equalsExpression.IsNull) equalsExpression.Parent = this;
3756
public string IntoIdentifier {
3758
return intoIdentifier;
3761
intoIdentifier = value ?? "";
3765
public QueryExpressionJoinClause() {
3766
onExpression = Expression.Null;
3767
equalsExpression = Expression.Null;
3768
intoIdentifier = "";
3771
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3772
return visitor.VisitQueryExpressionJoinClause(this, data);
3775
public override string ToString() {
3776
return string.Format("[QueryExpressionJoinClause OnExpression={0} EqualsExpression={1} IntoIdentifier={" +
3777
"2} Type={3} Identifier={4} InExpression={5}]", OnExpression, EqualsExpression, IntoIdentifier, Type, Identifier, InExpression);
3781
public class QueryExpressionLetClause : QueryExpressionClause {
3785
Expression expression;
3787
public string Identifier {
3792
identifier = string.IsNullOrEmpty(value) ? "?" : value;
3796
public Expression Expression {
3801
expression = value ?? Expression.Null;
3802
if (!expression.IsNull) expression.Parent = this;
3806
public QueryExpressionLetClause() {
3808
expression = Expression.Null;
3811
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3812
return visitor.VisitQueryExpressionLetClause(this, data);
3815
public override string ToString() {
3816
return string.Format("[QueryExpressionLetClause Identifier={0} Expression={1}]", Identifier, Expression);
3820
public class QueryExpressionOrderClause : QueryExpressionClause {
3822
List<QueryExpressionOrdering> orderings;
3824
public List<QueryExpressionOrdering> Orderings {
3829
orderings = value ?? new List<QueryExpressionOrdering>();
3833
public QueryExpressionOrderClause() {
3834
orderings = new List<QueryExpressionOrdering>();
3837
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3838
return visitor.VisitQueryExpressionOrderClause(this, data);
3841
public override string ToString() {
3842
return string.Format("[QueryExpressionOrderClause Orderings={0}]", GetCollectionString(Orderings));
3846
public class QueryExpressionOrdering : AbstractNode {
3848
Expression criteria;
3850
QueryExpressionOrderingDirection direction;
3852
public Expression Criteria {
3857
criteria = value ?? Expression.Null;
3858
if (!criteria.IsNull) criteria.Parent = this;
3862
public QueryExpressionOrderingDirection Direction {
3871
public QueryExpressionOrdering() {
3872
criteria = Expression.Null;
3875
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3876
return visitor.VisitQueryExpressionOrdering(this, data);
3879
public override string ToString() {
3880
return string.Format("[QueryExpressionOrdering Criteria={0} Direction={1}]", Criteria, Direction);
3884
public class QueryExpressionSelectClause : QueryExpressionClause {
3886
Expression projection;
3888
public Expression Projection {
3893
projection = value ?? Expression.Null;
3894
if (!projection.IsNull) projection.Parent = this;
3898
public QueryExpressionSelectClause() {
3899
projection = Expression.Null;
3902
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3903
return visitor.VisitQueryExpressionSelectClause(this, data);
3906
public override string ToString() {
3907
return string.Format("[QueryExpressionSelectClause Projection={0}]", Projection);
3911
public class QueryExpressionWhereClause : QueryExpressionClause {
3913
Expression condition;
3915
public Expression Condition {
3920
condition = value ?? Expression.Null;
3921
if (!condition.IsNull) condition.Parent = this;
3925
public QueryExpressionWhereClause() {
3926
condition = Expression.Null;
3929
public override object AcceptVisitor(IAstVisitor visitor, object data) {
3930
return visitor.VisitQueryExpressionWhereClause(this, data);
3933
public override string ToString() {
3934
return string.Format("[QueryExpressionWhereClause Condition={0}]", Condition);
3405
3938
public class RaiseEventStatement : Statement {
3407
3940
string eventName;