mirror of
https://github.com/github/codeql.git
synced 2025-12-18 01:33:15 +01:00
686 lines
31 KiB
Plaintext
686 lines
31 KiB
Plaintext
Discard.cs:
|
|
# 3| [Class] Discard
|
|
# 5| 5: [Method] M1
|
|
# 5| -1: [TypeMention] Void
|
|
# 6| 4: [BlockStmt] {...}
|
|
# 7| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 7| 0: [LocalVariableDeclAndInitExpr] Func<Int32,Int32,Int32> i = ...
|
|
# 7| -1: [TypeMention] Func<Int32, Int32, Int32>
|
|
# 7| 1: [TypeMention] int
|
|
# 7| 2: [TypeMention] int
|
|
# 7| 3: [TypeMention] int
|
|
# 7| 0: [LocalVariableAccess] access to local variable i
|
|
# 7| 1: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 7| 0: [Parameter] a
|
|
# 7| -1: [TypeMention] int
|
|
# 7| 1: [Parameter] b
|
|
# 7| -1: [TypeMention] int
|
|
# 7| 4: [IntLiteral] 42
|
|
# 8| 1: [ExprStmt] ...;
|
|
# 8| 0: [AssignExpr] ... = ...
|
|
# 8| 0: [LocalVariableAccess] access to local variable i
|
|
# 8| 1: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 8| 0: [Parameter] _
|
|
# 8| 1: [Parameter] _`1
|
|
# 8| 4: [IntLiteral] 42
|
|
# 9| 2: [ExprStmt] ...;
|
|
# 9| 0: [AssignExpr] ... = ...
|
|
# 9| 0: [LocalVariableAccess] access to local variable i
|
|
# 9| 1: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 9| 0: [Parameter] _
|
|
# 9| -1: [TypeMention] int
|
|
# 9| 1: [Parameter] _`1
|
|
# 9| -1: [TypeMention] int
|
|
# 9| 4: [IntLiteral] 42
|
|
# 10| 3: [ExprStmt] ...;
|
|
# 10| 0: [AssignExpr] ... = ...
|
|
# 10| 0: [LocalVariableAccess] access to local variable i
|
|
# 10| 1: [AnonymousMethodExpr] delegate(...) { ... }
|
|
#-----| 2: (Parameters)
|
|
# 10| 0: [Parameter] _
|
|
# 10| -1: [TypeMention] int
|
|
# 10| 1: [Parameter] _`1
|
|
# 10| -1: [TypeMention] int
|
|
# 10| 4: [BlockStmt] {...}
|
|
# 10| 0: [ReturnStmt] return ...;
|
|
# 10| 0: [IntLiteral] 0
|
|
LambdaModifier.cs:
|
|
# 4| [Class] Class1
|
|
# 6| 5: [Method] M1
|
|
# 6| -1: [TypeMention] Task
|
|
# 7| 4: [BlockStmt] {...}
|
|
# 8| 0: [LocalFunctionStmt] m(...)
|
|
# 8| 0: [LocalFunction] m
|
|
#-----| 2: (Parameters)
|
|
# 8| 0: [Parameter] f
|
|
# 8| -1: [TypeMention] Func<Int32, Int32>
|
|
# 8| 1: [TypeMention] int
|
|
# 8| 2: [TypeMention] int
|
|
# 8| 4: [BlockStmt] {...}
|
|
# 10| 1: [LocalConstantDeclStmt] const ... ...;
|
|
# 10| 0: [LocalVariableDeclAndInitExpr] Int32 z = ...
|
|
# 10| -1: [TypeMention] int
|
|
# 10| 0: [LocalVariableAccess] access to local variable z
|
|
# 10| 1: [IntLiteral] 10
|
|
# 11| 2: [ExprStmt] ...;
|
|
# 11| 0: [LocalFunctionCall] call to local function m
|
|
# 11| -1: [LocalFunctionAccess] access to local function m
|
|
# 11| 0: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 11| 0: [Parameter] x
|
|
# 11| 4: [AddExpr] ... + ...
|
|
# 11| 0: [ParameterAccess] access to parameter x
|
|
# 11| 1: [LocalVariableAccess] access to local variable z
|
|
# 12| 3: [ExprStmt] ...;
|
|
# 12| 0: [LocalFunctionCall] call to local function m
|
|
# 12| -1: [LocalFunctionAccess] access to local function m
|
|
# 12| 0: [LambdaExpr] (...) => ...
|
|
#-----| 2: (Parameters)
|
|
# 12| 0: [Parameter] x
|
|
# 12| 4: [AddExpr] ... + ...
|
|
# 12| 0: [ParameterAccess] access to parameter x
|
|
# 12| 1: [LocalVariableAccess] access to local variable z
|
|
# 13| 4: [ExprStmt] ...;
|
|
# 13| 0: [LocalFunctionCall] call to local function m
|
|
# 13| -1: [LocalFunctionAccess] access to local function m
|
|
# 13| 0: [AnonymousMethodExpr] delegate(...) { ... }
|
|
#-----| 2: (Parameters)
|
|
# 13| 0: [Parameter] x
|
|
# 13| -1: [TypeMention] int
|
|
# 13| 4: [BlockStmt] {...}
|
|
# 13| 0: [ReturnStmt] return ...;
|
|
# 13| 0: [AddExpr] ... + ...
|
|
# 13| 0: [ParameterAccess] access to parameter x
|
|
# 13| 1: [LocalVariableAccess] access to local variable z
|
|
# 15| 5: [ExprStmt] ...;
|
|
# 15| 0: [AwaitExpr] await ...
|
|
# 15| 0: [MethodCall] call to method Run
|
|
# 15| -1: [TypeAccess] access to type Task
|
|
# 15| 0: [TypeMention] Task
|
|
# 15| 0: [LambdaExpr] (...) => ...
|
|
# 15| 4: [BlockStmt] {...}
|
|
# 15| 0: [ExprStmt] ...;
|
|
# 15| 0: [AwaitExpr] await ...
|
|
# 15| 0: [PropertyCall] access to property CompletedTask
|
|
# 15| -1: [TypeAccess] access to type Task
|
|
# 15| 0: [TypeMention] Task
|
|
LocalFunction.cs:
|
|
# 4| [Class] LocalFunction
|
|
# 6| 5: [Method] M1
|
|
# 6| -1: [TypeMention] Task
|
|
# 7| 4: [BlockStmt] {...}
|
|
# 8| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 8| 0: [LocalVariableDeclAndInitExpr] Nullable<Int32> i = ...
|
|
# 8| -1: [TypeMention] int?
|
|
# 8| 1: [TypeMention] int
|
|
# 8| 0: [LocalVariableAccess] access to local variable i
|
|
# 8| 1: [CastExpr] (...) ...
|
|
# 8| 1: [IntLiteral] 1
|
|
# 9| 1: [LocalFunctionStmt] mul(...)
|
|
# 9| 0: [LocalFunction] mul
|
|
#-----| 2: (Parameters)
|
|
# 9| 0: [Parameter] mul
|
|
# 9| -1: [TypeMention] int
|
|
# 10| 4: [BlockStmt] {...}
|
|
# 11| 0: [ReturnStmt] return ...;
|
|
# 11| 0: [MulExpr] ... * ...
|
|
# 11| 0: [CastExpr] (...) ...
|
|
# 11| 1: [ParameterAccess] access to parameter mul
|
|
# 11| 1: [LocalVariableAccess] access to local variable i
|
|
# 14| 2: [ExprStmt] ...;
|
|
# 14| 0: [AwaitExpr] await ...
|
|
# 14| 0: [LocalFunctionCall] call to local function mul
|
|
# 14| -1: [LocalFunctionAccess] access to local function mul
|
|
# 14| 0: [IntLiteral] 2
|
|
# 16| 3: [LocalFunctionStmt] localExtern(...)
|
|
# 16| 0: [LocalFunction] localExtern
|
|
# 19| 6: [Method] M2
|
|
# 19| -1: [TypeMention] Void
|
|
# 20| 4: [BlockStmt] {...}
|
|
# 21| 0: [LocalFunctionStmt] dup(...)
|
|
# 21| 0: [LocalFunction] dup
|
|
#-----| 0: (Attributes)
|
|
# 21| 1: [Attribute] [Obsolete(...)]
|
|
# 21| 0: [TypeMention] ObsoleteAttribute
|
|
#-----| 2: (Parameters)
|
|
# 22| 0: [Parameter] b
|
|
# 22| -1: [TypeMention] bool
|
|
#-----| 0: (Attributes)
|
|
# 22| 1: [Attribute] [NotNullWhen(...)]
|
|
# 22| -1: [TypeMention] NotNullWhenAttribute
|
|
# 22| 0: [BoolLiteral] true
|
|
# 22| 1: [Parameter] i
|
|
# 22| -1: [TypeMention] int?
|
|
# 22| 1: [TypeMention] int
|
|
# 23| 4: [BlockStmt] {...}
|
|
# 24| 0: [ReturnStmt] return ...;
|
|
# 24| 0: [MulExpr] ... * ...
|
|
# 24| 0: [CastExpr] (...) ...
|
|
# 24| 1: [IntLiteral] 2
|
|
# 24| 1: [ParameterAccess] access to parameter i
|
|
# 27| 1: [ExprStmt] ...;
|
|
# 27| 0: [LocalFunctionCall] call to local function dup
|
|
# 27| -1: [LocalFunctionAccess] access to local function dup
|
|
# 27| 0: [BoolLiteral] true
|
|
# 27| 1: [CastExpr] (...) ...
|
|
# 27| 1: [IntLiteral] 42
|
|
NativeInt.cs:
|
|
# 3| [Class] NativeInt
|
|
# 5| 5: [Method] M1
|
|
# 5| -1: [TypeMention] Void
|
|
#-----| 2: (Parameters)
|
|
# 5| 0: [Parameter] j
|
|
# 5| -1: [TypeMention] int
|
|
# 5| 1: [Parameter] k
|
|
# 5| -1: [TypeMention] uint
|
|
# 6| 4: [BlockStmt] {...}
|
|
# 7| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 7| 0: [LocalVariableDeclAndInitExpr] IntPtr x = ...
|
|
# 7| -1: [TypeMention] IntPtr
|
|
# 7| 0: [LocalVariableAccess] access to local variable x
|
|
# 7| 1: [CastExpr] (...) ...
|
|
# 7| 1: [ParameterAccess] access to parameter j
|
|
# 8| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 8| 0: [LocalVariableDeclAndInitExpr] IntPtr x0 = ...
|
|
# 8| -1: [TypeMention] IntPtr
|
|
# 8| 0: [LocalVariableAccess] access to local variable x0
|
|
# 8| 1: [CastExpr] (...) ...
|
|
# 8| 0: [TypeAccess] access to type IntPtr
|
|
# 8| 0: [TypeMention] IntPtr
|
|
# 8| 1: [ParameterAccess] access to parameter j
|
|
# 9| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 9| 0: [LocalVariableDeclAndInitExpr] IntPtr x1 = ...
|
|
# 9| -1: [TypeMention] IntPtr
|
|
# 9| 0: [LocalVariableAccess] access to local variable x1
|
|
# 9| 1: [CastExpr] (...) ...
|
|
# 9| 0: [TypeAccess] access to type IntPtr
|
|
# 9| 0: [TypeMention] IntPtr
|
|
# 9| 1: [ParameterAccess] access to parameter j
|
|
# 10| 3: [LocalVariableDeclStmt] ... ...;
|
|
# 10| 0: [LocalVariableDeclAndInitExpr] UIntPtr y = ...
|
|
# 10| -1: [TypeMention] UIntPtr
|
|
# 10| 0: [LocalVariableAccess] access to local variable y
|
|
# 10| 1: [CastExpr] (...) ...
|
|
# 10| 1: [ParameterAccess] access to parameter k
|
|
# 12| 4: [LocalConstantDeclStmt] const ... ...;
|
|
# 12| 0: [LocalVariableDeclAndInitExpr] IntPtr i = ...
|
|
# 12| -1: [TypeMention] IntPtr
|
|
# 12| 0: [LocalVariableAccess] access to local variable i
|
|
# 12| 1: [CastExpr] (...) ...
|
|
# 12| 0: [TypeAccess] access to type IntPtr
|
|
# 12| 0: [TypeMention] IntPtr
|
|
# 12| 1: [IntLiteral] 42
|
|
# 15| 6: [Method] M2
|
|
# 15| -1: [TypeMention] Void
|
|
# 16| 4: [BlockStmt] {...}
|
|
# 17| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 17| 0: [LocalVariableDeclAndInitExpr] IntPtr x = ...
|
|
# 17| -1: [TypeMention] IntPtr
|
|
# 17| 0: [LocalVariableAccess] access to local variable x
|
|
# 17| 1: [CastExpr] (...) ...
|
|
# 17| 1: [IntLiteral] 3
|
|
# 18| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 18| 0: [LocalVariableDeclAndInitExpr] Int32 y = ...
|
|
# 18| -1: [TypeMention] int
|
|
# 18| 0: [LocalVariableAccess] access to local variable y
|
|
# 18| 1: [IntLiteral] 3
|
|
# 19| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 19| 0: [LocalVariableDeclAndInitExpr] Int64 v = ...
|
|
# 19| -1: [TypeMention] long
|
|
# 19| 0: [LocalVariableAccess] access to local variable v
|
|
# 19| 1: [CastExpr] (...) ...
|
|
# 19| 1: [IntLiteral] 10
|
|
# 21| 3: [LocalVariableDeclStmt] ... ...;
|
|
# 21| 0: [LocalVariableDeclAndInitExpr] Type test3 = ...
|
|
# 21| -1: [TypeMention] Type
|
|
# 21| 0: [LocalVariableAccess] access to local variable test3
|
|
# 21| 1: [TypeofExpr] typeof(...)
|
|
# 21| 0: [TypeAccess] access to type IntPtr
|
|
# 21| 0: [TypeMention] IntPtr
|
|
# 22| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 22| 0: [LocalVariableDeclAndInitExpr] Type test4 = ...
|
|
# 22| -1: [TypeMention] Type
|
|
# 22| 0: [LocalVariableAccess] access to local variable test4
|
|
# 22| 1: [TypeofExpr] typeof(...)
|
|
# 22| 0: [TypeAccess] access to type UIntPtr
|
|
# 22| 0: [TypeMention] UIntPtr
|
|
# 23| 5: [LocalVariableDeclStmt] ... ...;
|
|
# 23| 0: [LocalVariableDeclAndInitExpr] Type test5 = ...
|
|
# 23| -1: [TypeMention] Type
|
|
# 23| 0: [LocalVariableAccess] access to local variable test5
|
|
# 23| 1: [MethodCall] call to method GetType
|
|
# 23| -1: [AddExpr] ... + ...
|
|
# 23| 0: [LocalVariableAccess] access to local variable x
|
|
# 23| 1: [CastExpr] (...) ...
|
|
# 23| 1: [IntLiteral] 1
|
|
# 24| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 24| 0: [LocalVariableDeclAndInitExpr] Type test6 = ...
|
|
# 24| -1: [TypeMention] Type
|
|
# 24| 0: [LocalVariableAccess] access to local variable test6
|
|
# 24| 1: [MethodCall] call to method GetType
|
|
# 24| -1: [AddExpr] ... + ...
|
|
# 24| 0: [LocalVariableAccess] access to local variable x
|
|
# 24| 1: [CastExpr] (...) ...
|
|
# 24| 1: [LocalVariableAccess] access to local variable y
|
|
# 25| 7: [LocalVariableDeclStmt] ... ...;
|
|
# 25| 0: [LocalVariableDeclAndInitExpr] Type test7 = ...
|
|
# 25| -1: [TypeMention] Type
|
|
# 25| 0: [LocalVariableAccess] access to local variable test7
|
|
# 25| 1: [MethodCall] call to method GetType
|
|
# 25| -1: [AddExpr] ... + ...
|
|
# 25| 0: [CastExpr] (...) ...
|
|
# 25| 1: [LocalVariableAccess] access to local variable x
|
|
# 25| 1: [LocalVariableAccess] access to local variable v
|
|
ParenthesizedPattern.cs:
|
|
# 3| [Class] T
|
|
# 5| [Class] ParenthesizedPattern
|
|
# 7| 5: [Method] M1
|
|
# 7| -1: [TypeMention] Void
|
|
#-----| 2: (Parameters)
|
|
# 7| 0: [Parameter] o
|
|
# 7| -1: [TypeMention] object
|
|
# 8| 4: [BlockStmt] {...}
|
|
# 9| 0: [IfStmt] if (...) ...
|
|
# 9| 0: [IsExpr] ... is ...
|
|
# 9| 0: [ParameterAccess] access to parameter o
|
|
# 9| 1: [RecursivePatternExpr] { ... }
|
|
# 9| 0: [LocalVariableDeclExpr] Object p1
|
|
# 9| 3: [PropertyPatternExpr] { ... }
|
|
# 10| 1: [BlockStmt] {...}
|
|
# 13| 1: [IfStmt] if (...) ...
|
|
# 13| 0: [IsExpr] ... is ...
|
|
# 13| 0: [ParameterAccess] access to parameter o
|
|
# 13| 1: [RecursivePatternExpr] { ... }
|
|
# 13| 0: [LocalVariableDeclExpr] Object p2
|
|
# 13| 3: [PropertyPatternExpr] { ... }
|
|
# 14| 1: [BlockStmt] {...}
|
|
# 19| 6: [Method] M2
|
|
# 19| -1: [TypeMention] Void
|
|
#-----| 2: (Parameters)
|
|
# 19| 0: [Parameter] o
|
|
# 19| -1: [TypeMention] object
|
|
# 20| 4: [BlockStmt] {...}
|
|
# 21| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 21| 0: [LocalVariableDeclAndInitExpr] Int32 r = ...
|
|
# 21| -1: [TypeMention] int
|
|
# 21| 0: [LocalVariableAccess] access to local variable r
|
|
# 21| 1: [SwitchExpr] ... switch { ... }
|
|
# 21| -1: [ParameterAccess] access to parameter o
|
|
# 23| 0: [SwitchCaseExpr] ... => ...
|
|
# 23| 0: [ConstantPatternExpr,IntLiteral] 1
|
|
# 23| 2: [IntLiteral] 1
|
|
# 24| 1: [SwitchCaseExpr] ... => ...
|
|
# 24| 0: [ConstantPatternExpr,IntLiteral] 2
|
|
# 24| 2: [IntLiteral] 2
|
|
# 25| 2: [SwitchCaseExpr] ... => ...
|
|
# 25| 0: [VariablePatternExpr] T t
|
|
# 25| 0: [TypeMention] T
|
|
# 25| 1: [IsExpr] ... is ...
|
|
# 25| 0: [LocalVariableAccess] access to local variable t
|
|
# 25| 1: [RecursivePatternExpr] { ... }
|
|
# 25| 3: [PropertyPatternExpr] { ... }
|
|
# 25| 2: [IntLiteral] 3
|
|
# 26| 3: [SwitchCaseExpr] ... => ...
|
|
# 26| 0: [VariablePatternExpr] Object o1
|
|
# 26| 0: [TypeMention] object
|
|
# 26| 1: [IsExpr] ... is ...
|
|
# 26| 0: [LocalVariableAccess] access to local variable o1
|
|
# 26| 1: [RecursivePatternExpr] { ... }
|
|
# 26| 3: [PropertyPatternExpr] { ... }
|
|
# 26| 2: [IntLiteral] 4
|
|
# 27| 4: [SwitchCaseExpr] ... => ...
|
|
# 27| 0: [TypeAccessPatternExpr] access to type String
|
|
# 27| 0: [TypeMention] string
|
|
# 27| 2: [IntLiteral] 5
|
|
RelationalPattern.cs:
|
|
# 3| [Class] RelationalPattern
|
|
# 5| 5: [Method] M1
|
|
# 5| -1: [TypeMention] bool
|
|
#-----| 2: (Parameters)
|
|
# 5| 0: [Parameter] c
|
|
# 5| -1: [TypeMention] char
|
|
# 6| 4: [IsExpr] ... is ...
|
|
# 6| 0: [ParameterAccess] access to parameter c
|
|
# 6| 1: [GEPattern] >= ...
|
|
# 6| 0: [CharLiteral] a
|
|
# 7| 6: [Method] M2
|
|
# 7| -1: [TypeMention] bool
|
|
#-----| 2: (Parameters)
|
|
# 7| 0: [Parameter] c
|
|
# 7| -1: [TypeMention] char
|
|
# 8| 4: [IsExpr] ... is ...
|
|
# 8| 0: [ParameterAccess] access to parameter c
|
|
# 8| 1: [GTPattern] > ...
|
|
# 8| 0: [CharLiteral] a
|
|
# 9| 7: [Method] M3
|
|
# 9| -1: [TypeMention] bool
|
|
#-----| 2: (Parameters)
|
|
# 9| 0: [Parameter] c
|
|
# 9| -1: [TypeMention] char
|
|
# 10| 4: [IsExpr] ... is ...
|
|
# 10| 0: [ParameterAccess] access to parameter c
|
|
# 10| 1: [LEPattern] <= ...
|
|
# 10| 0: [CharLiteral] a
|
|
# 11| 8: [Method] M4
|
|
# 11| -1: [TypeMention] bool
|
|
#-----| 2: (Parameters)
|
|
# 11| 0: [Parameter] c
|
|
# 11| -1: [TypeMention] char
|
|
# 12| 4: [IsExpr] ... is ...
|
|
# 12| 0: [ParameterAccess] access to parameter c
|
|
# 12| 1: [LTPattern] < ...
|
|
# 12| 0: [CharLiteral] a
|
|
# 14| 9: [Method] M5
|
|
# 14| -1: [TypeMention] string
|
|
#-----| 2: (Parameters)
|
|
# 14| 0: [Parameter] i
|
|
# 14| -1: [TypeMention] int
|
|
# 15| 4: [BlockStmt] {...}
|
|
# 16| 0: [ReturnStmt] return ...;
|
|
# 16| 0: [SwitchExpr] ... switch { ... }
|
|
# 16| -1: [ParameterAccess] access to parameter i
|
|
# 18| 0: [SwitchCaseExpr] ... => ...
|
|
# 18| 0: [ConstantPatternExpr,IntLiteral] 1
|
|
# 18| 2: [StringLiteral] "1"
|
|
# 19| 1: [SwitchCaseExpr] ... => ...
|
|
# 19| 0: [GTPattern] > ...
|
|
# 19| 0: [IntLiteral] 1
|
|
# 19| 2: [StringLiteral] ">1"
|
|
# 20| 2: [SwitchCaseExpr] ... => ...
|
|
# 20| 0: [DiscardPatternExpr] _
|
|
# 20| 2: [StringLiteral] "other"
|
|
TargetType.cs:
|
|
# 5| [Class] TargetType
|
|
# 7| 5: [Method] M2
|
|
# 7| -1: [TypeMention] Void
|
|
# 8| 4: [BlockStmt] {...}
|
|
# 9| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 9| 0: [LocalVariableDeclAndInitExpr] Random rand = ...
|
|
# 9| -1: [TypeMention] Random
|
|
# 9| 0: [LocalVariableAccess] access to local variable rand
|
|
# 9| 1: [ObjectCreation] object creation of type Random
|
|
# 9| 0: [TypeMention] Random
|
|
# 10| 1: [LocalVariableDeclStmt] ... ...;
|
|
# 10| 0: [LocalVariableDeclAndInitExpr] Boolean condition = ...
|
|
# 10| -1: [TypeMention] bool
|
|
# 10| 0: [LocalVariableAccess] access to local variable condition
|
|
# 10| 1: [GTExpr] ... > ...
|
|
# 10| 0: [MethodCall] call to method NextDouble
|
|
# 10| -1: [LocalVariableAccess] access to local variable rand
|
|
# 10| 1: [DoubleLiteral] 0.5
|
|
# 12| 2: [LocalVariableDeclStmt] ... ...;
|
|
# 12| 0: [LocalVariableDeclAndInitExpr] Nullable<Int32> x0 = ...
|
|
# 12| -1: [TypeMention] int?
|
|
# 12| 1: [TypeMention] int
|
|
# 12| 0: [LocalVariableAccess] access to local variable x0
|
|
# 12| 1: [CastExpr] (...) ...
|
|
# 12| 1: [IntLiteral] 12
|
|
# 13| 3: [ExprStmt] ...;
|
|
# 13| 0: [AssignExpr] ... = ...
|
|
# 13| 0: [LocalVariableAccess] access to local variable x0
|
|
# 13| 1: [CastExpr] (...) ...
|
|
# 13| 1: [IntLiteral] 13
|
|
# 14| 4: [LocalVariableDeclStmt] ... ...;
|
|
# 14| 0: [LocalVariableDeclAndInitExpr] Nullable<Int32> x1 = ...
|
|
# 14| -1: [TypeMention] int?
|
|
# 14| 1: [TypeMention] int
|
|
# 14| 0: [LocalVariableAccess] access to local variable x1
|
|
# 14| 1: [NullLiteral] null
|
|
# 16| 5: [LocalVariableDeclStmt] ... ...;
|
|
# 16| 0: [LocalVariableDeclAndInitExpr] Nullable<Int32> x2 = ...
|
|
# 16| -1: [TypeMention] int?
|
|
# 16| 1: [TypeMention] int
|
|
# 16| 0: [LocalVariableAccess] access to local variable x2
|
|
# 16| 1: [ConditionalExpr] ... ? ... : ...
|
|
# 16| 0: [LocalVariableAccess] access to local variable condition
|
|
# 17| 1: [CastExpr] (...) ...
|
|
# 17| 1: [IntLiteral] 12
|
|
# 18| 2: [NullLiteral] null
|
|
# 20| 6: [LocalVariableDeclStmt] ... ...;
|
|
# 20| 0: [LocalVariableDeclAndInitExpr] Nullable<Int32> x3 = ...
|
|
# 20| -1: [TypeMention] int?
|
|
# 20| 1: [TypeMention] int
|
|
# 20| 0: [LocalVariableAccess] access to local variable x3
|
|
# 20| 1: [ConditionalExpr] ... ? ... : ...
|
|
# 20| 0: [LocalVariableAccess] access to local variable condition
|
|
# 21| 1: [CastExpr] (...) ...
|
|
# 21| 0: [TypeAccess] access to type Nullable<Int32>
|
|
# 21| 0: [TypeMention] int?
|
|
# 21| 1: [TypeMention] int
|
|
# 21| 1: [IntLiteral] 12
|
|
# 22| 2: [NullLiteral] null
|
|
# 24| 7: [LocalVariableDeclStmt] ... ...;
|
|
# 24| 0: [LocalVariableDeclAndInitExpr] Nullable<Int32> x4 = ...
|
|
# 24| -1: [TypeMention] int?
|
|
# 24| 1: [TypeMention] int
|
|
# 24| 0: [LocalVariableAccess] access to local variable x4
|
|
# 24| 1: [ConditionalExpr] ... ? ... : ...
|
|
# 24| 0: [LocalVariableAccess] access to local variable condition
|
|
# 25| 1: [CastExpr] (...) ...
|
|
# 25| 1: [IntLiteral] 12
|
|
# 26| 2: [CastExpr] (...) ...
|
|
# 26| 0: [TypeAccess] access to type Nullable<Int32>
|
|
# 26| 0: [TypeMention] int?
|
|
# 26| 1: [TypeMention] int
|
|
# 26| 1: [NullLiteral] null
|
|
# 28| 8: [LocalVariableDeclStmt] ... ...;
|
|
# 28| 0: [LocalVariableDeclAndInitExpr] IEnumerable<Int32> xs0 = ...
|
|
# 28| -1: [TypeMention] IEnumerable<Int32>
|
|
# 28| 1: [TypeMention] int
|
|
# 28| 0: [LocalVariableAccess] access to local variable xs0
|
|
# 28| 1: [ObjectCreation] object creation of type List<Int32>
|
|
# 28| -2: [TypeMention] List<Int32>
|
|
# 28| 1: [TypeMention] int
|
|
# 28| -1: [CollectionInitializer] { ..., ... }
|
|
# 28| 0: [ElementInitializer] call to method Add
|
|
# 28| 0: [IntLiteral] 0
|
|
# 28| 1: [ElementInitializer] call to method Add
|
|
# 28| 0: [IntLiteral] 1
|
|
# 29| 9: [LocalVariableDeclStmt] ... ...;
|
|
# 29| 0: [LocalVariableDeclAndInitExpr] IEnumerable<Int32> xs1 = ...
|
|
# 29| -1: [TypeMention] IEnumerable<Int32>
|
|
# 29| 1: [TypeMention] int
|
|
# 29| 0: [LocalVariableAccess] access to local variable xs1
|
|
# 29| 1: [ArrayCreation] array creation of type Int32[]
|
|
# 29| -2: [TypeMention] Int32[]
|
|
# 29| 1: [TypeMention] int
|
|
# 29| -1: [ArrayInitializer] { ..., ... }
|
|
# 29| 0: [IntLiteral] 2
|
|
# 29| 1: [IntLiteral] 3
|
|
# 31| 10: [LocalVariableDeclStmt] ... ...;
|
|
# 31| 0: [LocalVariableDeclAndInitExpr] IEnumerable<Int32> xs2 = ...
|
|
# 31| -1: [TypeMention] IEnumerable<Int32>
|
|
# 31| 1: [TypeMention] int
|
|
# 31| 0: [LocalVariableAccess] access to local variable xs2
|
|
# 31| 1: [ConditionalExpr] ... ? ... : ...
|
|
# 31| 0: [IsExpr] ... is ...
|
|
# 31| 0: [LocalVariableAccess] access to local variable x2
|
|
# 31| 1: [ConstantPatternExpr,NullLiteral] null
|
|
# 32| 1: [ObjectCreation] object creation of type List<Int32>
|
|
# 32| -2: [TypeMention] List<Int32>
|
|
# 32| 1: [TypeMention] int
|
|
# 32| -1: [CollectionInitializer] { ..., ... }
|
|
# 32| 0: [ElementInitializer] call to method Add
|
|
# 32| 0: [IntLiteral] 0
|
|
# 32| 1: [ElementInitializer] call to method Add
|
|
# 32| 0: [IntLiteral] 1
|
|
# 33| 2: [ArrayCreation] array creation of type Int32[]
|
|
# 33| -2: [TypeMention] Int32[]
|
|
# 33| 1: [TypeMention] int
|
|
# 33| -1: [ArrayInitializer] { ..., ... }
|
|
# 33| 0: [IntLiteral] 2
|
|
# 33| 1: [IntLiteral] 3
|
|
# 35| 11: [LocalVariableDeclStmt] ... ...;
|
|
# 35| 0: [LocalVariableDeclAndInitExpr] Nullable<Int32> c = ...
|
|
# 35| -1: [TypeMention] int?
|
|
# 35| 1: [TypeMention] int
|
|
# 35| 0: [LocalVariableAccess] access to local variable c
|
|
# 35| 1: [CastExpr] (...) ...
|
|
# 35| 1: [ConditionalExpr] ... ? ... : ...
|
|
# 35| 0: [LocalVariableAccess] access to local variable condition
|
|
# 36| 1: [OperatorCall] call to operator implicit conversion
|
|
# 36| 0: [ObjectCreation] object creation of type TargetType
|
|
# 36| 0: [TypeMention] TargetType
|
|
# 37| 2: [IntLiteral] 12
|
|
# 40| 6: [ImplicitConversionOperator] implicit conversion
|
|
# 40| -1: [TypeMention] int
|
|
#-----| 2: (Parameters)
|
|
# 40| 0: [Parameter] d
|
|
# 40| -1: [TypeMention] TargetType
|
|
# 40| 4: [IntLiteral] 0
|
|
TypeParameterNullability.cs:
|
|
# 1| [Interface] I1
|
|
# 3| [Class] A2
|
|
# 5| 5: [Method] F1
|
|
# 5| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 5| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 5| 0: [Parameter] t
|
|
# 5| 4: [BlockStmt] {...}
|
|
# 6| 6: [Method] F2
|
|
# 6| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 6| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 6| 0: [Parameter] t
|
|
# 6| -1: [TypeMention] T?
|
|
# 6| 1: [TypeMention] T
|
|
# 6| 4: [BlockStmt] {...}
|
|
# 7| 7: [Method] F3
|
|
# 7| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 7| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 7| 0: [Parameter] t
|
|
# 7| 4: [BlockStmt] {...}
|
|
# 8| 8: [Method] F4
|
|
# 8| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 8| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 8| 0: [Parameter] t
|
|
# 8| 4: [BlockStmt] {...}
|
|
# 9| 9: [Method] F5
|
|
# 9| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 9| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 9| 0: [Parameter] t
|
|
# 9| 4: [BlockStmt] {...}
|
|
# 10| 10: [Method] F6
|
|
# 10| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 10| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 10| 0: [Parameter] t
|
|
# 10| -1: [TypeMention] T?
|
|
# 10| 1: [TypeMention] T
|
|
# 10| 4: [BlockStmt] {...}
|
|
# 13| [Class] B2
|
|
#-----| 3: (Base types)
|
|
# 13| 0: [TypeMention] A2
|
|
# 15| 5: [Method] F1
|
|
# 15| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 15| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 15| 0: [Parameter] t
|
|
# 15| 4: [BlockStmt] {...}
|
|
# 16| 6: [Method] F2
|
|
# 16| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 16| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 16| 0: [Parameter] t
|
|
# 16| -1: [TypeMention] T?
|
|
# 16| 1: [TypeMention] T
|
|
# 16| 4: [BlockStmt] {...}
|
|
# 17| 7: [Method] F3
|
|
# 17| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 17| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 17| 0: [Parameter] t
|
|
# 17| 4: [BlockStmt] {...}
|
|
# 18| 8: [Method] F4
|
|
# 18| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 18| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 18| 0: [Parameter] t
|
|
# 18| 4: [BlockStmt] {...}
|
|
# 19| 9: [Method] F6
|
|
# 19| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 19| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 19| 0: [Parameter] t
|
|
# 19| -1: [TypeMention] T?
|
|
# 19| 1: [TypeMention] T
|
|
# 19| 4: [BlockStmt] {...}
|
|
# 22| [Class] B3
|
|
#-----| 3: (Base types)
|
|
# 22| 0: [TypeMention] A2
|
|
# 24| 5: [Method] F2
|
|
# 24| -1: [TypeMention] Void
|
|
#-----| 1: (Type parameters)
|
|
# 24| 0: [TypeParameter] T
|
|
#-----| 2: (Parameters)
|
|
# 24| 0: [Parameter] t
|
|
# 24| -1: [TypeMention] T?
|
|
# 24| 1: [TypeMention] T
|
|
# 24| 4: [BlockStmt] {...}
|
|
TypePattern.cs:
|
|
# 3| [Class] TypePattern
|
|
# 5| 5: [Method] M1
|
|
# 5| -1: [TypeMention] object
|
|
#-----| 2: (Parameters)
|
|
# 5| 0: [Parameter] o1
|
|
# 5| -1: [TypeMention] object
|
|
# 5| 1: [Parameter] o2
|
|
# 5| -1: [TypeMention] object
|
|
# 6| 4: [BlockStmt] {...}
|
|
# 7| 0: [LocalVariableDeclStmt] ... ...;
|
|
# 7| 0: [LocalVariableDeclAndInitExpr] (Object,Object) t = ...
|
|
# 7| -1: [TypeMention] (object, object)
|
|
# 7| 0: [LocalVariableAccess] access to local variable t
|
|
# 7| 1: [TupleExpr] (..., ...)
|
|
# 7| 0: [ParameterAccess] access to parameter o1
|
|
# 7| 1: [ParameterAccess] access to parameter o2
|
|
# 8| 1: [IfStmt] if (...) ...
|
|
# 8| 0: [IsExpr] ... is ...
|
|
# 8| 0: [LocalVariableAccess] access to local variable t
|
|
# 8| 1: [RecursivePatternExpr] { ... }
|
|
# 8| 2: [PositionalPatternExpr] ( ... )
|
|
# 8| 0: [TypeAccessPatternExpr] access to type Int32
|
|
# 8| 0: [TypeMention] int
|
|
# 8| 1: [TypeAccessPatternExpr] access to type String
|
|
# 8| 0: [TypeMention] string
|
|
# 8| 1: [BlockStmt] {...}
|
|
# 9| 2: [ReturnStmt] return ...;
|
|
# 9| 0: [SwitchExpr] ... switch { ... }
|
|
# 9| -1: [ParameterAccess] access to parameter o1
|
|
# 11| 0: [SwitchCaseExpr] ... => ...
|
|
# 11| 0: [TypeAccessPatternExpr] access to type Int32
|
|
# 11| 0: [TypeMention] int
|
|
# 11| 2: [CastExpr] (...) ...
|
|
# 11| 1: [IntLiteral] 1
|
|
# 12| 1: [SwitchCaseExpr] ... => ...
|
|
# 12| 0: [VariablePatternExpr] Double d
|
|
# 12| 0: [TypeMention] double
|
|
# 12| 2: [CastExpr] (...) ...
|
|
# 12| 1: [LocalVariableAccess] access to local variable d
|
|
# 13| 2: [SwitchCaseExpr] ... => ...
|
|
# 13| 0: [TypeAccessPatternExpr] access to type String
|
|
# 13| 0: [TypeMention] string
|
|
# 13| 2: [CastExpr] (...) ...
|
|
# 13| 1: [IntLiteral] 3
|
|
# 14| 3: [SwitchCaseExpr] ... => ...
|
|
# 14| 0: [VariablePatternExpr] Object o
|
|
# 14| 0: [TypeMention] object
|
|
# 14| 2: [LocalVariableAccess] access to local variable o
|