fields.cs: # 5| [NamespaceDeclaration] namespace ... { ... } # 7| 1: [Class] A # 10| 6: [Field] X # 10| -1: [TypeMention] int # 10| 1: [AssignExpr] ... = ... # 10| 0: [FieldAccess] access to field X # 10| 1: [IntLiteral] 1 # 10| 7: [Field] Y # 10| -1: [TypeMention] int # 10| 8: [Field] Z # 10| -1: [TypeMention] int # 10| 1: [AssignExpr] ... = ... # 10| 0: [FieldAccess] access to field Z # 10| 1: [IntLiteral] 100 # 13| 2: [Class] B # 15| 6: [Field] X # 15| -1: [TypeMention] int # 15| 1: [AssignExpr] ... = ... # 15| 0: [FieldAccess] access to field X # 15| 1: [IntLiteral] 1 # 16| 7: [Field] Y # 16| -1: [TypeMention] int # 17| 8: [Field] Z # 17| -1: [TypeMention] int # 17| 1: [AssignExpr] ... = ... # 17| 0: [FieldAccess] access to field Z # 17| 1: [IntLiteral] 100 # 20| 3: [Class] C<> #-----| 1: (Type parameters) # 20| 0: [TypeParameter] V # 23| 5: [Field] count # 23| -1: [TypeMention] int # 23| 1: [AssignExpr] ... = ... # 23| 0: [FieldAccess] access to field count # 23| 1: [IntLiteral] 0 # 25| 6: [InstanceConstructor] C # 25| 4: [BlockStmt] {...} # 25| 0: [ExprStmt] ...; # 25| 0: [PostIncrExpr] ...++ # 25| 0: [FieldAccess] access to field count # 27| 7: [Property] Count # 27| -1: [TypeMention] int # 27| 3: [Getter] get_Count # 27| 4: [BlockStmt] {...} # 27| 0: [ReturnStmt] return ...; # 27| 0: [FieldAccess] access to field count # 31| 4: [Class] Application # 34| 6: [Field] finished # 34| -1: [TypeMention] bool # 35| 7: [Field] x # 35| -1: [TypeMention] double # 35| 1: [AssignExpr] ... = ... # 35| 0: [FieldAccess] access to field x # 35| 1: [MethodCall] call to method Sqrt # 35| -1: [TypeAccess] access to type Math # 35| 0: [TypeMention] Math # 35| 0: [DoubleLiteral] 2 # 36| 8: [Field] i # 36| -1: [TypeMention] int # 36| 1: [AssignExpr] ... = ... # 36| 0: [FieldAccess] access to field i # 36| 1: [IntLiteral] 100 # 37| 9: [Field] s # 37| -1: [TypeMention] string # 37| 1: [AssignExpr] ... = ... # 37| 0: [FieldAccess] access to field s # 37| 1: [StringLiteral] "Hello" # 39| 10: [Method] Main # 39| -1: [TypeMention] Void # 40| 4: [BlockStmt] {...} # 41| 0: [LocalVariableDeclStmt] ... ...; # 41| 0: [LocalVariableDeclAndInitExpr] Decimal d = ... # 41| -1: [TypeMention] decimal # 41| 0: [LocalVariableAccess] access to local variable d # 41| 1: [MemberConstantAccess] access to constant MaxValue # 41| -1: [TypeAccess] access to type Decimal # 41| 0: [TypeMention] decimal # 42| 1: [LocalVariableDeclStmt] ... ...; # 42| 0: [LocalVariableDeclAndInitExpr] C x1 = ... # 42| -1: [TypeMention] C # 42| 1: [TypeMention] int # 42| 0: [LocalVariableAccess] access to local variable x1 # 42| 1: [ObjectCreation] object creation of type C # 42| 0: [TypeMention] C # 42| 1: [TypeMention] int # 43| 2: [ExprStmt] ...; # 43| 0: [MethodCall] call to method WriteLine # 43| -1: [TypeAccess] access to type Console # 43| 0: [TypeMention] Console # 43| 0: [PropertyCall] access to property Count # 43| -1: [TypeAccess] access to type C # 43| 0: [TypeMention] C # 43| 1: [TypeMention] int # 44| 3: [LocalVariableDeclStmt] ... ...; # 44| 0: [LocalVariableDeclAndInitExpr] C x2 = ... # 44| -1: [TypeMention] C # 44| 1: [TypeMention] double # 44| 0: [LocalVariableAccess] access to local variable x2 # 44| 1: [ObjectCreation] object creation of type C # 44| 0: [TypeMention] C # 44| 1: [TypeMention] double # 45| 4: [ExprStmt] ...; # 45| 0: [MethodCall] call to method WriteLine # 45| -1: [TypeAccess] access to type Console # 45| 0: [TypeMention] Console # 45| 0: [PropertyCall] access to property Count # 45| -1: [TypeAccess] access to type C # 45| 0: [TypeMention] C # 45| 1: [TypeMention] int # 50| 5: [Class] Color # 53| 5: [Field] Black # 53| -1: [TypeMention] Color # 53| 1: [AssignExpr] ... = ... # 53| 0: [FieldAccess] access to field Black # 53| 1: [ObjectCreation] object creation of type Color # 53| -1: [TypeMention] Color # 53| 0: [CastExpr] (...) ... # 53| 1: [IntLiteral] 0 # 53| 1: [CastExpr] (...) ... # 53| 1: [IntLiteral] 0 # 53| 2: [CastExpr] (...) ... # 53| 1: [IntLiteral] 0 # 54| 6: [Field] White # 54| -1: [TypeMention] Color # 54| 1: [AssignExpr] ... = ... # 54| 0: [FieldAccess] access to field White # 54| 1: [ObjectCreation] object creation of type Color # 54| -1: [TypeMention] Color # 54| 0: [CastExpr] (...) ... # 54| 1: [IntLiteral] 255 # 54| 1: [CastExpr] (...) ... # 54| 1: [IntLiteral] 255 # 54| 2: [CastExpr] (...) ... # 54| 1: [IntLiteral] 255 # 56| 7: [InstanceConstructor] Color #-----| 2: (Parameters) # 56| 0: [Parameter] r # 56| -1: [TypeMention] byte # 56| 1: [Parameter] g # 56| -1: [TypeMention] byte # 56| 2: [Parameter] b # 56| -1: [TypeMention] byte # 56| 4: [BlockStmt] {...} # 60| 6: [Class] TestBindings # 63| 6: [Field] a # 63| -1: [TypeMention] int # 63| 1: [AssignExpr] ... = ... # 63| 0: [FieldAccess] access to field a # 63| 1: [AddExpr] ... + ... # 63| 0: [FieldAccess] access to field b # 63| 1: [IntLiteral] 1 # 64| 7: [Field] b # 64| -1: [TypeMention] int # 64| 1: [AssignExpr] ... = ... # 64| 0: [FieldAccess] access to field b # 64| 1: [AddExpr] ... + ... # 64| 0: [FieldAccess] access to field a # 64| 1: [IntLiteral] 1 # 70| [NamespaceDeclaration] namespace ... { ... } # 72| 1: [Class] A # 74| 5: [Field] X # 74| -1: [TypeMention] int # 74| 1: [AssignExpr] ... = ... # 74| 0: [MemberConstantAccess] access to constant X # 74| 1: [AddExpr] ... + ... # 74| 0: [MemberConstantAccess] access to constant Z # 74| -1: [TypeAccess] access to type B # 74| 0: [TypeMention] B # 74| 1: [IntLiteral] 1 # 75| 6: [Field] Y # 75| -1: [TypeMention] int # 75| 1: [AssignExpr] ... = ... # 75| 0: [MemberConstantAccess] access to constant Y # 75| 1: [IntLiteral] 10 # 78| 2: [Class] B # 80| 5: [Field] Z # 80| -1: [TypeMention] int # 80| 1: [AssignExpr] ... = ... # 80| 0: [MemberConstantAccess] access to constant Z # 80| 1: [AddExpr] ... + ... # 80| 0: [MemberConstantAccess] access to constant Y # 80| -1: [TypeAccess] access to type A # 80| 0: [TypeMention] A # 80| 1: [IntLiteral] 1 # 83| 3: [Class] C # 85| 4: [Field] Foo # 85| -1: [TypeMention] int # 85| 1: [AssignExpr] ... = ... # 85| 0: [MemberConstantAccess] access to constant Foo # 85| 1: [IntLiteral] 1 # 86| 5: [Field] x # 86| -1: [TypeMention] long? # 86| 1: [TypeMention] long # 87| 6: [InstanceConstructor] C # 88| 4: [BlockStmt] {...} # 89| 0: [ExprStmt] ...; # 89| 0: [AssignExpr] ... = ... # 89| 0: [FieldAccess] access to field x # 89| 1: [CastExpr] (...) ... # 89| 1: [MemberConstantAccess] access to constant Foo # 90| 1: [LocalVariableDeclStmt] ... ...; # 90| 0: [LocalVariableDeclAndInitExpr] dynamic dyn = ... # 90| -1: [TypeMention] dynamic # 90| 0: [LocalVariableAccess] access to local variable dyn # 90| 1: [CastExpr] (...) ... # 90| 1: [MemberConstantAccess] access to constant Foo # 91| 2: [LocalVariableDeclStmt] ... ...; # 91| 0: [LocalVariableDeclAndInitExpr] D d = ... # 91| -1: [TypeMention] D # 91| 0: [LocalVariableAccess] access to local variable d # 91| 1: [OperatorCall] call to operator implicit conversion # 91| 0: [MemberConstantAccess] access to constant Foo # 92| 3: [LocalVariableDeclStmt] ... ...; # 92| 0: [LocalVariableDeclAndInitExpr] C c = ... # 92| -1: [TypeMention] C # 92| 0: [LocalVariableAccess] access to local variable c # 92| 1: [ObjectCreation] object creation of type C # 92| -2: [TypeMention] C # 92| -1: [ObjectInitializer] { ..., ... } # 92| 0: [MemberInitializer] ... = ... # 92| 0: [FieldAccess] access to field x # 92| 1: [CastExpr] (...) ... # 92| 1: [MemberConstantAccess] access to constant Foo # 96| 4: [Class] D # 98| 4: [InstanceConstructor] D #-----| 2: (Parameters) # 98| 0: [Parameter] d # 98| -1: [TypeMention] int # 99| 4: [BlockStmt] {...} # 101| 5: [ImplicitConversionOperator] implicit conversion # 101| -1: [TypeMention] D #-----| 2: (Parameters) # 101| 0: [Parameter] d # 101| -1: [TypeMention] int # 101| 4: [BlockStmt] {...} # 101| 0: [ReturnStmt] return ...; # 101| 0: [ObjectCreation] object creation of type D # 101| -1: [TypeMention] D # 101| 0: [ParameterAccess] access to parameter d