mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
912 lines
43 KiB
Plaintext
912 lines
43 KiB
Plaintext
CSharp7.cs:
|
|
# 7| [Class] Literals
|
|
# 9| 5: [Field] x
|
|
# 9| -1: [TypeMention] int
|
|
# 9| 1: [AssignExpr] ... = ...
|
|
# 9| 0: [FieldAccess] access to field x
|
|
# 9| 1: [IntLiteral] 11
|
|
# 10| 6: [Field] y
|
|
# 10| -1: [TypeMention] int
|
|
# 10| 1: [AssignExpr] ... = ...
|
|
# 10| 0: [FieldAccess] access to field y
|
|
# 10| 1: [IntLiteral] 123456
|
|
# 11| 7: [Field] z
|
|
# 11| -1: [TypeMention] int
|
|
# 11| 1: [AssignExpr] ... = ...
|
|
# 11| 0: [FieldAccess] access to field z
|
|
# 11| 1: [IntLiteral] 128
|
|
# 14| [Class] ExpressionBodiedMembers
|
|
# 16| 4: [Field] field
|
|
# 16| -1: [TypeMention] int
|
|
# 16| 1: [AssignExpr] ... = ...
|
|
# 16| 0: [FieldAccess] access to field field
|
|
# 16| 1: [IntLiteral] 0
|
|
# 17| 5: [Method] Foo
|
|
# 17| -1: [TypeMention] int
|
|
# 17| 4: [FieldAccess] access to field field
|
|
# 18| 6: [Property] P
|
|
# 18| -1: [TypeMention] int
|
|
# 18| 3: [Getter] get_P
|
|
# 18| 4: [IntLiteral] 5
|
|
# 19| 7: [Property] Q
|
|
# 19| -1: [TypeMention] int
|
|
# 21| 3: [Getter] get_Q
|
|
# 21| 4: [MethodCall] call to method Foo
|
|
# 22| 4: [Setter] set_Q
|
|
#-----| 2: (Parameters)
|
|
# 22| 0: [Parameter] value
|
|
# 22| 4: [AssignExpr] ... = ...
|
|
# 22| 0: [FieldAccess] access to field field
|
|
# 22| 1: [ParameterAccess] access to parameter value
|
|
# 24| 8: [InstanceConstructor] ExpressionBodiedMembers
|
|
# 24| 3: [ConstructorInitializer] call to constructor ExpressionBodiedMembers
|
|
# 24| 0: [IntLiteral] 1
|
|
# 24| 4: [BlockStmt] {...}
|
|
# 25| 9: [InstanceConstructor] ExpressionBodiedMembers
|
|
#-----| 2: (Parameters)
|
|
# 25| 0: [Parameter] x
|
|
# 25| -1: [TypeMention] int
|
|
# 25| 4: [MethodCall] call to method Foo
|
|
# 26| 10: [Destructor] ~ExpressionBodiedMembers
|
|
# 26| 4: [MethodCall] call to method Foo
|
|
# 29| [Class] ThrowExpr
|
|
# 31| 5: [Method] Throw
|
|
# 31| -1: [TypeMention] int
|
|
#-----| 2: (Parameters)
|
|
# 31| 0: [Parameter] i
|
|
# 31| -1: [TypeMention] int
|
|
# 32| 4: [BlockStmt] {...}
|
|
# 33| 0: [ReturnStmt] return ...;
|
|
# 33| 0: [ConditionalExpr] ... ? ... : ...
|
|
# 33| 0: [GTExpr] ... > ...
|
|
# 33| 0: [ParameterAccess] access to parameter i
|
|
# 33| 1: [IntLiteral] 0
|
|
# 33| 1: [ParameterAccess] access to parameter i
|
|
# 33| 2: [ThrowExpr] throw ...
|
|
# 33| 0: [ObjectCreation] object creation of type ArgumentException
|
|
# 33| -1: [TypeMention] ArgumentException
|
|
# 33| 0: [StringLiteral] "i"
|
|
# 37| [Class] OutVariables
|
|
# 39| 5: [Method] F
|
|
# 39| -1: [TypeMention] Void
|
|
#-----| 2: (Parameters)
|
|
# 39| 0: [Parameter] x
|
|
# 39| -1: [TypeMention] string
|
|
# 40| 4: [BlockStmt] {...}
|
|
# 41| 0: [ExprStmt] ...;
|
|
# 41| 0: [AssignExpr] ... = ...
|
|
# 41| 0: [ParameterAccess] access to parameter x
|
|
# 41| 1: [StringLiteral] "tainted"
|
|
# 44| 6: [Method] G
|
|
# 44| -1: [TypeMention] Void
|
|
#-----| 2: (Parameters)
|
|
# 44| 0: [Parameter] x
|
|
# 44| -1: [TypeMention] string
|
|
# 44| 1: [Parameter] y
|
|
# 44| -1: [TypeMention] string
|
|
# 45| 4: [BlockStmt] {...}
|
|
# 46| 0: [ExprStmt] ...;
|
|
# 46| 0: [AssignExpr] ... = ...
|
|
# 46| 0: [ParameterAccess] access to parameter y
|
|
# 46| 1: [ParameterAccess] access to parameter x
|
|
# 49| 7: [Method] G
|
|
# 49| -1: [TypeMention] Void
|
|
# 50| 4: [BlockStmt] {...}
|
|
# 51| 0: [ExprStmt] ...;
|
|
# 51| 0: [MethodCall] call to method F
|
|
# 51| 0: [LocalVariableAccess,LocalVariableDeclExpr] String t1
|
|
# 52| 1: [ExprStmt] ...;
|
|
# 52| 0: [MethodCall] call to method F
|
|
# 52| 0: [LocalVariableAccess,LocalVariableDeclExpr] String t2
|
|
# 53| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 53| 0: [LocalVariableDeclAndInitExpr] String t3 = ...
|
|
# 53| -1: [TypeMention] string
|
|
# 53| 0: [LocalVariableAccess] access to local variable t3
|
|
# 53| 1: [LocalVariableAccess] access to local variable t1
|
|
# 54| 3: [ExprStmt] ...;
|
|
# 54| 0: [MethodCall] call to method F
|
|
# 54| 0: [LocalVariableAccess] access to local variable t1
|
|
# 55| 4: [ExprStmt] ...;
|
|
# 55| 0: [AssignExpr] ... = ...
|
|
# 55| 0: [LocalVariableAccess] access to local variable t3
|
|
# 55| 1: [LocalVariableAccess] access to local variable t1
|
|
# 56| 5: [ExprStmt] ...;
|
|
# 56| 0: [AssignExpr] ... = ...
|
|
# 56| 0: [LocalVariableAccess] access to local variable t3
|
|
# 56| 1: [LocalVariableAccess] access to local variable t2
|
|
# 57| 6: [ExprStmt] ...;
|
|
# 57| 0: [MethodCall] call to method G
|
|
# 57| 0: [StringLiteral] "tainted"
|
|
# 57| 1: [LocalVariableAccess,LocalVariableDeclExpr] String t4
|
|
# 58| 7: [LocalVariableDeclStmt] ... ...;
|
|
# 58| 0: [LocalVariableDeclAndInitExpr] String t5 = ...
|
|
# 58| -1: [TypeMention] string
|
|
# 58| 0: [LocalVariableAccess] access to local variable t5
|
|
# 58| 1: [LocalVariableAccess] access to local variable t4
|
|
# 62| [Class] Tuples
|
|
# 64| 5: [Method] F
|
|
# 64| -1: [TypeMention] (int, int)
|
|
# 64| 1: [TypeMention] int
|
|
# 64| 2: [TypeMention] int
|
|
# 65| 4: [BlockStmt] {...}
|
|
# 66| 0: [ReturnStmt] return ...;
|
|
# 66| 0: [TupleExpr] (..., ...)
|
|
# 66| 0: [IntLiteral] 1
|
|
# 66| 1: [IntLiteral] 2
|
|
# 69| 6: [Method] Expressions
|
|
# 69| -1: [TypeMention] Void
|
|
# 70| 4: [BlockStmt] {...}
|
|
# 71| 0: [ExprStmt] ...;
|
|
# 71| 0: [AssignExpr] ... = ...
|
|
# 71| 0: [TupleExpr] (..., ...)
|
|
# 71| 0: [LocalVariableDeclExpr] Int32 x
|
|
# 71| 1: [LocalVariableDeclExpr] Int32 y
|
|
# 71| 1: [MethodCall] call to method F
|
|
# 72| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 72| 0: [LocalVariableDeclAndInitExpr] (Int32,Int32) z = ...
|
|
# 72| -1: [TypeMention] (int, int)
|
|
# 72| 0: [LocalVariableAccess] access to local variable z
|
|
# 72| 1: [MethodCall] call to method F
|
|
# 73| 2: [ExprStmt] ...;
|
|
# 73| 0: [AssignExpr] ... = ...
|
|
# 73| 0: [TupleExpr] (..., ...)
|
|
# 73| 0: [LocalVariableAccess] access to local variable x
|
|
# 73| 1: [LocalVariableAccess] access to local variable y
|
|
# 73| 1: [MethodCall] call to method F
|
|
# 74| 3: [ExprStmt] ...;
|
|
# 74| 0: [AssignExpr] ... = ...
|
|
# 74| 0: [LocalVariableAccess] access to local variable x
|
|
# 74| 1: [FieldAccess] access to field Item1
|
|
# 74| -1: [MethodCall] call to method F
|
|
# 75| 4: [ExprStmt] ...;
|
|
# 75| 0: [AssignExpr] ... = ...
|
|
# 75| 0: [TupleExpr] (..., ...)
|
|
# 75| 0: [LocalVariableAccess] access to local variable x
|
|
# 75| 1: [LocalVariableAccess] access to local variable y
|
|
# 75| 2: [FieldAccess] access to field Item1
|
|
# 75| -1: [LocalVariableAccess] access to local variable z
|
|
# 75| 1: [TupleExpr] (..., ...)
|
|
# 75| 0: [IntLiteral] 1
|
|
# 75| 1: [IntLiteral] 2
|
|
# 75| 2: [IntLiteral] 3
|
|
# 76| 5: [ExprStmt] ...;
|
|
# 76| 0: [AssignExpr] ... = ...
|
|
# 76| 0: [TupleExpr] (..., ...)
|
|
# 76| 0: [LocalVariableAccess] access to local variable x
|
|
# 76| 1: [LocalVariableAccess] access to local variable y
|
|
# 76| 1: [AssignExpr] ... = ...
|
|
# 76| 0: [TupleExpr] (..., ...)
|
|
# 76| 0: [LocalVariableAccess] access to local variable x
|
|
# 76| 1: [LocalVariableAccess] access to local variable y
|
|
# 76| 1: [TupleExpr] (..., ...)
|
|
# 76| 0: [IntLiteral] 1
|
|
# 76| 1: [IntLiteral] 2
|
|
# 77| 6: [ExprStmt] ...;
|
|
# 77| 0: [AssignExpr] ... = ...
|
|
# 77| 0: [TupleExpr] (..., ...)
|
|
# 77| 0: [LocalVariableDeclExpr] Int32 a
|
|
# 77| 1: [TupleExpr] (..., ...)
|
|
# 77| 0: [LocalVariableDeclExpr] Int32 b
|
|
# 77| 1: [LocalVariableDeclExpr] Int32 c
|
|
# 77| 1: [TupleExpr] (..., ...)
|
|
# 77| 0: [IntLiteral] 1
|
|
# 77| 1: [LocalVariableAccess] access to local variable z
|
|
# 78| 7: [ExprStmt] ...;
|
|
# 78| 0: [AssignExpr] ... = ...
|
|
# 78| 0: [TupleExpr] (..., ...)
|
|
# 78| 0: [LocalVariableAccess] access to local variable a
|
|
# 78| 1: [TupleExpr] (..., ...)
|
|
# 78| 0: [LocalVariableAccess] access to local variable b
|
|
# 78| 1: [LocalVariableAccess] access to local variable c
|
|
# 78| 1: [TupleExpr] (..., ...)
|
|
# 78| 0: [LocalVariableAccess] access to local variable b
|
|
# 78| 1: [TupleExpr] (..., ...)
|
|
# 78| 0: [LocalVariableAccess] access to local variable c
|
|
# 78| 1: [LocalVariableAccess] access to local variable a
|
|
# 79| 8: [ExprStmt] ...;
|
|
# 79| 0: [AssignExpr] ... = ...
|
|
# 79| 0: [TupleExpr] (..., ...)
|
|
# 79| 0: [LocalVariableDeclExpr] String i
|
|
# 79| 1: [LocalVariableDeclExpr] Int32 j
|
|
# 79| 1: [TupleExpr] (..., ...)
|
|
# 79| 0: [StringLiteral] ""
|
|
# 79| 1: [LocalVariableAccess] access to local variable x
|
|
# 82| 7: [Method] I
|
|
# 82| -1: [TypeMention] string
|
|
#-----| 2: (Parameters)
|
|
# 82| 0: [Parameter] x
|
|
# 82| -1: [TypeMention] string
|
|
# 83| 4: [BlockStmt] {...}
|
|
# 84| 0: [ReturnStmt] return ...;
|
|
# 84| 0: [FieldAccess] access to field Item1
|
|
# 84| -1: [TupleExpr] (..., ...)
|
|
# 84| 0: [ParameterAccess] access to parameter x
|
|
# 84| 1: [IntLiteral] 2
|
|
# 87| 8: [Method] TaintFlow
|
|
# 87| -1: [TypeMention] Void
|
|
# 88| 4: [BlockStmt] {...}
|
|
# 89| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 89| 0: [LocalVariableDeclAndInitExpr] (String,String) t1 = ...
|
|
# 89| -1: [TypeMention] (string, string)
|
|
# 89| 0: [LocalVariableAccess] access to local variable t1
|
|
# 89| 1: [TupleExpr] (..., ...)
|
|
# 89| 0: [StringLiteral] "tainted"
|
|
# 89| 1: [StringLiteral] "X2"
|
|
# 90| 1: [ExprStmt] ...;
|
|
# 90| 0: [AssignExpr] ... = ...
|
|
# 90| 0: [TupleExpr] (..., ...)
|
|
# 90| 0: [LocalVariableDeclExpr] String t2
|
|
# 90| 1: [LocalVariableDeclExpr] String t3
|
|
# 90| 1: [LocalVariableAccess] access to local variable t1
|
|
# 91| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 91| 0: [LocalVariableDeclAndInitExpr] String t4 = ...
|
|
# 91| -1: [TypeMention] string
|
|
# 91| 0: [LocalVariableAccess] access to local variable t4
|
|
# 91| 1: [LocalVariableAccess] access to local variable t3
|
|
# 92| 3: [LocalVariableDeclStmt] ... ...;
|
|
# 92| 0: [LocalVariableDeclAndInitExpr] String t5 = ...
|
|
# 92| -1: [TypeMention] string
|
|
# 92| 0: [LocalVariableAccess] access to local variable t5
|
|
# 92| 1: [MethodCall] call to method I
|
|
# 92| 0: [FieldAccess] access to field Item1
|
|
# 92| -1: [LocalVariableAccess] access to local variable t1
|
|
# 95| 9: [Method] TupleExprNode
|
|
# 95| -1: [TypeMention] Void
|
|
# 96| 4: [BlockStmt] {...}
|
|
# 97| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 97| 0: [LocalVariableDeclAndInitExpr] (Int32,String) m1 = ...
|
|
# 97| -1: [TypeMention] (int, string)
|
|
# 97| 0: [LocalVariableAccess] access to local variable m1
|
|
# 97| 1: [TupleExpr] (..., ...)
|
|
# 97| 0: [IntLiteral] 1
|
|
# 97| 1: [StringLiteral] "TupleExprNode1"
|
|
# 98| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 98| 0: [LocalVariableDeclAndInitExpr] (Int32,(String,Int32)) m2 = ...
|
|
# 98| -1: [TypeMention] (int, (string, int))
|
|
# 98| 0: [LocalVariableAccess] access to local variable m2
|
|
# 98| 1: [TupleExpr] (..., ...)
|
|
# 98| 0: [IntLiteral] 1
|
|
# 98| 1: [TupleExpr] (..., ...)
|
|
# 98| 0: [StringLiteral] "TupleExprNode2"
|
|
# 98| 1: [IntLiteral] 2
|
|
# 101| 10: [Method] TupleMemberAccess
|
|
# 101| -1: [TypeMention] Void
|
|
# 102| 4: [BlockStmt] {...}
|
|
# 103| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 103| 0: [LocalVariableDeclAndInitExpr] String m1 = ...
|
|
# 103| -1: [TypeMention] string
|
|
# 103| 0: [LocalVariableAccess] access to local variable m1
|
|
# 103| 1: [FieldAccess] access to field Item1
|
|
# 103| -1: [TupleExpr] (..., ...)
|
|
# 103| 0: [StringLiteral] "TupleMemberAccess1"
|
|
# 103| 1: [IntLiteral] 0
|
|
# 104| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 104| 0: [LocalVariableDeclAndInitExpr] (String,Int32) m2 = ...
|
|
# 104| -1: [TypeMention] (string, int)
|
|
# 104| 0: [LocalVariableAccess] access to local variable m2
|
|
# 104| 1: [FieldAccess] access to field Item2
|
|
# 104| -1: [TupleExpr] (..., ...)
|
|
# 104| 0: [IntLiteral] 0
|
|
# 104| 1: [TupleExpr] (..., ...)
|
|
# 104| 0: [StringLiteral] "TupleMemberAccess2"
|
|
# 104| 1: [IntLiteral] 1
|
|
# 107| 11: [Method] DefUse
|
|
# 107| -1: [TypeMention] Void
|
|
# 108| 4: [BlockStmt] {...}
|
|
# 109| 0: [ExprStmt] ...;
|
|
# 109| 0: [AssignExpr] ... = ...
|
|
# 109| 0: [TupleExpr] (..., ...)
|
|
# 109| 0: [LocalVariableDeclExpr] String m1
|
|
# 109| 1: [LocalVariableDeclExpr] (Int32,Int32) m2
|
|
# 109| 1: [TupleExpr] (..., ...)
|
|
# 109| 0: [StringLiteral] "DefUse1"
|
|
# 109| 1: [TupleExpr] (..., ...)
|
|
# 109| 0: [IntLiteral] 0
|
|
# 109| 1: [IntLiteral] 1
|
|
# 110| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 110| 0: [LocalVariableDeclExpr] String m3
|
|
# 110| 0: [TypeMention] string
|
|
# 111| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 111| 0: [LocalVariableDeclExpr] Int32 m4
|
|
# 111| 0: [TypeMention] int
|
|
# 111| 1: [LocalVariableDeclExpr] Int32 m5
|
|
# 111| 0: [TypeMention] int
|
|
# 112| 3: [ExprStmt] ...;
|
|
# 112| 0: [AssignExpr] ... = ...
|
|
# 112| 0: [TupleExpr] (..., ...)
|
|
# 112| 0: [LocalVariableAccess] access to local variable m3
|
|
# 112| 1: [TupleExpr] (..., ...)
|
|
# 112| 0: [LocalVariableAccess] access to local variable m4
|
|
# 112| 1: [LocalVariableAccess] access to local variable m5
|
|
# 112| 1: [TupleExpr] (..., ...)
|
|
# 112| 0: [LocalVariableAccess] access to local variable m1
|
|
# 112| 1: [LocalVariableAccess] access to local variable m2
|
|
# 113| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 113| 0: [LocalVariableDeclAndInitExpr] Int32 m6 = ...
|
|
# 113| -1: [TypeMention] int
|
|
# 113| 0: [LocalVariableAccess] access to local variable m6
|
|
# 113| 1: [LocalVariableAccess] access to local variable m4
|
|
# 114| 5: [ExprStmt] ...;
|
|
# 114| 0: [AssignExpr] ... = ...
|
|
# 114| 0: [TupleExpr] (..., ...)
|
|
# 114| 0: [LocalVariableDeclExpr] String m7
|
|
# 114| 1: [TupleExpr] (..., ...)
|
|
# 114| 0: [LocalVariableDeclExpr] Int32 m8
|
|
# 114| 1: [LocalVariableDeclExpr] Int32 m9
|
|
# 114| 1: [AssignExpr] ... = ...
|
|
# 114| 0: [TupleExpr] (..., ...)
|
|
# 114| 0: [LocalVariableAccess] access to local variable m1
|
|
# 114| 1: [LocalVariableAccess] access to local variable m2
|
|
# 114| 1: [TupleExpr] (..., ...)
|
|
# 114| 0: [StringLiteral] "DefUse2"
|
|
# 114| 1: [TupleExpr] (..., ...)
|
|
# 114| 0: [IntLiteral] 0
|
|
# 114| 1: [IntLiteral] 1
|
|
# 115| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 115| 0: [LocalVariableDeclAndInitExpr] Int32 m10 = ...
|
|
# 115| -1: [TypeMention] int
|
|
# 115| 0: [LocalVariableAccess] access to local variable m10
|
|
# 115| 1: [LocalVariableAccess] access to local variable m9
|
|
# 118| 7: [ExprStmt] ...;
|
|
# 118| 0: [AssignExpr] ... = ...
|
|
# 118| 0: [FieldAccess] access to field Item2
|
|
# 118| -1: [LocalVariableAccess] access to local variable m2
|
|
# 118| 1: [IntLiteral] 0
|
|
# 119| 8: [LocalVariableDeclStmt] ... ...;
|
|
# 119| 0: [LocalVariableDeclAndInitExpr] Int32 m11 = ...
|
|
# 119| -1: [TypeMention] int
|
|
# 119| 0: [LocalVariableAccess] access to local variable m11
|
|
# 119| 1: [FieldAccess] access to field Item1
|
|
# 119| -1: [LocalVariableAccess] access to local variable m2
|
|
# 122| 9: [LocalVariableDeclStmt] ... ...;
|
|
# 122| 0: [LocalVariableDeclExpr] String m12
|
|
# 122| 0: [TypeMention] string
|
|
# 123| 10: [LocalVariableDeclStmt] ... ...;
|
|
# 123| 0: [LocalVariableDeclAndInitExpr] String m13 = ...
|
|
# 123| -1: [TypeMention] string
|
|
# 123| 0: [LocalVariableAccess] access to local variable m13
|
|
# 123| 1: [AssignExpr] ... = ...
|
|
# 123| 0: [LocalVariableAccess] access to local variable m12
|
|
# 123| 1: [StringLiteral] "DefUse3"
|
|
# 127| [Class] LocalFunctions
|
|
# 129| 5: [Method] Main
|
|
# 129| -1: [TypeMention] int
|
|
# 130| 4: [BlockStmt] {...}
|
|
# 131| 0: [LocalFunctionStmt] f1(...)
|
|
# 131| 0: [LocalFunction] f1
|
|
#-----| 2: (Parameters)
|
|
# 131| 0: [Parameter] x
|
|
# 131| -1: [TypeMention] int
|
|
# 131| 4: [BlockStmt] {...}
|
|
# 131| 0: [ReturnStmt] return ...;
|
|
# 131| 0: [AddExpr] ... + ...
|
|
# 131| 0: [ParameterAccess] access to parameter x
|
|
# 131| 1: [IntLiteral] 1
|
|
# 133| 1: [LocalFunctionStmt] f2(...)
|
|
# 133| 0: [LocalFunction] f2
|
|
#-----| 1: (Type parameters)
|
|
# 133| 0: [TypeParameter] T
|
|
# 133| 1: [TypeParameter] U
|
|
#-----| 2: (Parameters)
|
|
# 133| 0: [Parameter] t
|
|
# 133| -1: [TypeMention] T
|
|
# 133| 1: [Parameter] u
|
|
# 133| -1: [TypeMention] U
|
|
# 133| 4: [BlockStmt] {...}
|
|
# 133| 0: [ReturnStmt] return ...;
|
|
# 133| 0: [ParameterAccess] access to parameter t
|
|
# 135| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 135| 0: [LocalVariableDeclAndInitExpr] Func<Int32> f4 = ...
|
|
# 135| -1: [TypeMention] Func<Int32>
|
|
# 135| 1: [TypeMention] int
|
|
# 135| 0: [LocalVariableAccess] access to local variable f4
|
|
# 135| 1: [ImplicitDelegateCreation] delegate creation of type Func<Int32>
|
|
# 135| 0: [LocalFunctionAccess] access to local function f3
|
|
# 137| 3: [LocalFunctionStmt] f3(...)
|
|
# 137| 0: [LocalFunction] f3
|
|
# 137| 4: [IntLiteral] 2
|
|
# 139| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 139| 0: [LocalVariableDeclAndInitExpr] Func<Int32,Int32> f5 = ...
|
|
# 139| -1: [TypeMention] Func<Int32, Int32>
|
|
# 139| 1: [TypeMention] int
|
|
# 139| 2: [TypeMention] int
|
|
# 139| 0: [LocalVariableAccess] access to local variable f5
|
|
# 139| 1: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 139| 0: [Parameter] x
|
|
# 139| 4: [AddExpr] ... + ...
|
|
# 139| 0: [ParameterAccess] access to parameter x
|
|
# 139| 1: [IntLiteral] 1
|
|
# 141| 5: [LocalFunctionStmt] f6(...)
|
|
# 141| 0: [LocalFunction] f6
|
|
#-----| 2: (Parameters)
|
|
# 141| 0: [Parameter] x
|
|
# 141| -1: [TypeMention] int
|
|
# 141| 4: [ConditionalExpr] ... ? ... : ...
|
|
# 141| 0: [GTExpr] ... > ...
|
|
# 141| 0: [ParameterAccess] access to parameter x
|
|
# 141| 1: [IntLiteral] 0
|
|
# 141| 1: [AddExpr] ... + ...
|
|
# 141| 0: [IntLiteral] 1
|
|
# 141| 1: [LocalFunctionCall] call to local function f7
|
|
# 141| -1: [LocalFunctionAccess] access to local function f7
|
|
# 141| 0: [SubExpr] ... - ...
|
|
# 141| 0: [ParameterAccess] access to parameter x
|
|
# 141| 1: [IntLiteral] 1
|
|
# 141| 2: [IntLiteral] 0
|
|
# 143| 6: [LocalFunctionStmt] f7(...)
|
|
# 143| 0: [LocalFunction] f7
|
|
#-----| 2: (Parameters)
|
|
# 143| 0: [Parameter] x
|
|
# 143| -1: [TypeMention] int
|
|
# 143| 4: [LocalFunctionCall] call to local function f6
|
|
# 143| -1: [LocalFunctionAccess] access to local function f6
|
|
# 143| 0: [ParameterAccess] access to parameter x
|
|
# 145| 7: [LocalFunctionStmt] f8(...)
|
|
# 145| 0: [LocalFunction] f8
|
|
# 146| 4: [BlockStmt] {...}
|
|
# 147| 0: [LocalFunctionStmt] f9(...)
|
|
# 147| 0: [LocalFunction] f9
|
|
#-----| 2: (Parameters)
|
|
# 147| 0: [Parameter] x
|
|
# 147| -1: [TypeMention] int
|
|
# 147| 4: [LocalFunctionCall] call to local function f7
|
|
# 147| -1: [LocalFunctionAccess] access to local function f7
|
|
# 147| 0: [ParameterAccess] access to parameter x
|
|
# 148| 1: [ReturnStmt] return ...;
|
|
# 148| 0: [LocalFunctionCall] call to local function f9
|
|
# 148| -1: [LocalFunctionAccess] access to local function f9
|
|
# 148| 0: [IntLiteral] 1
|
|
# 151| 8: [LocalVariableDeclStmt] ... ...;
|
|
# 151| 0: [LocalVariableDeclAndInitExpr] Action a = ...
|
|
# 151| -1: [TypeMention] Action
|
|
# 151| 0: [LocalVariableAccess] access to local variable a
|
|
# 151| 1: [LambdaExpr] (...) => ...
|
|
# 152| 4: [BlockStmt] {...}
|
|
# 153| 0: [LocalFunctionStmt] f9(...)
|
|
# 153| 0: [LocalFunction] f9
|
|
# 153| 4: [IntLiteral] 0
|
|
# 156| 9: [ReturnStmt] return ...;
|
|
# 156| 0: [LocalFunctionCall] call to local function f1
|
|
# 156| -1: [LocalFunctionAccess] access to local function f1
|
|
# 156| 0: [IntLiteral] 2
|
|
# 159| 6: [Method] Generics
|
|
# 159| -1: [TypeMention] Void
|
|
# 160| 4: [BlockStmt] {...}
|
|
# 161| 0: [LocalFunctionStmt] f(...)
|
|
# 161| 0: [LocalFunction] f
|
|
#-----| 1: (Type parameters)
|
|
# 161| 0: [TypeParameter] T
|
|
# 161| 4: [IntLiteral] 1
|
|
# 162| 1: [LocalFunctionStmt] g(...)
|
|
# 162| 0: [LocalFunction] g
|
|
#-----| 1: (Type parameters)
|
|
# 162| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 162| 0: [Parameter] t
|
|
# 162| -1: [TypeMention] T
|
|
# 162| 4: [ParameterAccess] access to parameter t
|
|
# 164| 2: [LocalFunctionStmt] h(...)
|
|
# 164| 0: [LocalFunction] h
|
|
#-----| 1: (Type parameters)
|
|
# 164| 0: [TypeParameter] T
|
|
# 164| 1: [TypeParameter] U
|
|
#-----| 2: (Parameters)
|
|
# 164| 0: [Parameter] t
|
|
# 164| -1: [TypeMention] T
|
|
# 164| 1: [Parameter] u
|
|
# 164| -1: [TypeMention] U
|
|
# 165| 4: [BlockStmt] {...}
|
|
# 166| 0: [LocalFunctionStmt] f2(...)
|
|
# 166| 0: [LocalFunction] f2
|
|
#-----| 1: (Type parameters)
|
|
# 166| 0: [TypeParameter] S
|
|
#-----| 2: (Parameters)
|
|
# 166| 0: [Parameter] s
|
|
# 166| -1: [TypeMention] S
|
|
# 166| 1: [Parameter] _t
|
|
# 166| -1: [TypeMention] T
|
|
# 166| 4: [LocalFunctionCall] call to local function f
|
|
# 166| -1: [LocalFunctionAccess] access to local function f
|
|
# 167| 1: [ExprStmt] ...;
|
|
# 167| 0: [LocalFunctionCall] call to local function f
|
|
# 167| -1: [LocalFunctionAccess] access to local function f
|
|
# 168| 2: [ReturnStmt] return ...;
|
|
# 168| 0: [LocalFunctionCall] call to local function g
|
|
# 168| -1: [LocalFunctionAccess] access to local function g
|
|
# 168| 0: [ParameterAccess] access to parameter u
|
|
# 171| 3: [ExprStmt] ...;
|
|
# 171| 0: [LocalFunctionCall] call to local function h
|
|
# 171| -1: [LocalFunctionAccess] access to local function h
|
|
# 171| 0: [IntLiteral] 0
|
|
# 171| 1: [IntLiteral] 0
|
|
# 172| 4: [ExprStmt] ...;
|
|
# 172| 0: [LocalFunctionCall] call to local function h
|
|
# 172| -1: [LocalFunctionAccess] access to local function h
|
|
# 172| 0: [StringLiteral] ""
|
|
# 172| 1: [BoolLiteral] true
|
|
# 175| 7: [Method] GlobalFlow
|
|
# 175| -1: [TypeMention] Void
|
|
# 176| 4: [BlockStmt] {...}
|
|
# 177| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 177| 0: [LocalVariableDeclAndInitExpr] String src = ...
|
|
# 177| -1: [TypeMention] string
|
|
# 177| 0: [LocalVariableAccess] access to local variable src
|
|
# 177| 1: [StringLiteral] "tainted"
|
|
# 178| 1: [LocalFunctionStmt] f(...)
|
|
# 178| 0: [LocalFunction] f
|
|
#-----| 2: (Parameters)
|
|
# 178| 0: [Parameter] s
|
|
# 178| -1: [TypeMention] string
|
|
# 178| 4: [AddExpr] ... + ...
|
|
# 178| 0: [LocalFunctionCall] call to local function g
|
|
# 178| -1: [LocalFunctionAccess] access to local function g
|
|
# 178| 0: [ParameterAccess] access to parameter s
|
|
# 178| 1: [StringLiteral] ""
|
|
# 179| 2: [LocalFunctionStmt] g(...)
|
|
# 179| 0: [LocalFunction] g
|
|
#-----| 2: (Parameters)
|
|
# 179| 0: [Parameter] s
|
|
# 179| -1: [TypeMention] string
|
|
# 179| 4: [ParameterAccess] access to parameter s
|
|
# 180| 3: [LocalFunctionStmt] h(...)
|
|
# 180| 0: [LocalFunction] h
|
|
#-----| 2: (Parameters)
|
|
# 180| 0: [Parameter] s
|
|
# 180| -1: [TypeMention] string
|
|
# 180| 4: [BlockStmt] {...}
|
|
# 180| 0: [ReturnStmt] return ...;
|
|
# 180| 0: [ParameterAccess] access to parameter s
|
|
# 182| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 182| 0: [LocalVariableDeclAndInitExpr] String sink1 = ...
|
|
# 182| -1: [TypeMention] string
|
|
# 182| 0: [LocalVariableAccess] access to local variable sink1
|
|
# 182| 1: [LocalFunctionCall] call to local function f
|
|
# 182| -1: [LocalFunctionAccess] access to local function f
|
|
# 182| 0: [LocalVariableAccess] access to local variable src
|
|
# 183| 5: [LocalVariableDeclStmt] ... ...;
|
|
# 183| 0: [LocalVariableDeclAndInitExpr] String sink2 = ...
|
|
# 183| -1: [TypeMention] string
|
|
# 183| 0: [LocalVariableAccess] access to local variable sink2
|
|
# 183| 1: [LocalFunctionCall] call to local function g
|
|
# 183| -1: [LocalFunctionAccess] access to local function g
|
|
# 183| 0: [LocalVariableAccess] access to local variable src
|
|
# 184| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 184| 0: [LocalVariableDeclAndInitExpr] String sink3 = ...
|
|
# 184| -1: [TypeMention] string
|
|
# 184| 0: [LocalVariableAccess] access to local variable sink3
|
|
# 184| 1: [LocalFunctionCall] call to local function h
|
|
# 184| -1: [LocalFunctionAccess] access to local function h
|
|
# 184| 0: [LocalVariableAccess] access to local variable src
|
|
# 188| [Class] Refs
|
|
# 190| 5: [Method] F1
|
|
# 190| -1: [TypeMention] Void
|
|
# 191| 4: [BlockStmt] {...}
|
|
# 192| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 192| 0: [LocalVariableDeclAndInitExpr] Int32 v1 = ...
|
|
# 192| -1: [TypeMention] int
|
|
# 192| 0: [LocalVariableAccess] access to local variable v1
|
|
# 192| 1: [IntLiteral] 2
|
|
# 193| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 193| 0: [LocalVariableDeclAndInitExpr] Int32 r1 = ...
|
|
# 193| -1: [TypeMention] null
|
|
# 193| 0: [LocalVariableAccess] access to local variable r1
|
|
# 193| 1: [RefExpr] ref ...
|
|
# 193| 0: [LocalVariableAccess] access to local variable v1
|
|
# 194| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 194| 0: [LocalVariableDeclAndInitExpr] Int32[] array = ...
|
|
# 194| -1: [TypeMention] Int32[]
|
|
# 194| 0: [LocalVariableAccess] access to local variable array
|
|
# 194| 1: [ArrayCreation] array creation of type Int32[]
|
|
# 194| -1: [TypeMention] Int32[]
|
|
# 194| 1: [TypeMention] int
|
|
# 194| 0: [IntLiteral] 10
|
|
# 195| 3: [ExprStmt] ...;
|
|
# 195| 0: [AssignExpr] ... = ...
|
|
# 195| 0: [LocalVariableAccess] access to local variable r1
|
|
# 195| 1: [IntLiteral] 3
|
|
# 196| 4: [ExprStmt] ...;
|
|
# 196| 0: [AssignExpr] ... = ...
|
|
# 196| 0: [LocalVariableAccess] access to local variable r1
|
|
# 196| 1: [ArrayAccess] access to array element
|
|
# 196| -1: [LocalVariableAccess] access to local variable array
|
|
# 196| 0: [IntLiteral] 1
|
|
# 197| 5: [LocalVariableDeclStmt] ... ...;
|
|
# 197| 0: [LocalVariableDeclAndInitExpr] Int32 r2 = ...
|
|
# 197| -1: [TypeMention] null
|
|
# 197| 0: [LocalVariableAccess] access to local variable r2
|
|
# 197| 1: [RefExpr] ref ...
|
|
# 197| 0: [ArrayAccess] access to array element
|
|
# 197| -1: [LocalVariableAccess] access to local variable array
|
|
# 197| 0: [IntLiteral] 3
|
|
# 198| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 198| 0: [LocalVariableDeclAndInitExpr] Int32 r3 = ...
|
|
# 198| -1: [TypeMention] null
|
|
# 198| 0: [LocalVariableAccess] access to local variable r3
|
|
# 198| 1: [RefExpr] ref ...
|
|
# 198| 0: [LocalVariableAccess] access to local variable r1
|
|
# 199| 7: [ExprStmt] ...;
|
|
# 199| 0: [AssignExpr] ... = ...
|
|
# 199| 0: [LocalVariableAccess] access to local variable v1
|
|
# 199| 1: [MethodCall] call to method F2
|
|
# 199| 0: [LocalVariableAccess] access to local variable v1
|
|
# 200| 8: [LocalVariableDeclStmt] ... ...;
|
|
# 200| 0: [LocalVariableDeclAndInitExpr] Int32 r4 = ...
|
|
# 200| -1: [TypeMention] null
|
|
# 200| 0: [LocalVariableAccess] access to local variable r4
|
|
# 200| 1: [RefExpr] ref ...
|
|
# 200| 0: [MethodCall] call to method F2
|
|
# 200| 0: [LocalVariableAccess] access to local variable r1
|
|
# 201| 9: [ExprStmt] ...;
|
|
# 201| 0: [AssignExpr] ... = ...
|
|
# 201| 0: [MethodCall] call to method F2
|
|
# 201| 0: [LocalVariableAccess] access to local variable r1
|
|
# 201| 1: [IntLiteral] 3
|
|
# 204| 6: [Method] F2
|
|
# 204| -1: [TypeMention] int
|
|
#-----| 2: (Parameters)
|
|
# 204| 0: [Parameter] p
|
|
# 204| -1: [TypeMention] int
|
|
# 205| 4: [BlockStmt] {...}
|
|
# 206| 0: [LocalFunctionStmt] F3(...)
|
|
# 206| 0: [LocalFunction] F3
|
|
#-----| 2: (Parameters)
|
|
# 206| 0: [Parameter] q
|
|
# 206| -1: [TypeMention] int
|
|
# 206| 4: [BlockStmt] {...}
|
|
# 206| 0: [ReturnStmt] return ...;
|
|
# 206| 0: [RefExpr] ref ...
|
|
# 206| 0: [ParameterAccess] access to parameter q
|
|
# 207| 1: [ReturnStmt] return ...;
|
|
# 207| 0: [RefExpr] ref ...
|
|
# 207| 0: [ParameterAccess] access to parameter p
|
|
# 210| 7: [DelegateType] RefFn
|
|
#-----| 2: (Parameters)
|
|
# 210| 0: [Parameter] p
|
|
# 210| -1: [TypeMention] int
|
|
# 213| [Class] Discards
|
|
# 215| 5: [Method] f
|
|
# 215| -1: [TypeMention] (int, double)
|
|
# 215| 1: [TypeMention] int
|
|
# 215| 2: [TypeMention] double
|
|
#-----| 2: (Parameters)
|
|
# 215| 0: [Parameter] x
|
|
# 215| -1: [TypeMention] bool
|
|
# 216| 4: [BlockStmt] {...}
|
|
# 217| 0: [ExprStmt] ...;
|
|
# 217| 0: [AssignExpr] ... = ...
|
|
# 217| 0: [ParameterAccess] access to parameter x
|
|
# 217| 1: [BoolLiteral] false
|
|
# 218| 1: [ReturnStmt] return ...;
|
|
# 218| 0: [TupleExpr] (..., ...)
|
|
# 218| 0: [IntLiteral] 0
|
|
# 218| 1: [DoubleLiteral] 0
|
|
# 221| 6: [Method] Test
|
|
# 221| -1: [TypeMention] Void
|
|
# 222| 4: [BlockStmt] {...}
|
|
# 223| 0: [ExprStmt] ...;
|
|
# 223| 0: [AssignExpr] ... = ...
|
|
# 223| 0: [DiscardExpr] _
|
|
# 223| 1: [MethodCall] call to method f
|
|
# 223| 0: [DiscardExpr] _
|
|
# 224| 1: [ExprStmt] ...;
|
|
# 224| 0: [AssignExpr] ... = ...
|
|
# 224| 0: [TupleExpr] (..., ...)
|
|
# 224| 0: [DiscardExpr] _
|
|
# 224| 1: [DiscardExpr] _
|
|
# 224| 1: [MethodCall] call to method f
|
|
# 224| 0: [DiscardExpr] _
|
|
# 225| 2: [ExprStmt] ...;
|
|
# 225| 0: [AssignExpr] ... = ...
|
|
# 225| 0: [TupleExpr] (..., ...)
|
|
# 225| 0: [LocalVariableDeclExpr] Int32 x
|
|
# 225| 1: [DiscardExpr] _
|
|
# 225| 1: [MethodCall] call to method f
|
|
# 225| 0: [DiscardExpr] _
|
|
# 226| 3: [ExprStmt] ...;
|
|
# 226| 0: [AssignExpr] ... = ...
|
|
# 226| 0: [TupleExpr] (..., ...)
|
|
# 226| 0: [DiscardExpr] _
|
|
# 226| 1: [LocalVariableDeclExpr] Double y
|
|
# 226| 1: [MethodCall] call to method f
|
|
# 226| 0: [LocalVariableAccess,LocalVariableDeclExpr] Boolean z
|
|
# 230| [Class] Patterns
|
|
# 232| 5: [Method] Test
|
|
# 232| -1: [TypeMention] Void
|
|
# 233| 4: [BlockStmt] {...}
|
|
# 234| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 234| 0: [LocalVariableDeclAndInitExpr] Object o = ...
|
|
# 234| -1: [TypeMention] object
|
|
# 234| 0: [LocalVariableAccess] access to local variable o
|
|
# 234| 1: [NullLiteral] null
|
|
# 235| 1: [IfStmt] if (...) ...
|
|
# 235| 0: [LogicalAndExpr] ... && ...
|
|
# 235| 0: [IsExpr] ... is ...
|
|
# 235| 0: [LocalVariableAccess] access to local variable o
|
|
# 235| 1: [VariablePatternExpr] Int32 i1
|
|
# 235| 0: [TypeMention] int
|
|
# 235| 1: [GTExpr] ... > ...
|
|
# 235| 0: [LocalVariableAccess] access to local variable i1
|
|
# 235| 1: [IntLiteral] 0
|
|
# 236| 1: [BlockStmt] {...}
|
|
# 237| 0: [ExprStmt] ...;
|
|
# 237| 0: [MethodCall] call to method WriteLine
|
|
# 237| -1: [TypeAccess] access to type Console
|
|
# 237| 0: [TypeMention] Console
|
|
# 237| 0: [InterpolatedStringExpr] $"..."
|
|
# 237| 0: [StringLiteral] "int "
|
|
# 237| 1: [LocalVariableAccess] access to local variable i1
|
|
# 239| 2: [IfStmt] if (...) ...
|
|
# 239| 0: [IsExpr] ... is ...
|
|
# 239| 0: [LocalVariableAccess] access to local variable o
|
|
# 239| 1: [VariablePatternExpr] String s1
|
|
# 239| 0: [TypeMention] string
|
|
# 240| 1: [BlockStmt] {...}
|
|
# 241| 0: [ExprStmt] ...;
|
|
# 241| 0: [MethodCall] call to method WriteLine
|
|
# 241| -1: [TypeAccess] access to type Console
|
|
# 241| 0: [TypeMention] Console
|
|
# 241| 0: [InterpolatedStringExpr] $"..."
|
|
# 241| 0: [StringLiteral] "string "
|
|
# 241| 1: [LocalVariableAccess] access to local variable s1
|
|
# 243| 2: [IfStmt] if (...) ...
|
|
# 243| 0: [IsExpr] ... is ...
|
|
# 243| 0: [LocalVariableAccess] access to local variable o
|
|
# 243| 1: [TypeAccessPatternExpr] access to type Double
|
|
# 243| 0: [TypeMention] double
|
|
# 244| 1: [BlockStmt] {...}
|
|
# 246| 2: [IfStmt] if (...) ...
|
|
# 246| 0: [IsExpr] ... is ...
|
|
# 246| 0: [LocalVariableAccess] access to local variable o
|
|
# 246| 1: [VariablePatternExpr] Object v1
|
|
# 247| 1: [BlockStmt] {...}
|
|
# 250| 2: [SwitchStmt] switch (...) {...}
|
|
# 250| 0: [LocalVariableAccess] access to local variable o
|
|
# 252| 0: [ConstCase] case ...:
|
|
# 252| 0: [ConstantPatternExpr,StringLiteral] "xyz"
|
|
# 253| 1: [BreakStmt] break;
|
|
# 254| 2: [ConstCase] case ...:
|
|
# 254| 0: [ConstantPatternExpr,StringLiteral] ""
|
|
# 254| 1: [LTExpr] ... < ...
|
|
# 254| 0: [IntLiteral] 1
|
|
# 254| 1: [IntLiteral] 2
|
|
# 255| 3: [BreakStmt] break;
|
|
# 256| 4: [ConstCase] case ...:
|
|
# 256| 0: [ConstantPatternExpr,StringLiteral] "x"
|
|
# 256| 1: [IsExpr] ... is ...
|
|
# 256| 0: [LocalVariableAccess] access to local variable o
|
|
# 256| 1: [VariablePatternExpr] String s4
|
|
# 256| 0: [TypeMention] string
|
|
# 257| 5: [ExprStmt] ...;
|
|
# 257| 0: [MethodCall] call to method WriteLine
|
|
# 257| -1: [TypeAccess] access to type Console
|
|
# 257| 0: [TypeMention] Console
|
|
# 257| 0: [InterpolatedStringExpr] $"..."
|
|
# 257| 0: [StringLiteral] "x "
|
|
# 257| 1: [LocalVariableAccess] access to local variable s4
|
|
# 258| 6: [BreakStmt] break;
|
|
# 259| 7: [CaseStmt] case ...:
|
|
# 259| 0: [VariablePatternExpr] Int32 i2
|
|
# 259| 0: [TypeMention] int
|
|
# 259| 1: [GTExpr] ... > ...
|
|
# 259| 0: [LocalVariableAccess] access to local variable i2
|
|
# 259| 1: [IntLiteral] 0
|
|
# 260| 8: [ExprStmt] ...;
|
|
# 260| 0: [MethodCall] call to method WriteLine
|
|
# 260| -1: [TypeAccess] access to type Console
|
|
# 260| 0: [TypeMention] Console
|
|
# 260| 0: [InterpolatedStringExpr] $"..."
|
|
# 260| 0: [StringLiteral] "positive "
|
|
# 260| 1: [LocalVariableAccess] access to local variable i2
|
|
# 261| 9: [BreakStmt] break;
|
|
# 262| 10: [CaseStmt] case ...:
|
|
# 262| 0: [VariablePatternExpr] Int32 i3
|
|
# 262| 0: [TypeMention] int
|
|
# 263| 11: [ExprStmt] ...;
|
|
# 263| 0: [MethodCall] call to method WriteLine
|
|
# 263| -1: [TypeAccess] access to type Console
|
|
# 263| 0: [TypeMention] Console
|
|
# 263| 0: [InterpolatedStringExpr] $"..."
|
|
# 263| 0: [StringLiteral] "int "
|
|
# 263| 1: [LocalVariableAccess] access to local variable i3
|
|
# 264| 12: [BreakStmt] break;
|
|
# 265| 13: [CaseStmt] case ...:
|
|
# 265| 0: [VariablePatternExpr] String s2
|
|
# 265| 0: [TypeMention] string
|
|
# 266| 14: [ExprStmt] ...;
|
|
# 266| 0: [MethodCall] call to method WriteLine
|
|
# 266| -1: [TypeAccess] access to type Console
|
|
# 266| 0: [TypeMention] Console
|
|
# 266| 0: [InterpolatedStringExpr] $"..."
|
|
# 266| 0: [StringLiteral] "string "
|
|
# 266| 1: [LocalVariableAccess] access to local variable s2
|
|
# 267| 15: [BreakStmt] break;
|
|
# 268| 16: [CaseStmt] case ...:
|
|
# 268| 0: [TypeAccessPatternExpr] access to type Double
|
|
# 268| 0: [TypeMention] double
|
|
# 269| 17: [ExprStmt] ...;
|
|
# 269| 0: [MethodCall] call to method WriteLine
|
|
# 269| -1: [TypeAccess] access to type Console
|
|
# 269| 0: [TypeMention] Console
|
|
# 269| 0: [StringLiteral] "Double"
|
|
# 270| 18: [BreakStmt] break;
|
|
# 271| 19: [CaseStmt] case ...:
|
|
# 271| 0: [VariablePatternExpr] Object v2
|
|
# 272| 20: [BreakStmt] break;
|
|
# 273| 21: [DefaultCase] default:
|
|
# 274| 22: [ExprStmt] ...;
|
|
# 274| 0: [MethodCall] call to method WriteLine
|
|
# 274| -1: [TypeAccess] access to type Console
|
|
# 274| 0: [TypeMention] Console
|
|
# 274| 0: [StringLiteral] "Something else"
|
|
# 275| 23: [BreakStmt] break;
|
|
# 280| [Class] ForeachStatements
|
|
# 282| 5: [Method] Test
|
|
# 282| -1: [TypeMention] Void
|
|
# 283| 4: [BlockStmt] {...}
|
|
# 284| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 284| 0: [LocalVariableDeclAndInitExpr] Dictionary<Int32,String> dict = ...
|
|
# 284| -1: [TypeMention] Dictionary<Int32, String>
|
|
# 284| 0: [LocalVariableAccess] access to local variable dict
|
|
# 284| 1: [ObjectCreation] object creation of type Dictionary<Int32,String>
|
|
# 284| 0: [TypeMention] Dictionary<Int32, String>
|
|
# 284| 1: [TypeMention] int
|
|
# 284| 2: [TypeMention] string
|
|
# 285| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 285| 0: [LocalVariableDeclAndInitExpr] IEnumerable<(Int32,String)> list = ...
|
|
# 285| -1: [TypeMention] IEnumerable<(Int32,String)>
|
|
# 285| 0: [LocalVariableAccess] access to local variable list
|
|
# 285| 1: [MethodCall] call to method Select
|
|
# 285| -1: [LocalVariableAccess] access to local variable dict
|
|
# 285| 0: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 285| 0: [Parameter] item
|
|
# 285| 4: [TupleExpr] (..., ...)
|
|
# 285| 0: [PropertyCall] access to property Key
|
|
# 285| -1: [ParameterAccess] access to parameter item
|
|
# 285| 1: [PropertyCall] access to property Value
|
|
# 285| -1: [ParameterAccess] access to parameter item
|
|
# 287| 2: [ForeachStmt] foreach (... ... in ...) ...
|
|
# 287| 0: [TupleExpr] (..., ...)
|
|
# 287| 0: [LocalVariableDeclExpr] Int32 a
|
|
# 287| 1: [LocalVariableDeclExpr] String b
|
|
# 287| 1: [LocalVariableAccess] access to local variable list
|
|
# 287| 2: [BlockStmt] {...}
|
|
# 289| 3: [ForeachStmt] foreach (... ... in ...) ...
|
|
# 289| 0: [TupleExpr] (..., ...)
|
|
# 289| 0: [LocalVariableDeclExpr] Int32 a
|
|
# 289| 1: [LocalVariableDeclExpr] String b
|
|
# 289| 1: [LocalVariableAccess] access to local variable list
|
|
# 289| 2: [BlockStmt] {...}
|
|
# 291| 4: [ForeachStmt] foreach (... ... in ...) ...
|
|
# 291| 0: [TupleExpr] (..., ...)
|
|
# 291| 0: [LocalVariableDeclExpr] Int32 a
|
|
# 291| 1: [LocalVariableDeclExpr] String b
|
|
# 291| 1: [LocalVariableAccess] access to local variable list
|
|
# 291| 2: [BlockStmt] {...}
|
|
# 295| [Class] ForLoops
|
|
# 297| 5: [Method] Test
|
|
# 297| -1: [TypeMention] Void
|
|
# 298| 4: [BlockStmt] {...}
|
|
# 299| 0: [ForStmt] for (...;...;...) ...
|
|
# 299| -1: [LocalVariableDeclAndInitExpr] Int32 x = ...
|
|
# 299| -1: [TypeMention] int
|
|
# 299| 0: [LocalVariableAccess] access to local variable x
|
|
# 299| 1: [IntLiteral] 0
|
|
# 299| 0: [LogicalAndExpr] ... && ...
|
|
# 299| 0: [LTExpr] ... < ...
|
|
# 299| 0: [LocalVariableAccess] access to local variable x
|
|
# 299| 1: [IntLiteral] 10
|
|
# 299| 1: [IsExpr] ... is ...
|
|
# 299| 0: [LocalVariableAccess] access to local variable x
|
|
# 299| 1: [VariablePatternExpr] Int32 y
|
|
# 299| 0: [TypeMention] int
|
|
# 299| 1: [PreIncrExpr] ++...
|
|
# 299| 0: [LocalVariableAccess] access to local variable x
|
|
# 300| 2: [BlockStmt] {...}
|
|
# 301| 0: [ExprStmt] ...;
|
|
# 301| 0: [MethodCall] call to method WriteLine
|
|
# 301| -1: [TypeAccess] access to type Console
|
|
# 301| 0: [TypeMention] Console
|
|
# 301| 0: [LocalVariableAccess] access to local variable y
|