mirror of
https://github.com/github/codeql.git
synced 2025-12-18 01:33:15 +01:00
703 lines
35 KiB
Plaintext
703 lines
35 KiB
Plaintext
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<int>
|
|
# 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
|