fixed.cs: # 3| [Class] Fixed # 5| 5: [Method] fixed1 # 5| -1: [TypeMention] Void # 6| 4: [BlockStmt] {...} # 7| 0: [LocalVariableDeclStmt] ... ...; # 7| 0: [LocalVariableDeclAndInitExpr] Byte[] buffer = ... # 7| -1: [TypeMention] Byte[] # 7| 1: [TypeMention] byte # 7| 0: [LocalVariableAccess] access to local variable buffer # 7| 1: [ArrayCreation] array creation of type Byte[] # 7| -1: [TypeMention] Byte[] # 7| 1: [TypeMention] byte # 7| 0: [IntLiteral] 10 # 9| 1: [FixedStmt] fixed(...) { ... } # 9| -1: [LocalVariableDeclAndInitExpr] Byte* pinned_buffer = ... # 9| -1: [TypeMention] byte* # 9| 1: [TypeMention] byte # 9| 0: [LocalVariableAccess] access to local variable pinned_buffer # 9| 1: [AddressOfExpr] &... # 9| 0: [ArrayAccess] access to array element # 9| -1: [LocalVariableAccess] access to local variable buffer # 9| 0: [IntLiteral] 0 # 10| 0: [BlockStmt] {...} # 11| 0: [LocalVariableDeclStmt] ... ...; # 11| 0: [LocalVariableDeclAndInitExpr] Byte* t = ... # 11| -1: [TypeMention] byte* # 11| 0: [LocalVariableAccess] access to local variable t # 11| 1: [LocalVariableAccess] access to local variable pinned_buffer # 12| 1: [ExprStmt] ...; # 12| 0: [MethodCall] call to method fixed1 # 15| 2: [FixedStmt] fixed(...) { ... } # 15| -1: [LocalVariableDeclAndInitExpr] Byte* pinned_buffer = ... # 15| -1: [TypeMention] byte* # 15| 1: [TypeMention] byte # 15| 0: [LocalVariableAccess] access to local variable pinned_buffer # 15| 1: [AddressOfExpr] &... # 15| 0: [ArrayAccess] access to array element # 15| -1: [LocalVariableAccess] access to local variable buffer # 15| 0: [IntLiteral] 0 # 16| 0: [BlockStmt] {...} # 19| 3: [FixedStmt] fixed(...) { ... } # 19| -1: [LocalVariableDeclAndInitExpr] Byte* pinned_buffer = ... # 19| -1: [TypeMention] byte* # 19| 1: [TypeMention] byte # 19| 0: [LocalVariableAccess] access to local variable pinned_buffer # 19| 1: [AddressOfExpr] &... # 19| 0: [ArrayAccess] access to array element # 19| -1: [LocalVariableAccess] access to local variable buffer # 19| 0: [IntLiteral] 0 # 19| 0: [EmptyStmt] ; statements.cs: # 5| [NamespaceDeclaration] namespace ... { ... } # 7| 1: [Class] Class # 10| 5: [Method] Main # 10| -1: [TypeMention] Void # 11| 4: [BlockStmt] {...} # 12| 0: [LabelStmt] block: # 13| 1: [BlockStmt] {...} # 14| 0: [BlockStmt] {...} # 16| 1: [BlockStmt] {...} # 17| 0: [BlockStmt] {...} # 23| 6: [Method] MainEmpty # 23| -1: [TypeMention] Void # 24| 4: [BlockStmt] {...} # 25| 0: [LocalVariableDeclStmt] ... ...; # 25| 0: [LocalVariableDeclAndInitExpr] Class c = ... # 25| -1: [TypeMention] Class # 25| 0: [LocalVariableAccess] access to local variable c # 25| 1: [ObjectCreation] object creation of type Class # 25| 0: [TypeMention] Class # 26| 1: [EmptyStmt] ; # 26| 2: [EmptyStmt] ; # 26| 3: [EmptyStmt] ; # 27| 4: [IfStmt] if (...) ... # 27| 0: [BoolLiteral] true # 27| 1: [EmptyStmt] ; # 30| 7: [Method] MainLocalVarDecl # 30| -1: [TypeMention] Void # 31| 4: [BlockStmt] {...} # 32| 0: [LocalVariableDeclStmt] ... ...; # 32| 0: [LocalVariableDeclExpr] Int32 a # 32| 0: [TypeMention] int # 33| 1: [LocalVariableDeclStmt] ... ...; # 33| 0: [LocalVariableDeclAndInitExpr] Int32 b = ... # 33| -1: [TypeMention] int # 33| 0: [LocalVariableAccess] access to local variable b # 33| 1: [IntLiteral] 2 # 33| 1: [LocalVariableDeclAndInitExpr] Int32 c = ... # 33| -1: [TypeMention] int # 33| 0: [LocalVariableAccess] access to local variable c # 33| 1: [IntLiteral] 3 # 34| 2: [ExprStmt] ...; # 34| 0: [AssignExpr] ... = ... # 34| 0: [LocalVariableAccess] access to local variable a # 34| 1: [IntLiteral] 1 # 35| 3: [ExprStmt] ...; # 35| 0: [MethodCall] call to method WriteLine # 35| -1: [TypeAccess] access to type Console # 35| 0: [TypeMention] Console # 35| 0: [AddExpr] ... + ... # 35| 0: [AddExpr] ... + ... # 35| 0: [LocalVariableAccess] access to local variable a # 35| 1: [LocalVariableAccess] access to local variable b # 35| 1: [LocalVariableAccess] access to local variable c # 36| 4: [LocalVariableDeclStmt] ... ...; # 36| 0: [LocalVariableDeclAndInitExpr] Int32 x = ... # 36| -1: [TypeMention] int # 36| 0: [LocalVariableAccess] access to local variable x # 36| 1: [IntLiteral] 45 # 37| 5: [LocalVariableDeclStmt] ... ...; # 37| 0: [LocalVariableDeclAndInitExpr] String y = ... # 37| -1: [TypeMention] string # 37| 0: [LocalVariableAccess] access to local variable y # 37| 1: [StringLiteral] "test" # 40| 8: [Method] MainLocalConstDecl # 40| -1: [TypeMention] Void # 41| 4: [BlockStmt] {...} # 42| 0: [LocalConstantDeclStmt] const ... ...; # 42| 0: [LocalVariableDeclAndInitExpr] Single pi = ... # 42| -1: [TypeMention] float # 42| 0: [LocalVariableAccess] access to local variable pi # 42| 1: [FloatLiteral] 3.1415927 # 43| 1: [LocalConstantDeclStmt] const ... ...; # 43| 0: [LocalVariableDeclAndInitExpr] Int32 r = ... # 43| -1: [TypeMention] int # 43| 0: [LocalVariableAccess] access to local variable r # 43| 1: [AddExpr] ... + ... # 43| 0: [IntLiteral] 5 # 43| 1: [IntLiteral] 20 # 44| 2: [ExprStmt] ...; # 44| 0: [MethodCall] call to method WriteLine # 44| -1: [TypeAccess] access to type Console # 44| 0: [TypeMention] Console # 44| 0: [MulExpr] ... * ... # 44| 0: [MulExpr] ... * ... # 44| 0: [LocalVariableAccess] access to local variable pi # 44| 1: [CastExpr] (...) ... # 44| 1: [LocalVariableAccess] access to local variable r # 44| 1: [CastExpr] (...) ... # 44| 1: [LocalVariableAccess] access to local variable r # 47| 9: [Method] MainExpr # 47| -1: [TypeMention] Void # 48| 4: [BlockStmt] {...} # 49| 0: [LocalVariableDeclStmt] ... ...; # 49| 0: [LocalVariableDeclExpr] Int32 i # 49| 0: [TypeMention] int # 50| 1: [ExprStmt] ...; # 50| 0: [AssignExpr] ... = ... # 50| 0: [LocalVariableAccess] access to local variable i # 50| 1: [IntLiteral] 123 # 51| 2: [ExprStmt] ...; # 51| 0: [MethodCall] call to method WriteLine # 51| -1: [TypeAccess] access to type Console # 51| 0: [TypeMention] Console # 51| 0: [LocalVariableAccess] access to local variable i # 52| 3: [ExprStmt] ...; # 52| 0: [PostIncrExpr] ...++ # 52| 0: [LocalVariableAccess] access to local variable i # 53| 4: [ExprStmt] ...; # 53| 0: [MethodCall] call to method WriteLine # 53| -1: [TypeAccess] access to type Console # 53| 0: [TypeMention] Console # 53| 0: [LocalVariableAccess] access to local variable i # 56| 10: [Method] MainIf # 56| -1: [TypeMention] Void #-----| 2: (Parameters) # 56| 0: [Parameter] args # 56| -1: [TypeMention] String[] # 56| 1: [TypeMention] string # 57| 4: [BlockStmt] {...} # 58| 0: [IfStmt] if (...) ... # 58| 0: [EQExpr] ... == ... # 58| 0: [PropertyCall] access to property Length # 58| -1: [ParameterAccess] access to parameter args # 58| 1: [IntLiteral] 0 # 59| 1: [BlockStmt] {...} # 60| 0: [ExprStmt] ...; # 60| 0: [MethodCall] call to method WriteLine # 60| -1: [TypeAccess] access to type Console # 60| 0: [TypeMention] Console # 60| 0: [StringLiteral] "No arguments" # 63| 2: [BlockStmt] {...} # 64| 0: [ExprStmt] ...; # 64| 0: [MethodCall] call to method WriteLine # 64| -1: [TypeAccess] access to type Console # 64| 0: [TypeMention] Console # 64| 0: [StringLiteral] "One or more arguments" # 68| 11: [Method] MainSwitch # 68| -1: [TypeMention] Void #-----| 2: (Parameters) # 68| 0: [Parameter] args # 68| -1: [TypeMention] String[] # 68| 1: [TypeMention] string # 69| 4: [BlockStmt] {...} # 70| 0: [LocalVariableDeclStmt] ... ...; # 70| 0: [LocalVariableDeclAndInitExpr] Int32 n = ... # 70| -1: [TypeMention] int # 70| 0: [LocalVariableAccess] access to local variable n # 70| 1: [PropertyCall] access to property Length # 70| -1: [ParameterAccess] access to parameter args # 71| 1: [SwitchStmt] switch (...) {...} # 71| 0: [LocalVariableAccess] access to local variable n # 73| 0: [ConstCase] case ...: # 73| 0: [ConstantPatternExpr,IntLiteral] 0 # 74| 1: [ExprStmt] ...; # 74| 0: [MethodCall] call to method WriteLine # 74| -1: [TypeAccess] access to type Console # 74| 0: [TypeMention] Console # 74| 0: [StringLiteral] "No arguments" # 75| 2: [BreakStmt] break; # 76| 3: [ConstCase] case ...: # 76| 0: [ConstantPatternExpr,IntLiteral] 1 # 77| 4: [ExprStmt] ...; # 77| 0: [MethodCall] call to method WriteLine # 77| -1: [TypeAccess] access to type Console # 77| 0: [TypeMention] Console # 77| 0: [StringLiteral] "One argument" # 78| 5: [BreakStmt] break; # 79| 6: [DefaultCase] default: # 80| 7: [ExprStmt] ...; # 80| 0: [MethodCall] call to method WriteLine # 80| -1: [TypeAccess] access to type Console # 80| 0: [TypeMention] Console # 80| 0: [StringLiteral] "{0} arguments" # 80| 1: [CastExpr] (...) ... # 80| 1: [LocalVariableAccess] access to local variable n # 81| 8: [BreakStmt] break; # 85| 12: [Method] StringSwitch # 85| -1: [TypeMention] int #-----| 2: (Parameters) # 85| 0: [Parameter] foo # 85| -1: [TypeMention] string # 86| 4: [BlockStmt] {...} # 87| 0: [SwitchStmt] switch (...) {...} # 87| 0: [ParameterAccess] access to parameter foo # 89| 0: [ConstCase] case ...: # 89| 0: [ConstantPatternExpr,StringLiteral] "black" # 90| 1: [ReturnStmt] return ...; # 90| 0: [IntLiteral] 0 # 91| 2: [ConstCase] case ...: # 91| 0: [ConstantPatternExpr,StringLiteral] "red" # 92| 3: [ReturnStmt] return ...; # 92| 0: [IntLiteral] 1 # 93| 4: [ConstCase] case ...: # 93| 0: [ConstantPatternExpr,StringLiteral] "green" # 94| 5: [ReturnStmt] return ...; # 94| 0: [IntLiteral] 2 # 95| 6: [ConstCase] case ...: # 95| 0: [ConstantPatternExpr,StringLiteral] "yellow" # 96| 7: [ReturnStmt] return ...; # 96| 0: [IntLiteral] 3 # 97| 8: [ConstCase] case ...: # 97| 0: [ConstantPatternExpr,StringLiteral] "blue" # 98| 9: [ReturnStmt] return ...; # 98| 0: [IntLiteral] 4 # 99| 10: [ConstCase] case ...: # 99| 0: [ConstantPatternExpr,StringLiteral] "magenta" # 100| 11: [ReturnStmt] return ...; # 100| 0: [IntLiteral] 5 # 101| 12: [ConstCase] case ...: # 101| 0: [ConstantPatternExpr,StringLiteral] "cyan" # 102| 13: [ReturnStmt] return ...; # 102| 0: [IntLiteral] 6 # 103| 14: [ConstCase] case ...: # 103| 0: [ConstantPatternExpr,StringLiteral] "grey" # 104| 15: [ConstCase] case ...: # 104| 0: [ConstantPatternExpr,StringLiteral] "white" # 105| 16: [ReturnStmt] return ...; # 105| 0: [IntLiteral] 7 # 107| 1: [ReturnStmt] return ...; # 107| 0: [IntLiteral] 7 # 110| 13: [Method] MainWhile # 110| -1: [TypeMention] Void #-----| 2: (Parameters) # 110| 0: [Parameter] args # 110| -1: [TypeMention] String[] # 110| 1: [TypeMention] string # 111| 4: [BlockStmt] {...} # 112| 0: [LocalVariableDeclStmt] ... ...; # 112| 0: [LocalVariableDeclAndInitExpr] Int32 i = ... # 112| -1: [TypeMention] int # 112| 0: [LocalVariableAccess] access to local variable i # 112| 1: [IntLiteral] 0 # 113| 1: [WhileStmt] while (...) ... # 113| 0: [LTExpr] ... < ... # 113| 0: [LocalVariableAccess] access to local variable i # 113| 1: [PropertyCall] access to property Length # 113| -1: [ParameterAccess] access to parameter args # 114| 1: [BlockStmt] {...} # 115| 0: [ExprStmt] ...; # 115| 0: [MethodCall] call to method WriteLine # 115| -1: [TypeAccess] access to type Console # 115| 0: [TypeMention] Console # 115| 0: [ArrayAccess] access to array element # 115| -1: [ParameterAccess] access to parameter args # 115| 0: [LocalVariableAccess] access to local variable i # 116| 1: [ExprStmt] ...; # 116| 0: [PostIncrExpr] ...++ # 116| 0: [LocalVariableAccess] access to local variable i # 120| 14: [Method] MainDo # 120| -1: [TypeMention] Void # 121| 4: [BlockStmt] {...} # 122| 0: [LocalVariableDeclStmt] ... ...; # 122| 0: [LocalVariableDeclExpr] String s # 122| 0: [TypeMention] string # 123| 1: [DoStmt] do ... while (...); # 127| 0: [NEExpr] ... != ... # 127| 0: [LocalVariableAccess] access to local variable s # 127| 1: [NullLiteral] null # 124| 1: [BlockStmt] {...} # 125| 0: [ExprStmt] ...; # 125| 0: [AssignExpr] ... = ... # 125| 0: [LocalVariableAccess] access to local variable s # 125| 1: [MethodCall] call to method ReadLine # 125| -1: [TypeAccess] access to type Console # 125| 0: [TypeMention] Console # 126| 1: [IfStmt] if (...) ... # 126| 0: [NEExpr] ... != ... # 126| 0: [LocalVariableAccess] access to local variable s # 126| 1: [NullLiteral] null # 126| 1: [ExprStmt] ...; # 126| 0: [MethodCall] call to method WriteLine # 126| -1: [TypeAccess] access to type Console # 126| 0: [TypeMention] Console # 126| 0: [LocalVariableAccess] access to local variable s # 130| 15: [Method] MainFor # 130| -1: [TypeMention] Void #-----| 2: (Parameters) # 130| 0: [Parameter] args # 130| -1: [TypeMention] String[] # 130| 1: [TypeMention] string # 131| 4: [BlockStmt] {...} # 132| 0: [ForStmt] for (...;...;...) ... # 132| -1: [LocalVariableDeclAndInitExpr] Int32 i = ... # 132| -1: [TypeMention] int # 132| 0: [LocalVariableAccess] access to local variable i # 132| 1: [IntLiteral] 0 # 132| 0: [LTExpr] ... < ... # 132| 0: [LocalVariableAccess] access to local variable i # 132| 1: [PropertyCall] access to property Length # 132| -1: [ParameterAccess] access to parameter args # 132| 1: [PostIncrExpr] ...++ # 132| 0: [LocalVariableAccess] access to local variable i # 133| 2: [BlockStmt] {...} # 134| 0: [ExprStmt] ...; # 134| 0: [MethodCall] call to method WriteLine # 134| -1: [TypeAccess] access to type Console # 134| 0: [TypeMention] Console # 134| 0: [ArrayAccess] access to array element # 134| -1: [ParameterAccess] access to parameter args # 134| 0: [LocalVariableAccess] access to local variable i # 138| 16: [Method] MainForeach # 138| -1: [TypeMention] Void #-----| 2: (Parameters) # 138| 0: [Parameter] args # 138| -1: [TypeMention] String[] # 138| 1: [TypeMention] string # 139| 4: [BlockStmt] {...} # 140| 0: [ForeachStmt] foreach (... ... in ...) ... # 140| 0: [LocalVariableDeclExpr] String s # 140| 0: [TypeMention] string # 140| 1: [ParameterAccess] access to parameter args # 141| 2: [BlockStmt] {...} # 142| 0: [ExprStmt] ...; # 142| 0: [MethodCall] call to method WriteLine # 142| -1: [TypeAccess] access to type Console # 142| 0: [TypeMention] Console # 142| 0: [LocalVariableAccess] access to local variable s # 146| 17: [Method] MainBreak # 146| -1: [TypeMention] Void # 147| 4: [BlockStmt] {...} # 148| 0: [WhileStmt] while (...) ... # 148| 0: [BoolLiteral] true # 149| 1: [BlockStmt] {...} # 150| 0: [LocalVariableDeclStmt] ... ...; # 150| 0: [LocalVariableDeclAndInitExpr] String s = ... # 150| -1: [TypeMention] string # 150| 0: [LocalVariableAccess] access to local variable s # 150| 1: [MethodCall] call to method ReadLine # 150| -1: [TypeAccess] access to type Console # 150| 0: [TypeMention] Console # 151| 1: [IfStmt] if (...) ... # 151| 0: [EQExpr] ... == ... # 151| 0: [LocalVariableAccess] access to local variable s # 151| 1: [NullLiteral] null # 151| 1: [BreakStmt] break; # 152| 2: [ExprStmt] ...; # 152| 0: [MethodCall] call to method WriteLine # 152| -1: [TypeAccess] access to type Console # 152| 0: [TypeMention] Console # 152| 0: [LocalVariableAccess] access to local variable s # 156| 18: [Method] MainContinue # 156| -1: [TypeMention] Void #-----| 2: (Parameters) # 156| 0: [Parameter] args # 156| -1: [TypeMention] String[] # 156| 1: [TypeMention] string # 157| 4: [BlockStmt] {...} # 158| 0: [ForStmt] for (...;...;...) ... # 158| -1: [LocalVariableDeclAndInitExpr] Int32 i = ... # 158| -1: [TypeMention] int # 158| 0: [LocalVariableAccess] access to local variable i # 158| 1: [IntLiteral] 0 # 158| 0: [LTExpr] ... < ... # 158| 0: [LocalVariableAccess] access to local variable i # 158| 1: [PropertyCall] access to property Length # 158| -1: [ParameterAccess] access to parameter args # 158| 1: [PostIncrExpr] ...++ # 158| 0: [LocalVariableAccess] access to local variable i # 159| 2: [BlockStmt] {...} # 160| 0: [IfStmt] if (...) ... # 160| 0: [MethodCall] call to method StartsWith # 160| -1: [ArrayAccess] access to array element # 160| -1: [ParameterAccess] access to parameter args # 160| 0: [LocalVariableAccess] access to local variable i # 160| 0: [StringLiteral] "/" # 160| 1: [ContinueStmt] continue; # 161| 1: [ExprStmt] ...; # 161| 0: [MethodCall] call to method WriteLine # 161| -1: [TypeAccess] access to type Console # 161| 0: [TypeMention] Console # 161| 0: [ArrayAccess] access to array element # 161| -1: [ParameterAccess] access to parameter args # 161| 0: [LocalVariableAccess] access to local variable i # 165| 19: [Method] MainGoto # 165| -1: [TypeMention] Void #-----| 2: (Parameters) # 165| 0: [Parameter] args # 165| -1: [TypeMention] String[] # 165| 1: [TypeMention] string # 166| 4: [BlockStmt] {...} # 167| 0: [LocalVariableDeclStmt] ... ...; # 167| 0: [LocalVariableDeclAndInitExpr] Int32 i = ... # 167| -1: [TypeMention] int # 167| 0: [LocalVariableAccess] access to local variable i # 167| 1: [IntLiteral] 0 # 168| 1: [GotoLabelStmt] goto ...; # 169| 2: [LabelStmt] loop: # 169| 3: [ExprStmt] ...; # 169| 0: [MethodCall] call to method WriteLine # 169| -1: [TypeAccess] access to type Console # 169| 0: [TypeMention] Console # 169| 0: [ArrayAccess] access to array element # 169| -1: [ParameterAccess] access to parameter args # 169| 0: [PostIncrExpr] ...++ # 169| 0: [LocalVariableAccess] access to local variable i # 170| 4: [LabelStmt] check: # 170| 5: [IfStmt] if (...) ... # 170| 0: [LTExpr] ... < ... # 170| 0: [LocalVariableAccess] access to local variable i # 170| 1: [PropertyCall] access to property Length # 170| -1: [ParameterAccess] access to parameter args # 170| 1: [GotoLabelStmt] goto ...; # 173| 20: [Method] Add # 173| -1: [TypeMention] int #-----| 2: (Parameters) # 173| 0: [Parameter] a # 173| -1: [TypeMention] int # 173| 1: [Parameter] b # 173| -1: [TypeMention] int # 174| 4: [BlockStmt] {...} # 175| 0: [ReturnStmt] return ...; # 175| 0: [AddExpr] ... + ... # 175| 0: [ParameterAccess] access to parameter a # 175| 1: [ParameterAccess] access to parameter b # 177| 21: [Method] MainReturn # 177| -1: [TypeMention] Void # 178| 4: [BlockStmt] {...} # 179| 0: [ExprStmt] ...; # 179| 0: [MethodCall] call to method WriteLine # 179| -1: [TypeAccess] access to type Console # 179| 0: [TypeMention] Console # 179| 0: [MethodCall] call to method Add # 179| 0: [IntLiteral] 1 # 179| 1: [IntLiteral] 2 # 180| 1: [ReturnStmt] return ...; # 183| 22: [Method] Range # 183| -1: [TypeMention] IEnumerable # 183| 1: [TypeMention] int #-----| 2: (Parameters) # 183| 0: [Parameter] from # 183| -1: [TypeMention] int # 183| 1: [Parameter] to # 183| -1: [TypeMention] int # 184| 4: [BlockStmt] {...} # 185| 0: [ForStmt] for (...;...;...) ... # 185| -1: [LocalVariableDeclAndInitExpr] Int32 i = ... # 185| -1: [TypeMention] int # 185| 0: [LocalVariableAccess] access to local variable i # 185| 1: [ParameterAccess] access to parameter from # 185| 0: [LTExpr] ... < ... # 185| 0: [LocalVariableAccess] access to local variable i # 185| 1: [ParameterAccess] access to parameter to # 185| 1: [PostIncrExpr] ...++ # 185| 0: [LocalVariableAccess] access to local variable i # 186| 2: [BlockStmt] {...} # 187| 0: [YieldReturnStmt] yield return ...; # 187| 0: [LocalVariableAccess] access to local variable i # 189| 1: [YieldBreakStmt] yield break; # 191| 23: [Method] MainYield # 191| -1: [TypeMention] Void # 192| 4: [BlockStmt] {...} # 193| 0: [ForeachStmt] foreach (... ... in ...) ... # 193| 0: [LocalVariableDeclExpr] Int32 x # 193| 0: [TypeMention] int # 193| 1: [MethodCall] call to method Range # 193| 0: [UnaryMinusExpr] -... # 193| 0: [IntLiteral] 10 # 193| 1: [IntLiteral] 10 # 194| 2: [BlockStmt] {...} # 195| 0: [ExprStmt] ...; # 195| 0: [MethodCall] call to method WriteLine # 195| -1: [TypeAccess] access to type Console # 195| 0: [TypeMention] Console # 195| 0: [LocalVariableAccess] access to local variable x # 199| 24: [Method] Divide # 199| -1: [TypeMention] double #-----| 2: (Parameters) # 199| 0: [Parameter] x # 199| -1: [TypeMention] double # 199| 1: [Parameter] y # 199| -1: [TypeMention] double # 200| 4: [BlockStmt] {...} # 201| 0: [IfStmt] if (...) ... # 201| 0: [EQExpr] ... == ... # 201| 0: [ParameterAccess] access to parameter y # 201| 1: [CastExpr] (...) ... # 201| 1: [IntLiteral] 0 # 201| 1: [ThrowStmt] throw ...; # 201| 0: [ObjectCreation] object creation of type DivideByZeroException # 201| 0: [TypeMention] DivideByZeroException # 202| 1: [ReturnStmt] return ...; # 202| 0: [DivExpr] ... / ... # 202| 0: [ParameterAccess] access to parameter x # 202| 1: [ParameterAccess] access to parameter y # 204| 25: [Method] MainTryThrow # 204| -1: [TypeMention] Void #-----| 2: (Parameters) # 204| 0: [Parameter] args # 204| -1: [TypeMention] String[] # 204| 1: [TypeMention] string # 205| 4: [BlockStmt] {...} # 206| 0: [TryStmt] try {...} ... # 225| -1: [BlockStmt] {...} # 226| 0: [ExprStmt] ...; # 226| 0: [MethodCall] call to method WriteLine # 226| -1: [TypeAccess] access to type Console # 226| 0: [TypeMention] Console # 226| 0: [StringLiteral] "Good bye!" # 207| 0: [BlockStmt] {...} # 208| 0: [IfStmt] if (...) ... # 208| 0: [NEExpr] ... != ... # 208| 0: [PropertyCall] access to property Length # 208| -1: [ParameterAccess] access to parameter args # 208| 1: [IntLiteral] 2 # 209| 1: [BlockStmt] {...} # 210| 0: [ThrowStmt] throw ...; # 210| 0: [ObjectCreation] object creation of type Exception # 210| -1: [TypeMention] Exception # 210| 0: [StringLiteral] "Two numbers required" # 212| 1: [LocalVariableDeclStmt] ... ...; # 212| 0: [LocalVariableDeclAndInitExpr] Double x = ... # 212| -1: [TypeMention] double # 212| 0: [LocalVariableAccess] access to local variable x # 212| 1: [MethodCall] call to method Parse # 212| -1: [TypeAccess] access to type Double # 212| 0: [TypeMention] double # 212| 0: [ArrayAccess] access to array element # 212| -1: [ParameterAccess] access to parameter args # 212| 0: [IntLiteral] 0 # 213| 2: [LocalVariableDeclStmt] ... ...; # 213| 0: [LocalVariableDeclAndInitExpr] Double y = ... # 213| -1: [TypeMention] double # 213| 0: [LocalVariableAccess] access to local variable y # 213| 1: [MethodCall] call to method Parse # 213| -1: [TypeAccess] access to type Double # 213| 0: [TypeMention] double # 213| 0: [ArrayAccess] access to array element # 213| -1: [ParameterAccess] access to parameter args # 213| 0: [IntLiteral] 1 # 214| 3: [ExprStmt] ...; # 214| 0: [MethodCall] call to method WriteLine # 214| -1: [TypeAccess] access to type Console # 214| 0: [TypeMention] Console # 214| 0: [MethodCall] call to method Divide # 214| 0: [LocalVariableAccess] access to local variable x # 214| 1: [LocalVariableAccess] access to local variable y # 216| 1: [SpecificCatchClause] catch (...) {...} # 216| 0: [LocalVariableDeclExpr] Exception e # 216| 0: [TypeMention] Exception # 217| 1: [BlockStmt] {...} # 218| 0: [ExprStmt] ...; # 218| 0: [MethodCall] call to method WriteLine # 218| -1: [TypeAccess] access to type Console # 218| 0: [TypeMention] Console # 218| 0: [PropertyCall] access to property Message # 218| -1: [LocalVariableAccess] access to local variable e # 220| 2: [GeneralCatchClause] catch {...} # 221| 1: [BlockStmt] {...} # 222| 0: [ExprStmt] ...; # 222| 0: [MethodCall] call to method WriteLine # 222| -1: [TypeAccess] access to type Console # 222| 0: [TypeMention] Console # 222| 0: [StringLiteral] "Exception" # 230| 26: [Method] MainCheckedUnchecked # 230| -1: [TypeMention] Void # 231| 4: [BlockStmt] {...} # 232| 0: [LocalVariableDeclStmt] ... ...; # 232| 0: [LocalVariableDeclAndInitExpr] Int32 i = ... # 232| -1: [TypeMention] int # 232| 0: [LocalVariableAccess] access to local variable i # 232| 1: [MemberConstantAccess] access to constant MaxValue # 232| -1: [TypeAccess] access to type Int32 # 232| 0: [TypeMention] int # 233| 1: [CheckedStmt] checked {...} # 234| 0: [BlockStmt] {...} # 235| 0: [ExprStmt] ...; # 235| 0: [MethodCall] call to method WriteLine # 235| -1: [TypeAccess] access to type Console # 235| 0: [TypeMention] Console # 235| 0: [AddExpr] ... + ... # 235| 0: [LocalVariableAccess] access to local variable i # 235| 1: [IntLiteral] 1 # 237| 2: [UncheckedStmt] unchecked {...} # 238| 0: [BlockStmt] {...} # 239| 0: [ExprStmt] ...; # 239| 0: [MethodCall] call to method WriteLine # 239| -1: [TypeAccess] access to type Console # 239| 0: [TypeMention] Console # 239| 0: [AddExpr] ... + ... # 239| 0: [LocalVariableAccess] access to local variable i # 239| 1: [IntLiteral] 1 # 243| 27: [Class] AccountLock # 245| 5: [Field] balance # 245| -1: [TypeMention] decimal # 246| 6: [Method] Withdraw # 246| -1: [TypeMention] Void #-----| 2: (Parameters) # 246| 0: [Parameter] amount # 246| -1: [TypeMention] decimal # 247| 4: [BlockStmt] {...} # 248| 0: [LockStmt] lock (...) {...} # 248| 0: [ThisAccess] this access # 249| 1: [BlockStmt] {...} # 250| 0: [IfStmt] if (...) ... # 250| 0: [GTExpr] ... > ... # 250| 0: [ParameterAccess] access to parameter amount # 250| 1: [FieldAccess] access to field balance # 251| 1: [BlockStmt] {...} # 252| 0: [ThrowStmt] throw ...; # 252| 0: [ObjectCreation] object creation of type Exception # 252| -1: [TypeMention] Exception # 252| 0: [StringLiteral] "Insufficient funds" # 254| 1: [ExprStmt] ...; # 254| 0: [AssignSubExpr] ... -= ... # 254| 0: [FieldAccess] access to field balance # 254| 1: [ParameterAccess] access to parameter amount # 259| 28: [Method] MainUsing # 259| -1: [TypeMention] Void # 260| 4: [BlockStmt] {...} # 261| 0: [UsingBlockStmt] using (...) {...} # 261| -1: [LocalVariableDeclAndInitExpr] TextWriter w = ... # 261| -1: [TypeMention] TextWriter # 261| 0: [LocalVariableAccess] access to local variable w # 261| 1: [MethodCall] call to method CreateText # 261| -1: [TypeAccess] access to type File # 261| 0: [TypeMention] File # 261| 0: [StringLiteral] "test.txt" # 262| 1: [BlockStmt] {...} # 263| 0: [ExprStmt] ...; # 263| 0: [MethodCall] call to method WriteLine # 263| -1: [LocalVariableAccess] access to local variable w # 263| 0: [StringLiteral] "Line one" # 264| 1: [ExprStmt] ...; # 264| 0: [MethodCall] call to method WriteLine # 264| -1: [LocalVariableAccess] access to local variable w # 264| 0: [StringLiteral] "Line two" # 265| 2: [ExprStmt] ...; # 265| 0: [MethodCall] call to method WriteLine # 265| -1: [LocalVariableAccess] access to local variable w # 265| 0: [StringLiteral] "Line three" # 267| 1: [UsingBlockStmt] using (...) {...} # 267| 0: [MethodCall] call to method CreateText # 267| -1: [TypeAccess] access to type File # 267| 0: [TypeMention] File # 267| 0: [StringLiteral] "test.txt" # 268| 1: [BlockStmt] {...} # 272| 29: [Method] MainLabeled # 272| -1: [TypeMention] Void # 273| 4: [BlockStmt] {...} # 274| 0: [GotoLabelStmt] goto ...; # 275| 1: [LabelStmt] Label: # 276| 2: [LocalVariableDeclStmt] ... ...; # 276| 0: [LocalVariableDeclAndInitExpr] Int32 x = ... # 276| -1: [TypeMention] int # 276| 0: [LocalVariableAccess] access to local variable x # 276| 1: [IntLiteral] 23 # 277| 3: [ExprStmt] ...; # 277| 0: [AssignExpr] ... = ... # 277| 0: [LocalVariableAccess] access to local variable x # 277| 1: [IntLiteral] 9