mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
910 lines
44 KiB
Plaintext
910 lines
44 KiB
Plaintext
CSharp7.cs:
|
|
# 5| [Class] Literals
|
|
# 7| 6: [Field] x
|
|
# 7| -1: [TypeMention] int
|
|
# 7| 1: [IntLiteral] 11
|
|
# 8| 7: [Field] y
|
|
# 8| -1: [TypeMention] int
|
|
# 8| 1: [IntLiteral] 123456
|
|
# 9| 8: [Field] z
|
|
# 9| -1: [TypeMention] int
|
|
# 9| 1: [IntLiteral] 128
|
|
# 12| [Class] ExpressionBodiedMembers
|
|
# 14| 5: [Field] field
|
|
# 14| -1: [TypeMention] int
|
|
# 14| 1: [IntLiteral] 0
|
|
# 15| 6: [Method] Foo
|
|
# 15| -1: [TypeMention] int
|
|
# 15| 4: [FieldAccess] access to field field
|
|
# 16| 7: [Property] P
|
|
# 16| -1: [TypeMention] int
|
|
# 16| 3: [Getter] get_P
|
|
# 16| 4: [IntLiteral] 5
|
|
# 17| 8: [Property] Q
|
|
# 17| -1: [TypeMention] int
|
|
# 19| 3: [Getter] get_Q
|
|
# 19| 4: [MethodCall] call to method Foo
|
|
# 20| 4: [Setter] set_Q
|
|
#-----| 2: (Parameters)
|
|
# 20| 0: [Parameter] value
|
|
# 20| 4: [AssignExpr] ... = ...
|
|
# 20| 0: [FieldAccess] access to field field
|
|
# 20| 1: [ParameterAccess] access to parameter value
|
|
# 22| 9: [InstanceConstructor] ExpressionBodiedMembers
|
|
# 22| 3: [ConstructorInitializer] call to constructor ExpressionBodiedMembers
|
|
# 22| 0: [IntLiteral] 1
|
|
# 22| 4: [BlockStmt] {...}
|
|
# 23| 10: [InstanceConstructor] ExpressionBodiedMembers
|
|
#-----| 2: (Parameters)
|
|
# 23| 0: [Parameter] x
|
|
# 23| -1: [TypeMention] int
|
|
# 23| 4: [MethodCall] call to method Foo
|
|
# 24| 11: [Destructor] ~ExpressionBodiedMembers
|
|
# 24| 4: [MethodCall] call to method Foo
|
|
# 27| [Class] ThrowExpr
|
|
# 29| 6: [Method] Throw
|
|
# 29| -1: [TypeMention] int
|
|
#-----| 2: (Parameters)
|
|
# 29| 0: [Parameter] i
|
|
# 29| -1: [TypeMention] int
|
|
# 30| 4: [BlockStmt] {...}
|
|
# 31| 0: [ReturnStmt] return ...;
|
|
# 31| 0: [ConditionalExpr] ... ? ... : ...
|
|
# 31| 0: [GTExpr] ... > ...
|
|
# 31| 0: [ParameterAccess] access to parameter i
|
|
# 31| 1: [IntLiteral] 0
|
|
# 31| 1: [ParameterAccess] access to parameter i
|
|
# 31| 2: [ThrowExpr] throw ...
|
|
# 31| 0: [ObjectCreation] object creation of type ArgumentException
|
|
# 31| -1: [TypeMention] ArgumentException
|
|
# 31| 0: [StringLiteralUtf16] "i"
|
|
# 35| [Class] OutVariables
|
|
# 37| 6: [Method] F
|
|
# 37| -1: [TypeMention] Void
|
|
#-----| 2: (Parameters)
|
|
# 37| 0: [Parameter] x
|
|
# 37| -1: [TypeMention] string
|
|
# 38| 4: [BlockStmt] {...}
|
|
# 39| 0: [ExprStmt] ...;
|
|
# 39| 0: [AssignExpr] ... = ...
|
|
# 39| 0: [ParameterAccess] access to parameter x
|
|
# 39| 1: [StringLiteralUtf16] "tainted"
|
|
# 42| 7: [Method] G
|
|
# 42| -1: [TypeMention] Void
|
|
#-----| 2: (Parameters)
|
|
# 42| 0: [Parameter] x
|
|
# 42| -1: [TypeMention] string
|
|
# 42| 1: [Parameter] y
|
|
# 42| -1: [TypeMention] string
|
|
# 43| 4: [BlockStmt] {...}
|
|
# 44| 0: [ExprStmt] ...;
|
|
# 44| 0: [AssignExpr] ... = ...
|
|
# 44| 0: [ParameterAccess] access to parameter y
|
|
# 44| 1: [ParameterAccess] access to parameter x
|
|
# 47| 8: [Method] G
|
|
# 47| -1: [TypeMention] Void
|
|
# 48| 4: [BlockStmt] {...}
|
|
# 49| 0: [ExprStmt] ...;
|
|
# 49| 0: [MethodCall] call to method F
|
|
# 49| 0: [LocalVariableAccess,LocalVariableDeclExpr] String t1
|
|
# 50| 1: [ExprStmt] ...;
|
|
# 50| 0: [MethodCall] call to method F
|
|
# 50| 0: [LocalVariableAccess,LocalVariableDeclExpr] String t2
|
|
# 51| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 51| 0: [LocalVariableDeclAndInitExpr] String t3 = ...
|
|
# 51| -1: [TypeMention] string
|
|
# 51| 0: [LocalVariableAccess] access to local variable t3
|
|
# 51| 1: [LocalVariableAccess] access to local variable t1
|
|
# 52| 3: [ExprStmt] ...;
|
|
# 52| 0: [MethodCall] call to method F
|
|
# 52| 0: [LocalVariableAccess] access to local variable t1
|
|
# 53| 4: [ExprStmt] ...;
|
|
# 53| 0: [AssignExpr] ... = ...
|
|
# 53| 0: [LocalVariableAccess] access to local variable t3
|
|
# 53| 1: [LocalVariableAccess] access to local variable t1
|
|
# 54| 5: [ExprStmt] ...;
|
|
# 54| 0: [AssignExpr] ... = ...
|
|
# 54| 0: [LocalVariableAccess] access to local variable t3
|
|
# 54| 1: [LocalVariableAccess] access to local variable t2
|
|
# 55| 6: [ExprStmt] ...;
|
|
# 55| 0: [MethodCall] call to method G
|
|
# 55| 0: [StringLiteralUtf16] "tainted"
|
|
# 55| 1: [LocalVariableAccess,LocalVariableDeclExpr] String t4
|
|
# 56| 7: [LocalVariableDeclStmt] ... ...;
|
|
# 56| 0: [LocalVariableDeclAndInitExpr] String t5 = ...
|
|
# 56| -1: [TypeMention] string
|
|
# 56| 0: [LocalVariableAccess] access to local variable t5
|
|
# 56| 1: [LocalVariableAccess] access to local variable t4
|
|
# 60| [Class] Tuples
|
|
# 62| 6: [Method] F
|
|
# 62| -1: [TypeMention] (int, int)
|
|
# 62| 1: [TypeMention] int
|
|
# 62| 2: [TypeMention] int
|
|
# 63| 4: [BlockStmt] {...}
|
|
# 64| 0: [ReturnStmt] return ...;
|
|
# 64| 0: [TupleExpr] (..., ...)
|
|
# 64| 0: [IntLiteral] 1
|
|
# 64| 1: [IntLiteral] 2
|
|
# 67| 7: [Method] Expressions
|
|
# 67| -1: [TypeMention] Void
|
|
# 68| 4: [BlockStmt] {...}
|
|
# 69| 0: [ExprStmt] ...;
|
|
# 69| 0: [AssignExpr] ... = ...
|
|
# 69| 0: [TupleExpr] (..., ...)
|
|
# 69| 0: [LocalVariableDeclExpr] Int32 x
|
|
# 69| 1: [LocalVariableDeclExpr] Int32 y
|
|
# 69| 1: [MethodCall] call to method F
|
|
# 70| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 70| 0: [LocalVariableDeclAndInitExpr] (Int32,Int32) z = ...
|
|
# 70| -1: [TypeMention] (int, int)
|
|
# 70| 0: [LocalVariableAccess] access to local variable z
|
|
# 70| 1: [MethodCall] call to method F
|
|
# 71| 2: [ExprStmt] ...;
|
|
# 71| 0: [AssignExpr] ... = ...
|
|
# 71| 0: [TupleExpr] (..., ...)
|
|
# 71| 0: [LocalVariableAccess] access to local variable x
|
|
# 71| 1: [LocalVariableAccess] access to local variable y
|
|
# 71| 1: [MethodCall] call to method F
|
|
# 72| 3: [ExprStmt] ...;
|
|
# 72| 0: [AssignExpr] ... = ...
|
|
# 72| 0: [LocalVariableAccess] access to local variable x
|
|
# 72| 1: [FieldAccess] access to field Item1
|
|
# 72| -1: [MethodCall] call to method F
|
|
# 73| 4: [ExprStmt] ...;
|
|
# 73| 0: [AssignExpr] ... = ...
|
|
# 73| 0: [TupleExpr] (..., ...)
|
|
# 73| 0: [LocalVariableAccess] access to local variable x
|
|
# 73| 1: [LocalVariableAccess] access to local variable y
|
|
# 73| 2: [FieldAccess] access to field Item1
|
|
# 73| -1: [LocalVariableAccess] access to local variable z
|
|
# 73| 1: [TupleExpr] (..., ...)
|
|
# 73| 0: [IntLiteral] 1
|
|
# 73| 1: [IntLiteral] 2
|
|
# 73| 2: [IntLiteral] 3
|
|
# 74| 5: [ExprStmt] ...;
|
|
# 74| 0: [AssignExpr] ... = ...
|
|
# 74| 0: [TupleExpr] (..., ...)
|
|
# 74| 0: [LocalVariableAccess] access to local variable x
|
|
# 74| 1: [LocalVariableAccess] access to local variable y
|
|
# 74| 1: [AssignExpr] ... = ...
|
|
# 74| 0: [TupleExpr] (..., ...)
|
|
# 74| 0: [LocalVariableAccess] access to local variable x
|
|
# 74| 1: [LocalVariableAccess] access to local variable y
|
|
# 74| 1: [TupleExpr] (..., ...)
|
|
# 74| 0: [IntLiteral] 1
|
|
# 74| 1: [IntLiteral] 2
|
|
# 75| 6: [ExprStmt] ...;
|
|
# 75| 0: [AssignExpr] ... = ...
|
|
# 75| 0: [TupleExpr] (..., ...)
|
|
# 75| 0: [LocalVariableDeclExpr] Int32 a
|
|
# 75| 1: [TupleExpr] (..., ...)
|
|
# 75| 0: [LocalVariableDeclExpr] Int32 b
|
|
# 75| 1: [LocalVariableDeclExpr] Int32 c
|
|
# 75| 1: [TupleExpr] (..., ...)
|
|
# 75| 0: [IntLiteral] 1
|
|
# 75| 1: [LocalVariableAccess] access to local variable z
|
|
# 76| 7: [ExprStmt] ...;
|
|
# 76| 0: [AssignExpr] ... = ...
|
|
# 76| 0: [TupleExpr] (..., ...)
|
|
# 76| 0: [LocalVariableAccess] access to local variable a
|
|
# 76| 1: [TupleExpr] (..., ...)
|
|
# 76| 0: [LocalVariableAccess] access to local variable b
|
|
# 76| 1: [LocalVariableAccess] access to local variable c
|
|
# 76| 1: [TupleExpr] (..., ...)
|
|
# 76| 0: [LocalVariableAccess] access to local variable b
|
|
# 76| 1: [TupleExpr] (..., ...)
|
|
# 76| 0: [LocalVariableAccess] access to local variable c
|
|
# 76| 1: [LocalVariableAccess] access to local variable a
|
|
# 77| 8: [ExprStmt] ...;
|
|
# 77| 0: [AssignExpr] ... = ...
|
|
# 77| 0: [TupleExpr] (..., ...)
|
|
# 77| 0: [LocalVariableDeclExpr] String i
|
|
# 77| 1: [LocalVariableDeclExpr] Int32 j
|
|
# 77| 1: [TupleExpr] (..., ...)
|
|
# 77| 0: [StringLiteralUtf16] ""
|
|
# 77| 1: [LocalVariableAccess] access to local variable x
|
|
# 80| 8: [Method] I
|
|
# 80| -1: [TypeMention] string
|
|
#-----| 2: (Parameters)
|
|
# 80| 0: [Parameter] x
|
|
# 80| -1: [TypeMention] string
|
|
# 81| 4: [BlockStmt] {...}
|
|
# 82| 0: [ReturnStmt] return ...;
|
|
# 82| 0: [FieldAccess] access to field Item1
|
|
# 82| -1: [TupleExpr] (..., ...)
|
|
# 82| 0: [ParameterAccess] access to parameter x
|
|
# 82| 1: [IntLiteral] 2
|
|
# 85| 9: [Method] TaintFlow
|
|
# 85| -1: [TypeMention] Void
|
|
# 86| 4: [BlockStmt] {...}
|
|
# 87| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 87| 0: [LocalVariableDeclAndInitExpr] (String,String) t1 = ...
|
|
# 87| -1: [TypeMention] (string, string)
|
|
# 87| 0: [LocalVariableAccess] access to local variable t1
|
|
# 87| 1: [TupleExpr] (..., ...)
|
|
# 87| 0: [StringLiteralUtf16] "tainted"
|
|
# 87| 1: [StringLiteralUtf16] "X2"
|
|
# 88| 1: [ExprStmt] ...;
|
|
# 88| 0: [AssignExpr] ... = ...
|
|
# 88| 0: [TupleExpr] (..., ...)
|
|
# 88| 0: [LocalVariableDeclExpr] String t2
|
|
# 88| 1: [LocalVariableDeclExpr] String t3
|
|
# 88| 1: [LocalVariableAccess] access to local variable t1
|
|
# 89| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 89| 0: [LocalVariableDeclAndInitExpr] String t4 = ...
|
|
# 89| -1: [TypeMention] string
|
|
# 89| 0: [LocalVariableAccess] access to local variable t4
|
|
# 89| 1: [LocalVariableAccess] access to local variable t3
|
|
# 90| 3: [LocalVariableDeclStmt] ... ...;
|
|
# 90| 0: [LocalVariableDeclAndInitExpr] String t5 = ...
|
|
# 90| -1: [TypeMention] string
|
|
# 90| 0: [LocalVariableAccess] access to local variable t5
|
|
# 90| 1: [MethodCall] call to method I
|
|
# 90| 0: [FieldAccess] access to field Item1
|
|
# 90| -1: [LocalVariableAccess] access to local variable t1
|
|
# 93| 10: [Method] TupleExprNode
|
|
# 93| -1: [TypeMention] Void
|
|
# 94| 4: [BlockStmt] {...}
|
|
# 95| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 95| 0: [LocalVariableDeclAndInitExpr] (Int32,String) m1 = ...
|
|
# 95| -1: [TypeMention] (int, string)
|
|
# 95| 0: [LocalVariableAccess] access to local variable m1
|
|
# 95| 1: [TupleExpr] (..., ...)
|
|
# 95| 0: [IntLiteral] 1
|
|
# 95| 1: [StringLiteralUtf16] "TupleExprNode1"
|
|
# 96| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 96| 0: [LocalVariableDeclAndInitExpr] (Int32,(String,Int32)) m2 = ...
|
|
# 96| -1: [TypeMention] (int, (string, int))
|
|
# 96| 0: [LocalVariableAccess] access to local variable m2
|
|
# 96| 1: [TupleExpr] (..., ...)
|
|
# 96| 0: [IntLiteral] 1
|
|
# 96| 1: [TupleExpr] (..., ...)
|
|
# 96| 0: [StringLiteralUtf16] "TupleExprNode2"
|
|
# 96| 1: [IntLiteral] 2
|
|
# 99| 11: [Method] TupleMemberAccess
|
|
# 99| -1: [TypeMention] Void
|
|
# 100| 4: [BlockStmt] {...}
|
|
# 101| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 101| 0: [LocalVariableDeclAndInitExpr] String m1 = ...
|
|
# 101| -1: [TypeMention] string
|
|
# 101| 0: [LocalVariableAccess] access to local variable m1
|
|
# 101| 1: [FieldAccess] access to field Item1
|
|
# 101| -1: [TupleExpr] (..., ...)
|
|
# 101| 0: [StringLiteralUtf16] "TupleMemberAccess1"
|
|
# 101| 1: [IntLiteral] 0
|
|
# 102| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 102| 0: [LocalVariableDeclAndInitExpr] (String,Int32) m2 = ...
|
|
# 102| -1: [TypeMention] (string, int)
|
|
# 102| 0: [LocalVariableAccess] access to local variable m2
|
|
# 102| 1: [FieldAccess] access to field Item2
|
|
# 102| -1: [TupleExpr] (..., ...)
|
|
# 102| 0: [IntLiteral] 0
|
|
# 102| 1: [TupleExpr] (..., ...)
|
|
# 102| 0: [StringLiteralUtf16] "TupleMemberAccess2"
|
|
# 102| 1: [IntLiteral] 1
|
|
# 105| 12: [Method] DefUse
|
|
# 105| -1: [TypeMention] Void
|
|
# 106| 4: [BlockStmt] {...}
|
|
# 107| 0: [ExprStmt] ...;
|
|
# 107| 0: [AssignExpr] ... = ...
|
|
# 107| 0: [TupleExpr] (..., ...)
|
|
# 107| 0: [LocalVariableDeclExpr] String m1
|
|
# 107| 1: [LocalVariableDeclExpr] (Int32,Int32) m2
|
|
# 107| 1: [TupleExpr] (..., ...)
|
|
# 107| 0: [StringLiteralUtf16] "DefUse1"
|
|
# 107| 1: [TupleExpr] (..., ...)
|
|
# 107| 0: [IntLiteral] 0
|
|
# 107| 1: [IntLiteral] 1
|
|
# 108| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 108| 0: [LocalVariableDeclExpr] String m3
|
|
# 108| 0: [TypeMention] string
|
|
# 109| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 109| 0: [LocalVariableDeclExpr] Int32 m4
|
|
# 109| 0: [TypeMention] int
|
|
# 109| 1: [LocalVariableDeclExpr] Int32 m5
|
|
# 109| 0: [TypeMention] int
|
|
# 110| 3: [ExprStmt] ...;
|
|
# 110| 0: [AssignExpr] ... = ...
|
|
# 110| 0: [TupleExpr] (..., ...)
|
|
# 110| 0: [LocalVariableAccess] access to local variable m3
|
|
# 110| 1: [TupleExpr] (..., ...)
|
|
# 110| 0: [LocalVariableAccess] access to local variable m4
|
|
# 110| 1: [LocalVariableAccess] access to local variable m5
|
|
# 110| 1: [TupleExpr] (..., ...)
|
|
# 110| 0: [LocalVariableAccess] access to local variable m1
|
|
# 110| 1: [LocalVariableAccess] access to local variable m2
|
|
# 111| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 111| 0: [LocalVariableDeclAndInitExpr] Int32 m6 = ...
|
|
# 111| -1: [TypeMention] int
|
|
# 111| 0: [LocalVariableAccess] access to local variable m6
|
|
# 111| 1: [LocalVariableAccess] access to local variable m4
|
|
# 112| 5: [ExprStmt] ...;
|
|
# 112| 0: [AssignExpr] ... = ...
|
|
# 112| 0: [TupleExpr] (..., ...)
|
|
# 112| 0: [LocalVariableDeclExpr] String m7
|
|
# 112| 1: [TupleExpr] (..., ...)
|
|
# 112| 0: [LocalVariableDeclExpr] Int32 m8
|
|
# 112| 1: [LocalVariableDeclExpr] Int32 m9
|
|
# 112| 1: [AssignExpr] ... = ...
|
|
# 112| 0: [TupleExpr] (..., ...)
|
|
# 112| 0: [LocalVariableAccess] access to local variable m1
|
|
# 112| 1: [LocalVariableAccess] access to local variable m2
|
|
# 112| 1: [TupleExpr] (..., ...)
|
|
# 112| 0: [StringLiteralUtf16] "DefUse2"
|
|
# 112| 1: [TupleExpr] (..., ...)
|
|
# 112| 0: [IntLiteral] 0
|
|
# 112| 1: [IntLiteral] 1
|
|
# 113| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 113| 0: [LocalVariableDeclAndInitExpr] Int32 m10 = ...
|
|
# 113| -1: [TypeMention] int
|
|
# 113| 0: [LocalVariableAccess] access to local variable m10
|
|
# 113| 1: [LocalVariableAccess] access to local variable m9
|
|
# 116| 7: [ExprStmt] ...;
|
|
# 116| 0: [AssignExpr] ... = ...
|
|
# 116| 0: [FieldAccess] access to field Item2
|
|
# 116| -1: [LocalVariableAccess] access to local variable m2
|
|
# 116| 1: [IntLiteral] 0
|
|
# 117| 8: [LocalVariableDeclStmt] ... ...;
|
|
# 117| 0: [LocalVariableDeclAndInitExpr] Int32 m11 = ...
|
|
# 117| -1: [TypeMention] int
|
|
# 117| 0: [LocalVariableAccess] access to local variable m11
|
|
# 117| 1: [FieldAccess] access to field Item1
|
|
# 117| -1: [LocalVariableAccess] access to local variable m2
|
|
# 120| 9: [LocalVariableDeclStmt] ... ...;
|
|
# 120| 0: [LocalVariableDeclExpr] String m12
|
|
# 120| 0: [TypeMention] string
|
|
# 121| 10: [LocalVariableDeclStmt] ... ...;
|
|
# 121| 0: [LocalVariableDeclAndInitExpr] String m13 = ...
|
|
# 121| -1: [TypeMention] string
|
|
# 121| 0: [LocalVariableAccess] access to local variable m13
|
|
# 121| 1: [AssignExpr] ... = ...
|
|
# 121| 0: [LocalVariableAccess] access to local variable m12
|
|
# 121| 1: [StringLiteralUtf16] "DefUse3"
|
|
# 125| [Class] LocalFunctions
|
|
# 127| 6: [Method] Main
|
|
# 127| -1: [TypeMention] int
|
|
# 128| 4: [BlockStmt] {...}
|
|
# 129| 0: [LocalFunctionStmt] f1(...)
|
|
# 129| 0: [LocalFunction] f1
|
|
#-----| 2: (Parameters)
|
|
# 129| 0: [Parameter] x
|
|
# 129| -1: [TypeMention] int
|
|
# 129| 4: [BlockStmt] {...}
|
|
# 129| 0: [ReturnStmt] return ...;
|
|
# 129| 0: [AddExpr] ... + ...
|
|
# 129| 0: [ParameterAccess] access to parameter x
|
|
# 129| 1: [IntLiteral] 1
|
|
# 131| 1: [LocalFunctionStmt] f2(...)
|
|
# 131| 0: [LocalFunction] f2
|
|
#-----| 1: (Type parameters)
|
|
# 131| 0: [TypeParameter] T
|
|
# 131| 1: [TypeParameter] U
|
|
#-----| 2: (Parameters)
|
|
# 131| 0: [Parameter] t
|
|
# 131| -1: [TypeMention] T
|
|
# 131| 1: [Parameter] u
|
|
# 131| -1: [TypeMention] U
|
|
# 131| 4: [BlockStmt] {...}
|
|
# 131| 0: [ReturnStmt] return ...;
|
|
# 131| 0: [ParameterAccess] access to parameter t
|
|
# 133| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 133| 0: [LocalVariableDeclAndInitExpr] Func<Int32> f4 = ...
|
|
# 133| -1: [TypeMention] Func<int>
|
|
# 133| 1: [TypeMention] int
|
|
# 133| 0: [LocalVariableAccess] access to local variable f4
|
|
# 133| 1: [ImplicitDelegateCreation] delegate creation of type Func<Int32>
|
|
# 133| 0: [LocalFunctionAccess] access to local function f3
|
|
# 135| 3: [LocalFunctionStmt] f3(...)
|
|
# 135| 0: [LocalFunction] f3
|
|
# 135| 4: [IntLiteral] 2
|
|
# 137| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 137| 0: [LocalVariableDeclAndInitExpr] Func<Int32,Int32> f5 = ...
|
|
# 137| -1: [TypeMention] Func<int, int>
|
|
# 137| 1: [TypeMention] int
|
|
# 137| 2: [TypeMention] int
|
|
# 137| 0: [LocalVariableAccess] access to local variable f5
|
|
# 137| 1: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 137| 0: [Parameter] x
|
|
# 137| 4: [AddExpr] ... + ...
|
|
# 137| 0: [ParameterAccess] access to parameter x
|
|
# 137| 1: [IntLiteral] 1
|
|
# 139| 5: [LocalFunctionStmt] f6(...)
|
|
# 139| 0: [LocalFunction] f6
|
|
#-----| 2: (Parameters)
|
|
# 139| 0: [Parameter] x
|
|
# 139| -1: [TypeMention] int
|
|
# 139| 4: [ConditionalExpr] ... ? ... : ...
|
|
# 139| 0: [GTExpr] ... > ...
|
|
# 139| 0: [ParameterAccess] access to parameter x
|
|
# 139| 1: [IntLiteral] 0
|
|
# 139| 1: [AddExpr] ... + ...
|
|
# 139| 0: [IntLiteral] 1
|
|
# 139| 1: [LocalFunctionCall] call to local function f7
|
|
# 139| -1: [LocalFunctionAccess] access to local function f7
|
|
# 139| 0: [SubExpr] ... - ...
|
|
# 139| 0: [ParameterAccess] access to parameter x
|
|
# 139| 1: [IntLiteral] 1
|
|
# 139| 2: [IntLiteral] 0
|
|
# 141| 6: [LocalFunctionStmt] f7(...)
|
|
# 141| 0: [LocalFunction] f7
|
|
#-----| 2: (Parameters)
|
|
# 141| 0: [Parameter] x
|
|
# 141| -1: [TypeMention] int
|
|
# 141| 4: [LocalFunctionCall] call to local function f6
|
|
# 141| -1: [LocalFunctionAccess] access to local function f6
|
|
# 141| 0: [ParameterAccess] access to parameter x
|
|
# 143| 7: [LocalFunctionStmt] f8(...)
|
|
# 143| 0: [LocalFunction] f8
|
|
# 144| 4: [BlockStmt] {...}
|
|
# 145| 0: [LocalFunctionStmt] f9(...)
|
|
# 145| 0: [LocalFunction] f9
|
|
#-----| 2: (Parameters)
|
|
# 145| 0: [Parameter] x
|
|
# 145| -1: [TypeMention] int
|
|
# 145| 4: [LocalFunctionCall] call to local function f7
|
|
# 145| -1: [LocalFunctionAccess] access to local function f7
|
|
# 145| 0: [ParameterAccess] access to parameter x
|
|
# 146| 1: [ReturnStmt] return ...;
|
|
# 146| 0: [LocalFunctionCall] call to local function f9
|
|
# 146| -1: [LocalFunctionAccess] access to local function f9
|
|
# 146| 0: [IntLiteral] 1
|
|
# 149| 8: [LocalVariableDeclStmt] ... ...;
|
|
# 149| 0: [LocalVariableDeclAndInitExpr] Action a = ...
|
|
# 149| -1: [TypeMention] Action
|
|
# 149| 0: [LocalVariableAccess] access to local variable a
|
|
# 149| 1: [LambdaExpr] (...) => ...
|
|
# 150| 4: [BlockStmt] {...}
|
|
# 151| 0: [LocalFunctionStmt] f9(...)
|
|
# 151| 0: [LocalFunction] f9
|
|
# 151| 4: [IntLiteral] 0
|
|
# 154| 9: [ReturnStmt] return ...;
|
|
# 154| 0: [LocalFunctionCall] call to local function f1
|
|
# 154| -1: [LocalFunctionAccess] access to local function f1
|
|
# 154| 0: [IntLiteral] 2
|
|
# 157| 7: [Method] Generics
|
|
# 157| -1: [TypeMention] Void
|
|
# 158| 4: [BlockStmt] {...}
|
|
# 159| 0: [LocalFunctionStmt] f(...)
|
|
# 159| 0: [LocalFunction] f
|
|
#-----| 1: (Type parameters)
|
|
# 159| 0: [TypeParameter] T
|
|
# 159| 4: [IntLiteral] 1
|
|
# 160| 1: [LocalFunctionStmt] g(...)
|
|
# 160| 0: [LocalFunction] g
|
|
#-----| 1: (Type parameters)
|
|
# 160| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 160| 0: [Parameter] t
|
|
# 160| -1: [TypeMention] T
|
|
# 160| 4: [ParameterAccess] access to parameter t
|
|
# 162| 2: [LocalFunctionStmt] h(...)
|
|
# 162| 0: [LocalFunction] h
|
|
#-----| 1: (Type parameters)
|
|
# 162| 0: [TypeParameter] T
|
|
# 162| 1: [TypeParameter] U
|
|
#-----| 2: (Parameters)
|
|
# 162| 0: [Parameter] t
|
|
# 162| -1: [TypeMention] T
|
|
# 162| 1: [Parameter] u
|
|
# 162| -1: [TypeMention] U
|
|
# 163| 4: [BlockStmt] {...}
|
|
# 164| 0: [LocalFunctionStmt] f2(...)
|
|
# 164| 0: [LocalFunction] f2
|
|
#-----| 1: (Type parameters)
|
|
# 164| 0: [TypeParameter] S
|
|
#-----| 2: (Parameters)
|
|
# 164| 0: [Parameter] s
|
|
# 164| -1: [TypeMention] S
|
|
# 164| 1: [Parameter] _t
|
|
# 164| -1: [TypeMention] T
|
|
# 164| 4: [LocalFunctionCall] call to local function f
|
|
# 164| -1: [LocalFunctionAccess] access to local function f
|
|
# 165| 1: [ExprStmt] ...;
|
|
# 165| 0: [LocalFunctionCall] call to local function f
|
|
# 165| -1: [LocalFunctionAccess] access to local function f
|
|
# 166| 2: [ReturnStmt] return ...;
|
|
# 166| 0: [LocalFunctionCall] call to local function g
|
|
# 166| -1: [LocalFunctionAccess] access to local function g
|
|
# 166| 0: [ParameterAccess] access to parameter u
|
|
# 169| 3: [ExprStmt] ...;
|
|
# 169| 0: [LocalFunctionCall] call to local function h
|
|
# 169| -1: [LocalFunctionAccess] access to local function h
|
|
# 169| 0: [IntLiteral] 0
|
|
# 169| 1: [IntLiteral] 0
|
|
# 170| 4: [ExprStmt] ...;
|
|
# 170| 0: [LocalFunctionCall] call to local function h
|
|
# 170| -1: [LocalFunctionAccess] access to local function h
|
|
# 170| 0: [StringLiteralUtf16] ""
|
|
# 170| 1: [BoolLiteral] true
|
|
# 173| 8: [Method] GlobalFlow
|
|
# 173| -1: [TypeMention] Void
|
|
# 174| 4: [BlockStmt] {...}
|
|
# 175| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 175| 0: [LocalVariableDeclAndInitExpr] String src = ...
|
|
# 175| -1: [TypeMention] string
|
|
# 175| 0: [LocalVariableAccess] access to local variable src
|
|
# 175| 1: [StringLiteralUtf16] "tainted"
|
|
# 176| 1: [LocalFunctionStmt] f(...)
|
|
# 176| 0: [LocalFunction] f
|
|
#-----| 2: (Parameters)
|
|
# 176| 0: [Parameter] s
|
|
# 176| -1: [TypeMention] string
|
|
# 176| 4: [AddExpr] ... + ...
|
|
# 176| 0: [LocalFunctionCall] call to local function g
|
|
# 176| -1: [LocalFunctionAccess] access to local function g
|
|
# 176| 0: [ParameterAccess] access to parameter s
|
|
# 176| 1: [StringLiteralUtf16] ""
|
|
# 177| 2: [LocalFunctionStmt] g(...)
|
|
# 177| 0: [LocalFunction] g
|
|
#-----| 2: (Parameters)
|
|
# 177| 0: [Parameter] s
|
|
# 177| -1: [TypeMention] string
|
|
# 177| 4: [ParameterAccess] access to parameter s
|
|
# 178| 3: [LocalFunctionStmt] h(...)
|
|
# 178| 0: [LocalFunction] h
|
|
#-----| 2: (Parameters)
|
|
# 178| 0: [Parameter] s
|
|
# 178| -1: [TypeMention] string
|
|
# 178| 4: [BlockStmt] {...}
|
|
# 178| 0: [ReturnStmt] return ...;
|
|
# 178| 0: [ParameterAccess] access to parameter s
|
|
# 180| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 180| 0: [LocalVariableDeclAndInitExpr] String sink1 = ...
|
|
# 180| -1: [TypeMention] string
|
|
# 180| 0: [LocalVariableAccess] access to local variable sink1
|
|
# 180| 1: [LocalFunctionCall] call to local function f
|
|
# 180| -1: [LocalFunctionAccess] access to local function f
|
|
# 180| 0: [LocalVariableAccess] access to local variable src
|
|
# 181| 5: [LocalVariableDeclStmt] ... ...;
|
|
# 181| 0: [LocalVariableDeclAndInitExpr] String sink2 = ...
|
|
# 181| -1: [TypeMention] string
|
|
# 181| 0: [LocalVariableAccess] access to local variable sink2
|
|
# 181| 1: [LocalFunctionCall] call to local function g
|
|
# 181| -1: [LocalFunctionAccess] access to local function g
|
|
# 181| 0: [LocalVariableAccess] access to local variable src
|
|
# 182| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 182| 0: [LocalVariableDeclAndInitExpr] String sink3 = ...
|
|
# 182| -1: [TypeMention] string
|
|
# 182| 0: [LocalVariableAccess] access to local variable sink3
|
|
# 182| 1: [LocalFunctionCall] call to local function h
|
|
# 182| -1: [LocalFunctionAccess] access to local function h
|
|
# 182| 0: [LocalVariableAccess] access to local variable src
|
|
# 186| [Class] Refs
|
|
# 188| 6: [Method] F1
|
|
# 188| -1: [TypeMention] Void
|
|
# 189| 4: [BlockStmt] {...}
|
|
# 190| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 190| 0: [LocalVariableDeclAndInitExpr] Int32 v1 = ...
|
|
# 190| -1: [TypeMention] int
|
|
# 190| 0: [LocalVariableAccess] access to local variable v1
|
|
# 190| 1: [IntLiteral] 2
|
|
# 191| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 191| 0: [LocalVariableDeclAndInitExpr] Int32 r1 = ...
|
|
# 191| -1: [TypeMention] null
|
|
# 191| 0: [LocalVariableAccess] access to local variable r1
|
|
# 191| 1: [RefExpr] ref ...
|
|
# 191| 0: [LocalVariableAccess] access to local variable v1
|
|
# 192| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 192| 0: [LocalVariableDeclAndInitExpr] Int32[] array = ...
|
|
# 192| -1: [TypeMention] Int32[]
|
|
# 192| 0: [LocalVariableAccess] access to local variable array
|
|
# 192| 1: [ArrayCreation] array creation of type Int32[]
|
|
# 192| -1: [TypeMention] Int32[]
|
|
# 192| 1: [TypeMention] int
|
|
# 192| 0: [IntLiteral] 10
|
|
# 193| 3: [ExprStmt] ...;
|
|
# 193| 0: [AssignExpr] ... = ...
|
|
# 193| 0: [LocalVariableAccess] access to local variable r1
|
|
# 193| 1: [IntLiteral] 3
|
|
# 194| 4: [ExprStmt] ...;
|
|
# 194| 0: [AssignExpr] ... = ...
|
|
# 194| 0: [LocalVariableAccess] access to local variable r1
|
|
# 194| 1: [ArrayAccess] access to array element
|
|
# 194| -1: [LocalVariableAccess] access to local variable array
|
|
# 194| 0: [IntLiteral] 1
|
|
# 195| 5: [LocalVariableDeclStmt] ... ...;
|
|
# 195| 0: [LocalVariableDeclAndInitExpr] Int32 r2 = ...
|
|
# 195| -1: [TypeMention] null
|
|
# 195| 0: [LocalVariableAccess] access to local variable r2
|
|
# 195| 1: [RefExpr] ref ...
|
|
# 195| 0: [ArrayAccess] access to array element
|
|
# 195| -1: [LocalVariableAccess] access to local variable array
|
|
# 195| 0: [IntLiteral] 3
|
|
# 196| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 196| 0: [LocalVariableDeclAndInitExpr] Int32 r3 = ...
|
|
# 196| -1: [TypeMention] null
|
|
# 196| 0: [LocalVariableAccess] access to local variable r3
|
|
# 196| 1: [RefExpr] ref ...
|
|
# 196| 0: [LocalVariableAccess] access to local variable r1
|
|
# 197| 7: [ExprStmt] ...;
|
|
# 197| 0: [AssignExpr] ... = ...
|
|
# 197| 0: [LocalVariableAccess] access to local variable v1
|
|
# 197| 1: [MethodCall] call to method F2
|
|
# 197| 0: [LocalVariableAccess] access to local variable v1
|
|
# 198| 8: [LocalVariableDeclStmt] ... ...;
|
|
# 198| 0: [LocalVariableDeclAndInitExpr] Int32 r4 = ...
|
|
# 198| -1: [TypeMention] null
|
|
# 198| 0: [LocalVariableAccess] access to local variable r4
|
|
# 198| 1: [RefExpr] ref ...
|
|
# 198| 0: [MethodCall] call to method F2
|
|
# 198| 0: [LocalVariableAccess] access to local variable r1
|
|
# 199| 9: [ExprStmt] ...;
|
|
# 199| 0: [AssignExpr] ... = ...
|
|
# 199| 0: [MethodCall] call to method F2
|
|
# 199| 0: [LocalVariableAccess] access to local variable r1
|
|
# 199| 1: [IntLiteral] 3
|
|
# 202| 7: [Method] F2
|
|
# 202| -1: [TypeMention] int
|
|
#-----| 2: (Parameters)
|
|
# 202| 0: [Parameter] p
|
|
# 202| -1: [TypeMention] int
|
|
# 203| 4: [BlockStmt] {...}
|
|
# 204| 0: [LocalFunctionStmt] F3(...)
|
|
# 204| 0: [LocalFunction] F3
|
|
#-----| 2: (Parameters)
|
|
# 204| 0: [Parameter] q
|
|
# 204| -1: [TypeMention] int
|
|
# 204| 4: [BlockStmt] {...}
|
|
# 204| 0: [ReturnStmt] return ...;
|
|
# 204| 0: [RefExpr] ref ...
|
|
# 204| 0: [ParameterAccess] access to parameter q
|
|
# 205| 1: [ReturnStmt] return ...;
|
|
# 205| 0: [RefExpr] ref ...
|
|
# 205| 0: [ParameterAccess] access to parameter p
|
|
# 208| 8: [DelegateType] RefFn
|
|
#-----| 2: (Parameters)
|
|
# 208| 0: [Parameter] p
|
|
# 208| -1: [TypeMention] int
|
|
# 211| [Class] Discards
|
|
# 213| 6: [Method] f
|
|
# 213| -1: [TypeMention] (int, double)
|
|
# 213| 1: [TypeMention] int
|
|
# 213| 2: [TypeMention] double
|
|
#-----| 2: (Parameters)
|
|
# 213| 0: [Parameter] x
|
|
# 213| -1: [TypeMention] bool
|
|
# 214| 4: [BlockStmt] {...}
|
|
# 215| 0: [ExprStmt] ...;
|
|
# 215| 0: [AssignExpr] ... = ...
|
|
# 215| 0: [ParameterAccess] access to parameter x
|
|
# 215| 1: [BoolLiteral] false
|
|
# 216| 1: [ReturnStmt] return ...;
|
|
# 216| 0: [TupleExpr] (..., ...)
|
|
# 216| 0: [IntLiteral] 0
|
|
# 216| 1: [DoubleLiteral] 0
|
|
# 219| 7: [Method] Test
|
|
# 219| -1: [TypeMention] Void
|
|
# 220| 4: [BlockStmt] {...}
|
|
# 221| 0: [ExprStmt] ...;
|
|
# 221| 0: [AssignExpr] ... = ...
|
|
# 221| 0: [DiscardExpr] _
|
|
# 221| 1: [MethodCall] call to method f
|
|
# 221| 0: [DiscardExpr] _
|
|
# 222| 1: [ExprStmt] ...;
|
|
# 222| 0: [AssignExpr] ... = ...
|
|
# 222| 0: [TupleExpr] (..., ...)
|
|
# 222| 0: [DiscardExpr] _
|
|
# 222| 1: [DiscardExpr] _
|
|
# 222| 1: [MethodCall] call to method f
|
|
# 222| 0: [DiscardExpr] _
|
|
# 223| 2: [ExprStmt] ...;
|
|
# 223| 0: [AssignExpr] ... = ...
|
|
# 223| 0: [TupleExpr] (..., ...)
|
|
# 223| 0: [LocalVariableDeclExpr] Int32 x
|
|
# 223| 1: [DiscardExpr] _
|
|
# 223| 1: [MethodCall] call to method f
|
|
# 223| 0: [DiscardExpr] _
|
|
# 224| 3: [ExprStmt] ...;
|
|
# 224| 0: [AssignExpr] ... = ...
|
|
# 224| 0: [TupleExpr] (..., ...)
|
|
# 224| 0: [DiscardExpr] _
|
|
# 224| 1: [LocalVariableDeclExpr] Double y
|
|
# 224| 1: [MethodCall] call to method f
|
|
# 224| 0: [LocalVariableAccess,LocalVariableDeclExpr] Boolean z
|
|
# 228| [Class] Patterns
|
|
# 230| 6: [Method] Test
|
|
# 230| -1: [TypeMention] Void
|
|
# 231| 4: [BlockStmt] {...}
|
|
# 232| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 232| 0: [LocalVariableDeclAndInitExpr] Object o = ...
|
|
# 232| -1: [TypeMention] object
|
|
# 232| 0: [LocalVariableAccess] access to local variable o
|
|
# 232| 1: [NullLiteral] null
|
|
# 233| 1: [IfStmt] if (...) ...
|
|
# 233| 0: [LogicalAndExpr] ... && ...
|
|
# 233| 0: [IsExpr] ... is ...
|
|
# 233| 0: [LocalVariableAccess] access to local variable o
|
|
# 233| 1: [VariablePatternExpr] Int32 i1
|
|
# 233| 0: [TypeMention] int
|
|
# 233| 1: [GTExpr] ... > ...
|
|
# 233| 0: [LocalVariableAccess] access to local variable i1
|
|
# 233| 1: [IntLiteral] 0
|
|
# 234| 1: [BlockStmt] {...}
|
|
# 235| 0: [ExprStmt] ...;
|
|
# 235| 0: [MethodCall] call to method WriteLine
|
|
# 235| -1: [TypeAccess] access to type Console
|
|
# 235| 0: [TypeMention] Console
|
|
# 235| 0: [InterpolatedStringExpr] $"..."
|
|
# 235| 0: [StringLiteralUtf16] "int "
|
|
# 235| 1: [InterpolatedStringInsertExpr] {...}
|
|
# 235| 0: [LocalVariableAccess] access to local variable i1
|
|
# 237| 2: [IfStmt] if (...) ...
|
|
# 237| 0: [IsExpr] ... is ...
|
|
# 237| 0: [LocalVariableAccess] access to local variable o
|
|
# 237| 1: [VariablePatternExpr] String s1
|
|
# 237| 0: [TypeMention] string
|
|
# 238| 1: [BlockStmt] {...}
|
|
# 239| 0: [ExprStmt] ...;
|
|
# 239| 0: [MethodCall] call to method WriteLine
|
|
# 239| -1: [TypeAccess] access to type Console
|
|
# 239| 0: [TypeMention] Console
|
|
# 239| 0: [InterpolatedStringExpr] $"..."
|
|
# 239| 0: [StringLiteralUtf16] "string "
|
|
# 239| 1: [InterpolatedStringInsertExpr] {...}
|
|
# 239| 0: [LocalVariableAccess] access to local variable s1
|
|
# 241| 2: [IfStmt] if (...) ...
|
|
# 241| 0: [IsExpr] ... is ...
|
|
# 241| 0: [LocalVariableAccess] access to local variable o
|
|
# 241| 1: [TypeAccessPatternExpr] access to type Double
|
|
# 241| 0: [TypeMention] double
|
|
# 242| 1: [BlockStmt] {...}
|
|
# 244| 2: [IfStmt] if (...) ...
|
|
# 244| 0: [IsExpr] ... is ...
|
|
# 244| 0: [LocalVariableAccess] access to local variable o
|
|
# 244| 1: [VariablePatternExpr] Object v1
|
|
# 245| 1: [BlockStmt] {...}
|
|
# 248| 2: [SwitchStmt] switch (...) {...}
|
|
# 248| 0: [LocalVariableAccess] access to local variable o
|
|
# 250| 0: [ConstCase] case ...:
|
|
# 250| 0: [ConstantPatternExpr,StringLiteralUtf16] "xyz"
|
|
# 251| 1: [BreakStmt] break;
|
|
# 252| 2: [ConstCase] case ...:
|
|
# 252| 0: [ConstantPatternExpr,StringLiteralUtf16] ""
|
|
# 252| 1: [LTExpr] ... < ...
|
|
# 252| 0: [IntLiteral] 1
|
|
# 252| 1: [IntLiteral] 2
|
|
# 253| 3: [BreakStmt] break;
|
|
# 254| 4: [ConstCase] case ...:
|
|
# 254| 0: [ConstantPatternExpr,StringLiteralUtf16] "x"
|
|
# 254| 1: [IsExpr] ... is ...
|
|
# 254| 0: [LocalVariableAccess] access to local variable o
|
|
# 254| 1: [VariablePatternExpr] String s4
|
|
# 254| 0: [TypeMention] string
|
|
# 255| 5: [ExprStmt] ...;
|
|
# 255| 0: [MethodCall] call to method WriteLine
|
|
# 255| -1: [TypeAccess] access to type Console
|
|
# 255| 0: [TypeMention] Console
|
|
# 255| 0: [InterpolatedStringExpr] $"..."
|
|
# 255| 0: [StringLiteralUtf16] "x "
|
|
# 255| 1: [InterpolatedStringInsertExpr] {...}
|
|
# 255| 0: [LocalVariableAccess] access to local variable s4
|
|
# 256| 6: [BreakStmt] break;
|
|
# 257| 7: [CaseStmt] case ...:
|
|
# 257| 0: [VariablePatternExpr] Int32 i2
|
|
# 257| 0: [TypeMention] int
|
|
# 257| 1: [GTExpr] ... > ...
|
|
# 257| 0: [LocalVariableAccess] access to local variable i2
|
|
# 257| 1: [IntLiteral] 0
|
|
# 258| 8: [ExprStmt] ...;
|
|
# 258| 0: [MethodCall] call to method WriteLine
|
|
# 258| -1: [TypeAccess] access to type Console
|
|
# 258| 0: [TypeMention] Console
|
|
# 258| 0: [InterpolatedStringExpr] $"..."
|
|
# 258| 0: [StringLiteralUtf16] "positive "
|
|
# 258| 1: [InterpolatedStringInsertExpr] {...}
|
|
# 258| 0: [LocalVariableAccess] access to local variable i2
|
|
# 259| 9: [BreakStmt] break;
|
|
# 260| 10: [CaseStmt] case ...:
|
|
# 260| 0: [VariablePatternExpr] Int32 i3
|
|
# 260| 0: [TypeMention] int
|
|
# 261| 11: [ExprStmt] ...;
|
|
# 261| 0: [MethodCall] call to method WriteLine
|
|
# 261| -1: [TypeAccess] access to type Console
|
|
# 261| 0: [TypeMention] Console
|
|
# 261| 0: [InterpolatedStringExpr] $"..."
|
|
# 261| 0: [StringLiteralUtf16] "int "
|
|
# 261| 1: [InterpolatedStringInsertExpr] {...}
|
|
# 261| 0: [LocalVariableAccess] access to local variable i3
|
|
# 262| 12: [BreakStmt] break;
|
|
# 263| 13: [CaseStmt] case ...:
|
|
# 263| 0: [VariablePatternExpr] String s2
|
|
# 263| 0: [TypeMention] string
|
|
# 264| 14: [ExprStmt] ...;
|
|
# 264| 0: [MethodCall] call to method WriteLine
|
|
# 264| -1: [TypeAccess] access to type Console
|
|
# 264| 0: [TypeMention] Console
|
|
# 264| 0: [InterpolatedStringExpr] $"..."
|
|
# 264| 0: [StringLiteralUtf16] "string "
|
|
# 264| 1: [InterpolatedStringInsertExpr] {...}
|
|
# 264| 0: [LocalVariableAccess] access to local variable s2
|
|
# 265| 15: [BreakStmt] break;
|
|
# 266| 16: [CaseStmt] case ...:
|
|
# 266| 0: [TypeAccessPatternExpr] access to type Double
|
|
# 266| 0: [TypeMention] double
|
|
# 267| 17: [ExprStmt] ...;
|
|
# 267| 0: [MethodCall] call to method WriteLine
|
|
# 267| -1: [TypeAccess] access to type Console
|
|
# 267| 0: [TypeMention] Console
|
|
# 267| 0: [StringLiteralUtf16] "Double"
|
|
# 268| 18: [BreakStmt] break;
|
|
# 269| 19: [CaseStmt] case ...:
|
|
# 269| 0: [VariablePatternExpr] Object v2
|
|
# 270| 20: [BreakStmt] break;
|
|
# 271| 21: [DefaultCase] default:
|
|
# 272| 22: [ExprStmt] ...;
|
|
# 272| 0: [MethodCall] call to method WriteLine
|
|
# 272| -1: [TypeAccess] access to type Console
|
|
# 272| 0: [TypeMention] Console
|
|
# 272| 0: [StringLiteralUtf16] "Something else"
|
|
# 273| 23: [BreakStmt] break;
|
|
# 278| [Class] ForeachStatements
|
|
# 280| 6: [Method] Test
|
|
# 280| -1: [TypeMention] Void
|
|
# 281| 4: [BlockStmt] {...}
|
|
# 282| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 282| 0: [LocalVariableDeclAndInitExpr] Dictionary<Int32,String> dict = ...
|
|
# 282| -1: [TypeMention] Dictionary<int, string>
|
|
# 282| 0: [LocalVariableAccess] access to local variable dict
|
|
# 282| 1: [ObjectCreation] object creation of type Dictionary<Int32,String>
|
|
# 282| 0: [TypeMention] Dictionary<int, string>
|
|
# 282| 1: [TypeMention] int
|
|
# 282| 2: [TypeMention] string
|
|
# 283| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 283| 0: [LocalVariableDeclAndInitExpr] IEnumerable<(Int32,String)> list = ...
|
|
# 283| -1: [TypeMention] IEnumerable<(int, string)>
|
|
# 283| 0: [LocalVariableAccess] access to local variable list
|
|
# 283| 1: [MethodCall] call to method Select<KeyValuePair<Int32,String>,(Int32,String)>
|
|
# 283| -1: [LocalVariableAccess] access to local variable dict
|
|
# 283| 0: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 283| 0: [Parameter] item
|
|
# 283| 4: [TupleExpr] (..., ...)
|
|
# 283| 0: [PropertyCall] access to property Key
|
|
# 283| -1: [ParameterAccess] access to parameter item
|
|
# 283| 1: [PropertyCall] access to property Value
|
|
# 283| -1: [ParameterAccess] access to parameter item
|
|
# 285| 2: [ForeachStmt] foreach (... ... in ...) ...
|
|
# 285| 0: [TupleExpr] (..., ...)
|
|
# 285| 0: [LocalVariableDeclExpr] Int32 a
|
|
# 285| 1: [LocalVariableDeclExpr] String b
|
|
# 285| 1: [LocalVariableAccess] access to local variable list
|
|
# 285| 2: [BlockStmt] {...}
|
|
# 287| 3: [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| 4: [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] {...}
|
|
# 293| [Class] ForLoops
|
|
# 295| 6: [Method] Test
|
|
# 295| -1: [TypeMention] Void
|
|
# 296| 4: [BlockStmt] {...}
|
|
# 297| 0: [ForStmt] for (...;...;...) ...
|
|
# 297| -1: [LocalVariableDeclAndInitExpr] Int32 x = ...
|
|
# 297| -1: [TypeMention] int
|
|
# 297| 0: [LocalVariableAccess] access to local variable x
|
|
# 297| 1: [IntLiteral] 0
|
|
# 297| 0: [LogicalAndExpr] ... && ...
|
|
# 297| 0: [LTExpr] ... < ...
|
|
# 297| 0: [LocalVariableAccess] access to local variable x
|
|
# 297| 1: [IntLiteral] 10
|
|
# 297| 1: [IsExpr] ... is ...
|
|
# 297| 0: [LocalVariableAccess] access to local variable x
|
|
# 297| 1: [VariablePatternExpr] Int32 y
|
|
# 297| 0: [TypeMention] int
|
|
# 297| 1: [PreIncrExpr] ++...
|
|
# 297| 0: [LocalVariableAccess] access to local variable x
|
|
# 298| 2: [BlockStmt] {...}
|
|
# 299| 0: [ExprStmt] ...;
|
|
# 299| 0: [MethodCall] call to method WriteLine
|
|
# 299| -1: [TypeAccess] access to type Console
|
|
# 299| 0: [TypeMention] Console
|
|
# 299| 0: [LocalVariableAccess] access to local variable y
|