Files
codeql/csharp/ql/test/library-tests/csharp11/PrintAst.expected

1451 lines
62 KiB
Plaintext

CheckedOperators.cs:
# 1| [NamespaceDeclaration] namespace ... { ... }
# 3| 1: [Class] Number
# 5| 4: [Property] Value
# 5| -1: [TypeMention] int
# 5| 3: [Getter] get_Value
# 7| 5: [InstanceConstructor] Number
#-----| 2: (Parameters)
# 7| 0: [Parameter] n
# 7| -1: [TypeMention] int
# 7| 4: [AssignExpr] ... = ...
# 7| 0: [PropertyCall] access to property Value
# 7| -1: [ThisAccess] this access
# 7| 1: [ParameterAccess] access to parameter n
# 9| 6: [CheckedAddOperator] checked +
# 9| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 9| 0: [Parameter] n1
# 9| -1: [TypeMention] Number
# 9| 1: [Parameter] n2
# 9| -1: [TypeMention] Number
# 10| 4: [ObjectCreation] object creation of type Number
# 10| -1: [TypeMention] Number
# 10| 0: [CheckedExpr] checked (...)
# 10| 0: [AddExpr] ... + ...
# 10| 0: [PropertyCall] access to property Value
# 10| -1: [ParameterAccess] access to parameter n1
# 10| 1: [PropertyCall] access to property Value
# 10| -1: [ParameterAccess] access to parameter n2
# 12| 7: [AddOperator] +
# 12| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 12| 0: [Parameter] n1
# 12| -1: [TypeMention] Number
# 12| 1: [Parameter] n2
# 12| -1: [TypeMention] Number
# 13| 4: [ObjectCreation] object creation of type Number
# 13| -1: [TypeMention] Number
# 13| 0: [AddExpr] ... + ...
# 13| 0: [PropertyCall] access to property Value
# 13| -1: [ParameterAccess] access to parameter n1
# 13| 1: [PropertyCall] access to property Value
# 13| -1: [ParameterAccess] access to parameter n2
# 15| 8: [CheckedSubOperator] checked -
# 15| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 15| 0: [Parameter] n1
# 15| -1: [TypeMention] Number
# 15| 1: [Parameter] n2
# 15| -1: [TypeMention] Number
# 16| 4: [ObjectCreation] object creation of type Number
# 16| -1: [TypeMention] Number
# 16| 0: [CheckedExpr] checked (...)
# 16| 0: [SubExpr] ... - ...
# 16| 0: [PropertyCall] access to property Value
# 16| -1: [ParameterAccess] access to parameter n1
# 16| 1: [PropertyCall] access to property Value
# 16| -1: [ParameterAccess] access to parameter n2
# 18| 9: [SubOperator] -
# 18| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 18| 0: [Parameter] n1
# 18| -1: [TypeMention] Number
# 18| 1: [Parameter] n2
# 18| -1: [TypeMention] Number
# 19| 4: [ObjectCreation] object creation of type Number
# 19| -1: [TypeMention] Number
# 19| 0: [SubExpr] ... - ...
# 19| 0: [PropertyCall] access to property Value
# 19| -1: [ParameterAccess] access to parameter n1
# 19| 1: [PropertyCall] access to property Value
# 19| -1: [ParameterAccess] access to parameter n2
# 21| 10: [CheckedMulOperator] checked *
# 21| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 21| 0: [Parameter] n1
# 21| -1: [TypeMention] Number
# 21| 1: [Parameter] n2
# 21| -1: [TypeMention] Number
# 22| 4: [ObjectCreation] object creation of type Number
# 22| -1: [TypeMention] Number
# 22| 0: [CheckedExpr] checked (...)
# 22| 0: [MulExpr] ... * ...
# 22| 0: [PropertyCall] access to property Value
# 22| -1: [ParameterAccess] access to parameter n1
# 22| 1: [PropertyCall] access to property Value
# 22| -1: [ParameterAccess] access to parameter n2
# 24| 11: [MulOperator] *
# 24| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 24| 0: [Parameter] n1
# 24| -1: [TypeMention] Number
# 24| 1: [Parameter] n2
# 24| -1: [TypeMention] Number
# 25| 4: [ObjectCreation] object creation of type Number
# 25| -1: [TypeMention] Number
# 25| 0: [MulExpr] ... * ...
# 25| 0: [PropertyCall] access to property Value
# 25| -1: [ParameterAccess] access to parameter n1
# 25| 1: [PropertyCall] access to property Value
# 25| -1: [ParameterAccess] access to parameter n2
# 27| 12: [CheckedDivOperator] checked /
# 27| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 27| 0: [Parameter] n1
# 27| -1: [TypeMention] Number
# 27| 1: [Parameter] n2
# 27| -1: [TypeMention] Number
# 28| 4: [ObjectCreation] object creation of type Number
# 28| -1: [TypeMention] Number
# 28| 0: [CheckedExpr] checked (...)
# 28| 0: [DivExpr] ... / ...
# 28| 0: [PropertyCall] access to property Value
# 28| -1: [ParameterAccess] access to parameter n1
# 28| 1: [PropertyCall] access to property Value
# 28| -1: [ParameterAccess] access to parameter n2
# 30| 13: [DivOperator] /
# 30| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 30| 0: [Parameter] n1
# 30| -1: [TypeMention] Number
# 30| 1: [Parameter] n2
# 30| -1: [TypeMention] Number
# 31| 4: [ObjectCreation] object creation of type Number
# 31| -1: [TypeMention] Number
# 31| 0: [DivExpr] ... / ...
# 31| 0: [PropertyCall] access to property Value
# 31| -1: [ParameterAccess] access to parameter n1
# 31| 1: [PropertyCall] access to property Value
# 31| -1: [ParameterAccess] access to parameter n2
# 33| 14: [CheckedMinusOperator] checked -
# 33| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 33| 0: [Parameter] n
# 33| -1: [TypeMention] Number
# 34| 4: [ObjectCreation] object creation of type Number
# 34| -1: [TypeMention] Number
# 34| 0: [CheckedExpr] checked (...)
# 34| 0: [UnaryMinusExpr] -...
# 34| 0: [PropertyCall] access to property Value
# 34| -1: [ParameterAccess] access to parameter n
# 36| 15: [MinusOperator] -
# 36| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 36| 0: [Parameter] n
# 36| -1: [TypeMention] Number
# 37| 4: [ObjectCreation] object creation of type Number
# 37| -1: [TypeMention] Number
# 37| 0: [UnaryMinusExpr] -...
# 37| 0: [PropertyCall] access to property Value
# 37| -1: [ParameterAccess] access to parameter n
# 39| 16: [CheckedIncrementOperator] checked ++
# 39| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 39| 0: [Parameter] n
# 39| -1: [TypeMention] Number
# 40| 4: [ObjectCreation] object creation of type Number
# 40| -1: [TypeMention] Number
# 40| 0: [CheckedExpr] checked (...)
# 40| 0: [AddExpr] ... + ...
# 40| 0: [PropertyCall] access to property Value
# 40| -1: [ParameterAccess] access to parameter n
# 40| 1: [IntLiteral] 1
# 42| 17: [IncrementOperator] ++
# 42| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 42| 0: [Parameter] n
# 42| -1: [TypeMention] Number
# 43| 4: [ObjectCreation] object creation of type Number
# 43| -1: [TypeMention] Number
# 43| 0: [AddExpr] ... + ...
# 43| 0: [PropertyCall] access to property Value
# 43| -1: [ParameterAccess] access to parameter n
# 43| 1: [IntLiteral] 1
# 45| 18: [CheckedDecrementOperator] checked --
# 45| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 45| 0: [Parameter] n
# 45| -1: [TypeMention] Number
# 46| 4: [ObjectCreation] object creation of type Number
# 46| -1: [TypeMention] Number
# 46| 0: [CheckedExpr] checked (...)
# 46| 0: [SubExpr] ... - ...
# 46| 0: [PropertyCall] access to property Value
# 46| -1: [ParameterAccess] access to parameter n
# 46| 1: [IntLiteral] 1
# 48| 19: [DecrementOperator] --
# 48| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 48| 0: [Parameter] n
# 48| -1: [TypeMention] Number
# 49| 4: [ObjectCreation] object creation of type Number
# 49| -1: [TypeMention] Number
# 49| 0: [SubExpr] ... - ...
# 49| 0: [PropertyCall] access to property Value
# 49| -1: [ParameterAccess] access to parameter n
# 49| 1: [IntLiteral] 1
# 51| 20: [ExplicitConversionOperator] explicit conversion
# 51| -1: [TypeMention] short
#-----| 2: (Parameters)
# 51| 0: [Parameter] n
# 51| -1: [TypeMention] Number
# 52| 4: [CastExpr] (...) ...
# 52| 0: [TypeAccess] access to type Int16
# 52| 0: [TypeMention] short
# 52| 1: [PropertyCall] access to property Value
# 52| -1: [ParameterAccess] access to parameter n
# 54| 21: [CheckedExplicitConversionOperator] checked explicit conversion
# 54| -1: [TypeMention] short
#-----| 2: (Parameters)
# 54| 0: [Parameter] n
# 54| -1: [TypeMention] Number
# 55| 4: [CheckedExpr] checked (...)
# 55| 0: [CastExpr] (...) ...
# 55| 0: [TypeAccess] access to type Int16
# 55| 0: [TypeMention] short
# 55| 1: [PropertyCall] access to property Value
# 55| -1: [ParameterAccess] access to parameter n
FileScoped1.cs:
# 1| [Interface] I1
# 3| [Interface] I2
# 5| [Class] C1
#-----| 3: (Base types)
# 5| 1: [TypeMention] I1
# 7| [Class] C2
# 9| [Class] C3
#-----| 3: (Base types)
# 9| 1: [TypeMention] I2
# 11| [Interface] IC
# 13| [Class] C4`1
#-----| 1: (Type parameters)
# 13| 0: [TypeParameter] T
# 15| [Class] C5`1
#-----| 1: (Type parameters)
# 15| 0: [TypeParameter] S
#-----| 3: (Base types)
# 15| 0: [TypeMention] C4<S>
# 15| 1: [TypeMention] S
# 17| [Struct] S1
# 19| [Enum] E1
# 21| [DelegateType] D1
# 23| [RecordClass] R1
# 23| 12: [NEOperator] !=
#-----| 2: (Parameters)
# 23| 0: [Parameter] left
# 23| 1: [Parameter] right
# 23| 13: [EQOperator] ==
#-----| 2: (Parameters)
# 23| 0: [Parameter] left
# 23| 1: [Parameter] right
# 23| 14: [Property] EqualityContract
# 23| 3: [Getter] get_EqualityContract
# 25| [RecordStruct] RS1
# 25| 10: [NEOperator] !=
#-----| 2: (Parameters)
# 25| 0: [Parameter] left
# 25| 1: [Parameter] right
# 25| 11: [EQOperator] ==
#-----| 2: (Parameters)
# 25| 0: [Parameter] left
# 25| 1: [Parameter] right
FileScoped2.cs:
# 1| [Interface] I1
# 3| [Interface] I2
# 5| [Class] C1
# 7| [Class] C2
#-----| 3: (Base types)
# 7| 1: [TypeMention] I2
# 9| [Class] IC
# 11| [Class] C4`1
#-----| 1: (Type parameters)
# 11| 0: [TypeParameter] T
# 13| [Class] C5`1
#-----| 1: (Type parameters)
# 13| 0: [TypeParameter] S
#-----| 3: (Base types)
# 13| 0: [TypeMention] C4<S>
# 13| 1: [TypeMention] S
# 15| [Struct] S1
# 17| [Enum] E1
# 19| [DelegateType] D1
# 21| [RecordClass] R1
# 21| 12: [NEOperator] !=
#-----| 2: (Parameters)
# 21| 0: [Parameter] left
# 21| 1: [Parameter] right
# 21| 13: [EQOperator] ==
#-----| 2: (Parameters)
# 21| 0: [Parameter] left
# 21| 1: [Parameter] right
# 21| 14: [Property] EqualityContract
# 21| 3: [Getter] get_EqualityContract
# 23| [RecordStruct] RS1
# 23| 10: [NEOperator] !=
#-----| 2: (Parameters)
# 23| 0: [Parameter] left
# 23| 1: [Parameter] right
# 23| 11: [EQOperator] ==
#-----| 2: (Parameters)
# 23| 0: [Parameter] left
# 23| 1: [Parameter] right
FileScoped3.cs:
# 1| [NamespaceDeclaration] namespace ... { ... }
# 3| 1: [Interface] I10
# 5| 2: [Class] C10
# 7| 3: [Class] C11
#-----| 3: (Base types)
# 7| 1: [TypeMention] I10
FileScoped4.cs:
# 1| [NamespaceDeclaration] namespace ... { ... }
# 3| 1: [Interface] I10
# 5| 2: [Class] C10
# 7| 3: [Class] C11
#-----| 3: (Base types)
# 7| 1: [TypeMention] I10
GenericAttribute.cs:
# 3| [GenericAssemblyAttribute] [assembly: MyGeneric<Int32>(...)]
# 3| 0: [TypeMention] MyGenericAttribute<int>
# 3| 1: [TypeMention] int
# 4| [GenericModuleAttribute] [module: MyGeneric2<Object,Object>(...)]
# 4| 0: [TypeMention] MyGeneric2Attribute<object, object>
# 4| 1: [TypeMention] object
# 4| 2: [TypeMention] object
# 6| [Class] MyGenericAttribute`1
#-----| 1: (Type parameters)
# 6| 0: [TypeParameter] T
#-----| 3: (Base types)
# 6| 0: [TypeMention] Attribute
# 7| [Class] MyGeneric2Attribute`2
#-----| 1: (Type parameters)
# 7| 0: [TypeParameter] T
# 7| 1: [TypeParameter] U
#-----| 3: (Base types)
# 7| 0: [TypeMention] Attribute
# 9| [Class] TestGenericAttribute
# 13| 5: [Method] M1
# 13| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 12| 1: [GenericDefaultAttribute] [MyGeneric<Int32>(...)]
# 12| 0: [TypeMention] MyGenericAttribute<int>
# 12| 1: [TypeMention] int
# 13| 4: [BlockStmt] {...}
# 16| 6: [Method] M2
# 16| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 15| 1: [GenericDefaultAttribute] [MyGeneric<String>(...)]
# 15| 0: [TypeMention] MyGenericAttribute<string>
# 15| 1: [TypeMention] string
# 16| 4: [BlockStmt] {...}
# 19| 7: [Method] M3
# 19| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 18| 1: [GenericDefaultAttribute] [MyGeneric2<Int32,String>(...)]
# 18| 0: [TypeMention] MyGeneric2Attribute<int, string>
# 18| 1: [TypeMention] int
# 18| 2: [TypeMention] string
# 19| 4: [BlockStmt] {...}
# 22| 8: [Method] M4
# 22| -1: [TypeMention] int
#-----| 0: (Attributes)
# 21| 1: [GenericReturnAttribute] [return: MyGeneric<Object>(...)]
# 21| 0: [TypeMention] MyGenericAttribute<object>
# 21| 1: [TypeMention] object
# 22| 4: [BlockStmt] {...}
# 22| 0: [ReturnStmt] return ...;
# 22| 0: [IntLiteral] 0
ListPattern.cs:
# 3| [Class] ListPattern
# 5| 5: [Method] M1
# 5| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 5| 0: [Parameter] x
# 5| -1: [TypeMention] Int32[]
# 5| 1: [TypeMention] int
# 6| 4: [BlockStmt] {...}
# 7| 0: [IfStmt] if (...) ...
# 7| 0: [IsExpr] ... is ...
# 7| 0: [ParameterAccess] access to parameter x
# 7| 1: [ListPatternExpr] [ ... ]
# 7| 1: [BlockStmt] {...}
# 8| 1: [IfStmt] if (...) ...
# 8| 0: [IsExpr] ... is ...
# 8| 0: [ParameterAccess] access to parameter x
# 8| 1: [ListPatternExpr] [ ... ]
# 8| 0: [ConstantPatternExpr,IntLiteral] 1
# 8| 1: [BlockStmt] {...}
# 9| 2: [IfStmt] if (...) ...
# 9| 0: [IsExpr] ... is ...
# 9| 0: [ParameterAccess] access to parameter x
# 9| 1: [ListPatternExpr] [ ... ]
# 9| 0: [DiscardPatternExpr] _
# 9| 1: [ConstantPatternExpr,IntLiteral] 2
# 9| 1: [BlockStmt] {...}
# 10| 3: [IfStmt] if (...) ...
# 10| 0: [IsExpr] ... is ...
# 10| 0: [ParameterAccess] access to parameter x
# 10| 1: [ListPatternExpr] [ ... ]
# 10| 0: [VariablePatternExpr] Int32 y
# 10| 1: [ConstantPatternExpr,IntLiteral] 3
# 10| 2: [ConstantPatternExpr,IntLiteral] 4
# 10| 1: [BlockStmt] {...}
# 11| 4: [IfStmt] if (...) ...
# 11| 0: [IsExpr] ... is ...
# 11| 0: [ParameterAccess] access to parameter x
# 11| 1: [ListPatternExpr] [ ... ]
# 11| 0: [OrPatternExpr] ... or ...
# 11| 0: [ConstantPatternExpr,IntLiteral] 5
# 11| 1: [ConstantPatternExpr,IntLiteral] 6
# 11| 1: [DiscardPatternExpr] _
# 11| 2: [ConstantPatternExpr,IntLiteral] 7
# 11| 1: [BlockStmt] {...}
# 12| 5: [IfStmt] if (...) ...
# 12| 0: [IsExpr] ... is ...
# 12| 0: [ParameterAccess] access to parameter x
# 12| 1: [ListPatternExpr] [ ... ]
# 12| 0: [VariablePatternExpr] Int32 a
# 12| 1: [SlicePatternExpr] ..
# 12| 2: [ConstantPatternExpr,IntLiteral] 2
# 12| 1: [BlockStmt] {...}
# 13| 6: [IfStmt] if (...) ...
# 13| 0: [IsExpr] ... is ...
# 13| 0: [ParameterAccess] access to parameter x
# 13| 1: [ListPatternExpr] [ ... ]
# 13| 0: [VariablePatternExpr] Int32 b
# 13| 1: [SlicePatternExpr] ..
# 13| 0: [RecursivePatternExpr] { ... }
# 13| 3: [PropertyPatternExpr] { ... }
# 13| 0: [LabeledPatternExpr,OrPatternExpr] ... or ...
# 13| 0: [ConstantPatternExpr,IntLiteral] 2
# 13| 1: [ConstantPatternExpr,IntLiteral] 5
# 13| 2: [ConstantPatternExpr,IntLiteral] 2
# 13| 1: [BlockStmt] {...}
# 16| 6: [Method] M2
# 16| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 16| 0: [Parameter] x
# 16| -1: [TypeMention] String[]
# 16| 1: [TypeMention] string
# 17| 4: [BlockStmt] {...}
# 18| 0: [SwitchStmt] switch (...) {...}
# 18| 0: [ParameterAccess] access to parameter x
# 20| 0: [CaseStmt] case ...:
# 20| 0: [ListPatternExpr] [ ... ]
# 21| 1: [BreakStmt] break;
# 22| 2: [CaseStmt] case ...:
# 22| 0: [ListPatternExpr] [ ... ]
# 22| 0: [ConstantPatternExpr,StringLiteralUtf16] "A"
# 23| 3: [BreakStmt] break;
# 24| 4: [CaseStmt] case ...:
# 24| 0: [ListPatternExpr] [ ... ]
# 24| 0: [DiscardPatternExpr] _
# 24| 1: [ConstantPatternExpr,StringLiteralUtf16] "B"
# 25| 5: [BreakStmt] break;
# 26| 6: [CaseStmt] case ...:
# 26| 0: [ListPatternExpr] [ ... ]
# 26| 0: [VariablePatternExpr] String y
# 26| 1: [ConstantPatternExpr,StringLiteralUtf16] "C"
# 26| 2: [ConstantPatternExpr,StringLiteralUtf16] "D"
# 27| 7: [BreakStmt] break;
# 28| 8: [CaseStmt] case ...:
# 28| 0: [ListPatternExpr] [ ... ]
# 28| 0: [OrPatternExpr] ... or ...
# 28| 0: [ConstantPatternExpr,StringLiteralUtf16] "E"
# 28| 1: [ConstantPatternExpr,StringLiteralUtf16] "F"
# 28| 1: [DiscardPatternExpr] _
# 28| 2: [ConstantPatternExpr,StringLiteralUtf16] "G"
# 29| 9: [BreakStmt] break;
# 30| 10: [CaseStmt] case ...:
# 30| 0: [ListPatternExpr] [ ... ]
# 30| 0: [VariablePatternExpr] String a
# 30| 1: [SlicePatternExpr] ..
# 30| 2: [ConstantPatternExpr,StringLiteralUtf16] "H"
# 31| 11: [BreakStmt] break;
# 32| 12: [CaseStmt] case ...:
# 32| 0: [ListPatternExpr] [ ... ]
# 32| 0: [VariablePatternExpr] String b
# 32| 1: [SlicePatternExpr] ..
# 32| 0: [VariablePatternExpr] String[] c
# 32| 2: [ConstantPatternExpr,StringLiteralUtf16] "I"
# 33| 13: [BreakStmt] break;
# 34| 14: [DefaultCase] default:
# 35| 15: [BreakStmt] break;
NameofScope.cs:
# 3| [Class] MyAttributeTestClass
# 5| 5: [Class] MyAttribute
#-----| 3: (Base types)
# 5| 0: [TypeMention] Attribute
# 7| 4: [Field] S
# 7| -1: [TypeMention] string
# 8| 5: [InstanceConstructor] MyAttribute
#-----| 2: (Parameters)
# 8| 0: [Parameter] s
# 8| -1: [TypeMention] string
# 8| 4: [AssignExpr] ... = ...
# 8| 0: [FieldAccess] access to field S
# 8| 1: [ParameterAccess] access to parameter s
# 12| 6: [Method] M1`1
# 12| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 11| 1: [DefaultAttribute] [My(...)]
# 11| -1: [TypeMention] MyAttribute
# 11| 0: [NameOfExpr] nameof(...)
# 11| 0: [TypeAccess] access to type T
# 11| 0: [TypeMention] T
#-----| 1: (Type parameters)
# 12| 0: [TypeParameter] T
#-----| 2: (Parameters)
# 12| 0: [Parameter] x
# 12| -1: [TypeMention] string
# 12| 4: [BlockStmt] {...}
# 15| 7: [Method] M2
# 15| -1: [TypeMention] string
#-----| 0: (Attributes)
# 14| 1: [ReturnAttribute] [return: My(...)]
# 14| -1: [TypeMention] MyAttribute
# 14| 0: [NameOfExpr] nameof(...)
# 14| 0: [ParameterAccess] access to parameter y
#-----| 2: (Parameters)
# 15| 0: [Parameter] y
# 15| -1: [TypeMention] string
# 15| 4: [ParameterAccess] access to parameter y
# 17| 8: [Method] M3
# 17| -1: [TypeMention] object
#-----| 2: (Parameters)
# 17| 0: [Parameter] z
# 17| -1: [TypeMention] string
#-----| 0: (Attributes)
# 17| 1: [DefaultAttribute] [My(...)]
# 17| -1: [TypeMention] MyAttribute
# 17| 0: [NameOfExpr] nameof(...)
# 17| 0: [ParameterAccess] access to parameter z
# 17| 4: [ParameterAccess] access to parameter z
# 19| 9: [Method] M4`1
# 19| -1: [TypeMention] object
#-----| 1: (Type parameters)
# 19| 0: [TypeParameter] S
#-----| 2: (Parameters)
# 19| 0: [Parameter] z
# 19| -1: [TypeMention] string
#-----| 0: (Attributes)
# 19| 1: [DefaultAttribute] [My(...)]
# 19| -1: [TypeMention] MyAttribute
# 19| 0: [NameOfExpr] nameof(...)
# 19| 0: [TypeAccess] access to type S
# 19| 0: [TypeMention] S
# 19| 4: [ParameterAccess] access to parameter z
NativeInt.cs:
# 1| [Class] NativeInt
# 3| 5: [Method] M1
# 3| -1: [TypeMention] Void
# 4| 4: [BlockStmt] {...}
# 5| 0: [LocalVariableDeclStmt] ... ...;
# 5| 0: [LocalVariableDeclAndInitExpr] IntPtr x1 = ...
# 5| -1: [TypeMention] IntPtr
# 5| 0: [LocalVariableAccess] access to local variable x1
# 5| 1: [CastExpr] (...) ...
# 5| 1: [IntLiteral] 0
# 6| 1: [LocalVariableDeclStmt] ... ...;
# 6| 0: [LocalVariableDeclAndInitExpr] IntPtr x2 = ...
# 6| -1: [TypeMention] IntPtr
# 6| 0: [LocalVariableAccess] access to local variable x2
# 6| 1: [CastExpr] (...) ...
# 6| 0: [TypeAccess] access to type IntPtr
# 6| 0: [TypeMention] IntPtr
# 6| 1: [IntLiteral] 0
# 8| 2: [LocalVariableDeclStmt] ... ...;
# 8| 0: [LocalVariableDeclAndInitExpr] UIntPtr y1 = ...
# 8| -1: [TypeMention] UIntPtr
# 8| 0: [LocalVariableAccess] access to local variable y1
# 8| 1: [CastExpr] (...) ...
# 8| 1: [IntLiteral] 0
# 9| 3: [LocalVariableDeclStmt] ... ...;
# 9| 0: [LocalVariableDeclAndInitExpr] UIntPtr y2 = ...
# 9| -1: [TypeMention] UIntPtr
# 9| 0: [LocalVariableAccess] access to local variable y2
# 9| 1: [CastExpr] (...) ...
# 9| 0: [TypeAccess] access to type UIntPtr
# 9| 0: [TypeMention] UIntPtr
# 9| 1: [IntLiteral] 0
Operators.cs:
# 2| [Class] MyClass
# 4| 5: [Method] M1
# 4| -1: [TypeMention] Void
# 5| 4: [BlockStmt] {...}
# 6| 0: [LocalVariableDeclStmt] ... ...;
# 6| 0: [LocalVariableDeclAndInitExpr] Int32 x1 = ...
# 6| -1: [TypeMention] int
# 6| 0: [LocalVariableAccess] access to local variable x1
# 6| 1: [IntLiteral] 1
# 7| 1: [LocalVariableDeclStmt] ... ...;
# 7| 0: [LocalVariableDeclAndInitExpr] Int32 x2 = ...
# 7| -1: [TypeMention] int
# 7| 0: [LocalVariableAccess] access to local variable x2
# 7| 1: [UnsignedRightShiftExpr] ... >>> ...
# 7| 0: [LocalVariableAccess] access to local variable x1
# 7| 1: [IntLiteral] 2
# 9| 2: [LocalVariableDeclStmt] ... ...;
# 9| 0: [LocalVariableDeclAndInitExpr] Int32 y1 = ...
# 9| -1: [TypeMention] int
# 9| 0: [LocalVariableAccess] access to local variable y1
# 9| 1: [UnaryMinusExpr] -...
# 9| 0: [IntLiteral] 2
# 10| 3: [LocalVariableDeclStmt] ... ...;
# 10| 0: [LocalVariableDeclAndInitExpr] Int32 y2 = ...
# 10| -1: [TypeMention] int
# 10| 0: [LocalVariableAccess] access to local variable y2
# 10| 1: [UnsignedRightShiftExpr] ... >>> ...
# 10| 0: [LocalVariableAccess] access to local variable y1
# 10| 1: [IntLiteral] 3
# 12| 4: [LocalVariableDeclStmt] ... ...;
# 12| 0: [LocalVariableDeclAndInitExpr] Int32 z = ...
# 12| -1: [TypeMention] int
# 12| 0: [LocalVariableAccess] access to local variable z
# 12| 1: [UnaryMinusExpr] -...
# 12| 0: [IntLiteral] 4
# 13| 5: [ExprStmt] ...;
# 13| 0: [AssignUnsighedRightShiftExpr] ... >>>= ...
# 13| 0: [LocalVariableAccess] access to local variable z
# 13| 1: [IntLiteral] 5
# 17| [Class] MyOperatorClass
# 19| 5: [UnsignedRightShiftOperator] >>>
# 19| -1: [TypeMention] MyOperatorClass
#-----| 2: (Parameters)
# 19| 0: [Parameter] a
# 19| -1: [TypeMention] MyOperatorClass
# 19| 1: [Parameter] b
# 19| -1: [TypeMention] MyOperatorClass
# 19| 4: [BlockStmt] {...}
# 19| 0: [ReturnStmt] return ...;
# 19| 0: [NullLiteral] null
PatternMatchSpan.cs:
# 3| [Class] PatternMatchSpan
# 6| 5: [Method] M1
# 6| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 6| 0: [Parameter] x1
# 6| -1: [TypeMention] ReadOnlySpan<char>
# 6| 1: [TypeMention] char
# 7| 4: [BlockStmt] {...}
# 8| 0: [IfStmt] if (...) ...
# 8| 0: [IsExpr] ... is ...
# 8| 0: [ParameterAccess] access to parameter x1
# 8| 1: [ConstantPatternExpr,StringLiteralUtf16] "ABC"
# 8| 1: [BlockStmt] {...}
# 11| 6: [Method] M2
# 11| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 11| 0: [Parameter] x2
# 11| -1: [TypeMention] Span<char>
# 11| 1: [TypeMention] char
# 12| 4: [BlockStmt] {...}
# 13| 0: [SwitchStmt] switch (...) {...}
# 13| 0: [ParameterAccess] access to parameter x2
# 15| 0: [ConstCase] case ...:
# 15| 0: [ConstantPatternExpr,StringLiteralUtf16] "DEF"
# 15| 1: [BlockStmt] {...}
# 15| 0: [BreakStmt] break;
# 16| 2: [DefaultCase] default:
# 16| 3: [BlockStmt] {...}
# 16| 0: [BreakStmt] break;
RelaxedShift.cs:
# 1| [Interface] IShiftOperators`3
#-----| 1: (Type parameters)
# 1| 0: [TypeParameter] TSelf
# 1| 1: [TypeParameter] TOther
# 1| 2: [TypeParameter] TReturn
# 3| 4: [LeftShiftOperator] <<
# 3| -1: [TypeMention] TReturn
#-----| 2: (Parameters)
# 3| 0: [Parameter] value
# 3| -1: [TypeMention] TSelf
# 3| 1: [Parameter] shiftAmount
# 3| -1: [TypeMention] TOther
# 5| 5: [RightShiftOperator] >>
# 5| -1: [TypeMention] TReturn
#-----| 2: (Parameters)
# 5| 0: [Parameter] value
# 5| -1: [TypeMention] TSelf
# 5| 1: [Parameter] shiftAmount
# 5| -1: [TypeMention] TOther
# 7| 6: [UnsignedRightShiftOperator] >>>
# 7| -1: [TypeMention] TReturn
#-----| 2: (Parameters)
# 7| 0: [Parameter] value
# 7| -1: [TypeMention] TSelf
# 7| 1: [Parameter] shiftAmount
# 7| -1: [TypeMention] TOther
# 10| [Class] Number
#-----| 3: (Base types)
# 12| 5: [LeftShiftOperator] <<
# 12| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 12| 0: [Parameter] value
# 12| -1: [TypeMention] Number
# 12| 1: [Parameter] shiftAmount
# 12| -1: [TypeMention] string
# 12| 4: [ParameterAccess] access to parameter value
# 14| 6: [RightShiftOperator] >>
# 14| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 14| 0: [Parameter] value
# 14| -1: [TypeMention] Number
# 14| 1: [Parameter] shiftAmount
# 14| -1: [TypeMention] string
# 14| 4: [ParameterAccess] access to parameter value
# 16| 7: [UnsignedRightShiftOperator] >>>
# 16| -1: [TypeMention] Number
#-----| 2: (Parameters)
# 16| 0: [Parameter] value
# 16| -1: [TypeMention] Number
# 16| 1: [Parameter] shiftAmount
# 16| -1: [TypeMention] string
# 16| 4: [ParameterAccess] access to parameter value
# 19| [Class] TestRelaxedShift
# 21| 5: [Method] M1
# 21| -1: [TypeMention] Void
# 22| 4: [BlockStmt] {...}
# 23| 0: [LocalVariableDeclStmt] ... ...;
# 23| 0: [LocalVariableDeclAndInitExpr] Number n11 = ...
# 23| -1: [TypeMention] Number
# 23| 0: [LocalVariableAccess] access to local variable n11
# 23| 1: [ObjectCreation] object creation of type Number
# 23| 0: [TypeMention] Number
# 24| 1: [LocalVariableDeclStmt] ... ...;
# 24| 0: [LocalVariableDeclAndInitExpr] Number n12 = ...
# 24| -1: [TypeMention] Number
# 24| 0: [LocalVariableAccess] access to local variable n12
# 24| 1: [OperatorCall] call to operator <<
# 24| 0: [LocalVariableAccess] access to local variable n11
# 24| 1: [StringLiteralUtf16] "1"
# 26| 2: [LocalVariableDeclStmt] ... ...;
# 26| 0: [LocalVariableDeclAndInitExpr] Number n21 = ...
# 26| -1: [TypeMention] Number
# 26| 0: [LocalVariableAccess] access to local variable n21
# 26| 1: [ObjectCreation] object creation of type Number
# 26| 0: [TypeMention] Number
# 27| 3: [LocalVariableDeclStmt] ... ...;
# 27| 0: [LocalVariableDeclAndInitExpr] Number n22 = ...
# 27| -1: [TypeMention] Number
# 27| 0: [LocalVariableAccess] access to local variable n22
# 27| 1: [OperatorCall] call to operator >>
# 27| 0: [LocalVariableAccess] access to local variable n21
# 27| 1: [StringLiteralUtf16] "2"
# 29| 4: [LocalVariableDeclStmt] ... ...;
# 29| 0: [LocalVariableDeclAndInitExpr] Number n31 = ...
# 29| -1: [TypeMention] Number
# 29| 0: [LocalVariableAccess] access to local variable n31
# 29| 1: [ObjectCreation] object creation of type Number
# 29| 0: [TypeMention] Number
# 30| 5: [LocalVariableDeclStmt] ... ...;
# 30| 0: [LocalVariableDeclAndInitExpr] Number n32 = ...
# 30| -1: [TypeMention] Number
# 30| 0: [LocalVariableAccess] access to local variable n32
# 30| 1: [OperatorCall] call to operator >>>
# 30| 0: [LocalVariableAccess] access to local variable n31
# 30| 1: [StringLiteralUtf16] "3"
RequiredMembers.cs:
# 4| [Class] ClassRequiredMembers
# 6| 4: [Field] RequiredField
# 6| -1: [TypeMention] object
# 7| 5: [Property] RequiredProperty
# 7| -1: [TypeMention] string
# 7| 3: [Getter] get_RequiredProperty
# 7| 4: [Setter] set_RequiredProperty
#-----| 2: (Parameters)
# 7| 0: [Parameter] value
# 8| 6: [Property] VirtualProperty
# 8| -1: [TypeMention] object
# 8| 3: [Getter] get_VirtualProperty
# 8| 4: [Setter] set_VirtualProperty
#-----| 2: (Parameters)
# 8| 0: [Parameter] value
# 10| 7: [InstanceConstructor] ClassRequiredMembers
# 10| 4: [BlockStmt] {...}
# 13| 8: [InstanceConstructor] ClassRequiredMembers
#-----| 0: (Attributes)
# 12| 1: [DefaultAttribute] [SetsRequiredMembers(...)]
# 12| 0: [TypeMention] SetsRequiredMembersAttribute
#-----| 2: (Parameters)
# 13| 0: [Parameter] requiredField
# 13| -1: [TypeMention] object
# 13| 1: [Parameter] requiredProperty
# 13| -1: [TypeMention] string
# 14| 4: [BlockStmt] {...}
# 15| 0: [ExprStmt] ...;
# 15| 0: [AssignExpr] ... = ...
# 15| 0: [FieldAccess] access to field RequiredField
# 15| 1: [ParameterAccess] access to parameter requiredField
# 16| 1: [ExprStmt] ...;
# 16| 0: [AssignExpr] ... = ...
# 16| 0: [PropertyCall] access to property RequiredProperty
# 16| 1: [ParameterAccess] access to parameter requiredProperty
# 20| [Class] ClassRequiredMembersSub
#-----| 3: (Base types)
# 20| 0: [TypeMention] ClassRequiredMembers
# 22| 4: [Property] VirtualProperty
# 22| -1: [TypeMention] object
# 22| 3: [Getter] get_VirtualProperty
# 22| 4: [Setter] set_VirtualProperty
#-----| 2: (Parameters)
# 22| 0: [Parameter] value
# 24| 5: [InstanceConstructor] ClassRequiredMembersSub
# 24| 3: [ConstructorInitializer] call to constructor ClassRequiredMembers
# 24| 4: [BlockStmt] {...}
# 27| 6: [InstanceConstructor] ClassRequiredMembersSub
#-----| 0: (Attributes)
# 26| 1: [DefaultAttribute] [SetsRequiredMembers(...)]
# 26| 0: [TypeMention] SetsRequiredMembersAttribute
#-----| 2: (Parameters)
# 27| 0: [Parameter] requiredField
# 27| -1: [TypeMention] object
# 27| 1: [Parameter] requiredProperty
# 27| -1: [TypeMention] string
# 27| 2: [Parameter] virtualProperty
# 27| -1: [TypeMention] object
# 27| 3: [ConstructorInitializer] call to constructor ClassRequiredMembers
# 27| 0: [ParameterAccess] access to parameter requiredField
# 27| 1: [ParameterAccess] access to parameter requiredProperty
# 28| 4: [BlockStmt] {...}
# 29| 0: [ExprStmt] ...;
# 29| 0: [AssignExpr] ... = ...
# 29| 0: [PropertyCall] access to property VirtualProperty
# 29| 1: [ParameterAccess] access to parameter virtualProperty
# 33| [RecordClass] RecordRequiredMembers
# 33| 12: [NEOperator] !=
#-----| 2: (Parameters)
# 33| 0: [Parameter] left
# 33| 1: [Parameter] right
# 33| 13: [EQOperator] ==
#-----| 2: (Parameters)
# 33| 0: [Parameter] left
# 33| 1: [Parameter] right
# 33| 14: [Property] EqualityContract
# 33| 3: [Getter] get_EqualityContract
# 35| 15: [Property] X
# 35| -1: [TypeMention] object
# 35| 3: [Getter] get_X
# 35| 4: [Setter] set_X
#-----| 2: (Parameters)
# 35| 0: [Parameter] value
# 38| [Struct] StructRequiredMembers
# 40| 5: [Property] Y
# 40| -1: [TypeMention] string
# 40| 3: [Getter] get_Y
# 40| 4: [Setter] set_Y
#-----| 2: (Parameters)
# 40| 0: [Parameter] value
Scoped.cs:
# 1| [Struct] S1
# 2| [RefStruct] S2
# 7| [Class] ScopedModifierTest
# 9| 5: [Method] M1
# 9| -1: [TypeMention] int
#-----| 2: (Parameters)
# 9| 0: [Parameter] x1
# 9| -1: [TypeMention] int
# 9| 1: [Parameter] y1
# 9| -1: [TypeMention] int
# 10| 4: [BlockStmt] {...}
# 13| 0: [ReturnStmt] return ...;
# 13| 0: [RefExpr] ref ...
# 13| 0: [ParameterAccess] access to parameter y1
# 16| 6: [Method] M2
# 16| -1: [TypeMention] int
#-----| 2: (Parameters)
# 16| 0: [Parameter] x2
# 16| -1: [TypeMention] int
# 16| 1: [Parameter] y2
# 16| -1: [TypeMention] int
# 17| 4: [BlockStmt] {...}
# 18| 0: [ExprStmt] ...;
# 18| 0: [AssignExpr] ... = ...
# 18| 0: [ParameterAccess] access to parameter x2
# 18| 1: [IntLiteral] 0
# 21| 1: [ReturnStmt] return ...;
# 21| 0: [RefExpr] ref ...
# 21| 0: [ParameterAccess] access to parameter y2
# 24| 7: [Method] M3
# 24| -1: [TypeMention] int
#-----| 2: (Parameters)
# 24| 0: [Parameter] x3
# 24| -1: [TypeMention] int
# 25| 4: [BlockStmt] {...}
# 27| 0: [ReturnStmt] return ...;
# 27| 0: [ParameterAccess] access to parameter x3
# 30| 8: [Method] M4
# 30| -1: [TypeMention] S1
#-----| 2: (Parameters)
# 30| 0: [Parameter] x4
# 30| -1: [TypeMention] S1
# 31| 4: [BlockStmt] {...}
# 33| 0: [ReturnStmt] return ...;
# 33| 0: [ParameterAccess] access to parameter x4
# 36| 9: [Method] M5
# 36| -1: [TypeMention] S2
#-----| 2: (Parameters)
# 36| 0: [Parameter] x5
# 36| -1: [TypeMention] S2
# 37| 4: [BlockStmt] {...}
# 40| 0: [ReturnStmt] return ...;
# 40| 0: [ObjectCreation] object creation of type S2
# 40| 0: [TypeMention] S2
# 43| 10: [Method] M6
# 43| -1: [TypeMention] S2
#-----| 2: (Parameters)
# 43| 0: [Parameter] x6
# 43| -1: [TypeMention] S2
# 44| 4: [BlockStmt] {...}
# 47| 0: [ReturnStmt] return ...;
# 47| 0: [ObjectCreation] object creation of type S2
# 47| 0: [TypeMention] S2
# 50| 11: [Method] Locals
# 50| -1: [TypeMention] S2
# 51| 4: [BlockStmt] {...}
# 52| 0: [LocalVariableDeclStmt] ... ...;
# 52| 0: [LocalVariableDeclAndInitExpr] S2 x7 = ...
# 52| -1: [TypeMention] null
# 52| 0: [LocalVariableAccess] access to local variable x7
# 52| 1: [ObjectCreation] object creation of type S2
# 52| 0: [TypeMention] S2
# 55| 1: [LocalVariableDeclStmt] ... ...;
# 55| 0: [LocalVariableDeclAndInitExpr] S2 y7 = ...
# 55| -1: [TypeMention] S2
# 55| 0: [LocalVariableAccess] access to local variable y7
# 55| 1: [ObjectCreation] object creation of type S2
# 55| 0: [TypeMention] S2
# 56| 2: [ReturnStmt] return ...;
# 56| 0: [LocalVariableAccess] access to local variable y7
SignAnalysis.cs:
# 1| [Class] MySignAnalysis
# 4| 5: [Method] UnsignedRightShiftSign
# 4| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 4| 0: [Parameter] x
# 4| -1: [TypeMention] int
# 4| 1: [Parameter] y
# 4| -1: [TypeMention] int
# 5| 4: [BlockStmt] {...}
# 6| 0: [LocalVariableDeclStmt] ... ...;
# 6| 0: [LocalVariableDeclExpr] Int32 z
# 6| 0: [TypeMention] int
# 7| 1: [IfStmt] if (...) ...
# 7| 0: [EQExpr] ... == ...
# 7| 0: [ParameterAccess] access to parameter x
# 7| 1: [IntLiteral] 0
# 8| 1: [BlockStmt] {...}
# 9| 0: [ExprStmt] ...;
# 9| 0: [AssignExpr] ... = ...
# 9| 0: [LocalVariableAccess] access to local variable z
# 9| 1: [UnsignedRightShiftExpr] ... >>> ...
# 9| 0: [ParameterAccess] access to parameter x
# 9| 1: [ParameterAccess] access to parameter y
# 12| 2: [IfStmt] if (...) ...
# 12| 0: [EQExpr] ... == ...
# 12| 0: [ParameterAccess] access to parameter y
# 12| 1: [IntLiteral] 0
# 13| 1: [BlockStmt] {...}
# 14| 0: [ExprStmt] ...;
# 14| 0: [AssignExpr] ... = ...
# 14| 0: [LocalVariableAccess] access to local variable z
# 14| 1: [UnsignedRightShiftExpr] ... >>> ...
# 14| 0: [ParameterAccess] access to parameter x
# 14| 1: [ParameterAccess] access to parameter y
# 17| 3: [IfStmt] if (...) ...
# 17| 0: [LogicalAndExpr] ... && ...
# 17| 0: [GTExpr] ... > ...
# 17| 0: [ParameterAccess] access to parameter x
# 17| 1: [IntLiteral] 0
# 17| 1: [EQExpr] ... == ...
# 17| 0: [ParameterAccess] access to parameter y
# 17| 1: [IntLiteral] 0
# 18| 1: [BlockStmt] {...}
# 19| 0: [ExprStmt] ...;
# 19| 0: [AssignExpr] ... = ...
# 19| 0: [LocalVariableAccess] access to local variable z
# 19| 1: [UnsignedRightShiftExpr] ... >>> ...
# 19| 0: [ParameterAccess] access to parameter x
# 19| 1: [ParameterAccess] access to parameter y
# 22| 4: [IfStmt] if (...) ...
# 22| 0: [LogicalAndExpr] ... && ...
# 22| 0: [GTExpr] ... > ...
# 22| 0: [ParameterAccess] access to parameter x
# 22| 1: [IntLiteral] 0
# 22| 1: [GTExpr] ... > ...
# 22| 0: [ParameterAccess] access to parameter y
# 22| 1: [IntLiteral] 0
# 23| 1: [BlockStmt] {...}
# 24| 0: [ExprStmt] ...;
# 24| 0: [AssignExpr] ... = ...
# 24| 0: [LocalVariableAccess] access to local variable z
# 24| 1: [UnsignedRightShiftExpr] ... >>> ...
# 24| 0: [ParameterAccess] access to parameter x
# 24| 1: [ParameterAccess] access to parameter y
# 27| 5: [IfStmt] if (...) ...
# 27| 0: [LogicalAndExpr] ... && ...
# 27| 0: [GTExpr] ... > ...
# 27| 0: [ParameterAccess] access to parameter x
# 27| 1: [IntLiteral] 0
# 27| 1: [LTExpr] ... < ...
# 27| 0: [ParameterAccess] access to parameter y
# 27| 1: [IntLiteral] 0
# 28| 1: [BlockStmt] {...}
# 29| 0: [ExprStmt] ...;
# 29| 0: [AssignExpr] ... = ...
# 29| 0: [LocalVariableAccess] access to local variable z
# 29| 1: [UnsignedRightShiftExpr] ... >>> ...
# 29| 0: [ParameterAccess] access to parameter x
# 29| 1: [ParameterAccess] access to parameter y
# 32| 6: [IfStmt] if (...) ...
# 32| 0: [LogicalAndExpr] ... && ...
# 32| 0: [LTExpr] ... < ...
# 32| 0: [ParameterAccess] access to parameter x
# 32| 1: [IntLiteral] 0
# 32| 1: [GTExpr] ... > ...
# 32| 0: [ParameterAccess] access to parameter y
# 32| 1: [IntLiteral] 0
# 33| 1: [BlockStmt] {...}
# 34| 0: [ExprStmt] ...;
# 34| 0: [AssignExpr] ... = ...
# 34| 0: [LocalVariableAccess] access to local variable z
# 34| 1: [UnsignedRightShiftExpr] ... >>> ...
# 34| 0: [ParameterAccess] access to parameter x
# 34| 1: [ParameterAccess] access to parameter y
# 37| 7: [IfStmt] if (...) ...
# 37| 0: [LogicalAndExpr] ... && ...
# 37| 0: [LTExpr] ... < ...
# 37| 0: [ParameterAccess] access to parameter x
# 37| 1: [IntLiteral] 0
# 37| 1: [LTExpr] ... < ...
# 37| 0: [ParameterAccess] access to parameter y
# 37| 1: [IntLiteral] 0
# 38| 1: [BlockStmt] {...}
# 39| 0: [ExprStmt] ...;
# 39| 0: [AssignExpr] ... = ...
# 39| 0: [LocalVariableAccess] access to local variable z
# 39| 1: [UnsignedRightShiftExpr] ... >>> ...
# 39| 0: [ParameterAccess] access to parameter x
# 39| 1: [ParameterAccess] access to parameter y
StaticInterfaceMembers.cs:
# 1| [Interface] INumber`1
#-----| 1: (Type parameters)
# 1| 0: [TypeParameter] T
# 3| 4: [IncrementOperator] ++
# 3| -1: [TypeMention] T
#-----| 2: (Parameters)
# 3| 0: [Parameter] other
# 3| -1: [TypeMention] T
# 5| 5: [DecrementOperator] --
# 5| -1: [TypeMention] T
#-----| 2: (Parameters)
# 5| 0: [Parameter] other
# 5| -1: [TypeMention] T
# 5| 4: [ParameterAccess] access to parameter other
# 7| 6: [AddOperator] +
# 7| -1: [TypeMention] T
#-----| 2: (Parameters)
# 7| 0: [Parameter] left
# 7| -1: [TypeMention] T
# 7| 1: [Parameter] right
# 7| -1: [TypeMention] T
# 9| 7: [SubOperator] -
# 9| -1: [TypeMention] T
#-----| 2: (Parameters)
# 9| 0: [Parameter] left
# 9| -1: [TypeMention] T
# 9| 1: [Parameter] right
# 9| -1: [TypeMention] T
# 9| 4: [ParameterAccess] access to parameter left
# 11| 8: [ExplicitConversionOperator] explicit conversion
# 11| -1: [TypeMention] int
#-----| 2: (Parameters)
# 11| 0: [Parameter] n
# 11| -1: [TypeMention] T
# 13| 9: [ExplicitConversionOperator] explicit conversion
# 13| -1: [TypeMention] short
#-----| 2: (Parameters)
# 13| 0: [Parameter] n
# 13| -1: [TypeMention] T
# 15| 10: [Method] Inc
# 15| -1: [TypeMention] T
#-----| 2: (Parameters)
# 15| 0: [Parameter] other
# 15| -1: [TypeMention] T
# 17| 11: [Method] Dec
# 17| -1: [TypeMention] T
#-----| 2: (Parameters)
# 17| 0: [Parameter] other
# 17| -1: [TypeMention] T
# 17| 4: [ParameterAccess] access to parameter other
# 19| 12: [Method] Add
# 19| -1: [TypeMention] T
#-----| 2: (Parameters)
# 19| 0: [Parameter] left
# 19| -1: [TypeMention] T
# 19| 1: [Parameter] right
# 19| -1: [TypeMention] T
# 21| 13: [Method] Subtract
# 21| -1: [TypeMention] T
#-----| 2: (Parameters)
# 21| 0: [Parameter] left
# 21| -1: [TypeMention] T
# 21| 1: [Parameter] right
# 21| -1: [TypeMention] T
# 21| 4: [ParameterAccess] access to parameter left
# 23| 14: [Method] Zero
# 23| -1: [TypeMention] T
# 23| 4: [DefaultValueExpr] default(...)
# 23| 0: [TypeAccess] access to type T
# 23| 0: [TypeMention] T
# 26| [Class] Complex
#-----| 3: (Base types)
# 28| 4: [Property] Real
# 28| -1: [TypeMention] double
# 28| 2: [DoubleLiteral] 0
# 28| 3: [Getter] get_Real
# 28| 4: [Setter] set_Real
#-----| 2: (Parameters)
# 28| 0: [Parameter] value
# 29| 5: [Property] Imaginary
# 29| -1: [TypeMention] double
# 29| 2: [DoubleLiteral] 0
# 29| 3: [Getter] get_Imaginary
# 29| 4: [Setter] set_Imaginary
#-----| 2: (Parameters)
# 29| 0: [Parameter] value
# 31| 6: [InstanceConstructor] Complex
# 31| 4: [BlockStmt] {...}
# 33| 7: [Method] Zero
# 33| -1: [TypeMention] Complex
# 33| 4: [ObjectCreation] object creation of type Complex
# 33| 0: [TypeMention] Complex
# 35| 8: [IncrementOperator] ++
# 35| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 35| 0: [Parameter] other
# 35| -1: [TypeMention] Complex
# 36| 4: [ObjectCreation] object creation of type Complex
# 36| -2: [TypeMention] Complex
# 36| -1: [ObjectInitializer] { ..., ... }
# 36| 0: [MemberInitializer] ... = ...
# 36| 0: [PropertyCall] access to property Real
# 36| 1: [AddExpr] ... + ...
# 36| 0: [PropertyCall] access to property Real
# 36| -1: [ParameterAccess] access to parameter other
# 36| 1: [DoubleLiteral] 1
# 36| 1: [MemberInitializer] ... = ...
# 36| 0: [PropertyCall] access to property Imaginary
# 36| 1: [PropertyCall] access to property Imaginary
# 36| -1: [ParameterAccess] access to parameter other
# 38| 9: [DecrementOperator] --
# 38| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 38| 0: [Parameter] other
# 38| -1: [TypeMention] Complex
# 39| 4: [ObjectCreation] object creation of type Complex
# 39| -2: [TypeMention] Complex
# 39| -1: [ObjectInitializer] { ..., ... }
# 39| 0: [MemberInitializer] ... = ...
# 39| 0: [PropertyCall] access to property Real
# 39| 1: [SubExpr] ... - ...
# 39| 0: [PropertyCall] access to property Real
# 39| -1: [ParameterAccess] access to parameter other
# 39| 1: [DoubleLiteral] 1
# 39| 1: [MemberInitializer] ... = ...
# 39| 0: [PropertyCall] access to property Imaginary
# 39| 1: [PropertyCall] access to property Imaginary
# 39| -1: [ParameterAccess] access to parameter other
# 41| 10: [AddOperator] +
# 41| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 41| 0: [Parameter] left
# 41| -1: [TypeMention] Complex
# 41| 1: [Parameter] right
# 41| -1: [TypeMention] Complex
# 42| 4: [ObjectCreation] object creation of type Complex
# 42| -2: [TypeMention] Complex
# 42| -1: [ObjectInitializer] { ..., ... }
# 42| 0: [MemberInitializer] ... = ...
# 42| 0: [PropertyCall] access to property Real
# 42| 1: [AddExpr] ... + ...
# 42| 0: [PropertyCall] access to property Real
# 42| -1: [ParameterAccess] access to parameter left
# 42| 1: [PropertyCall] access to property Real
# 42| -1: [ParameterAccess] access to parameter right
# 42| 1: [MemberInitializer] ... = ...
# 42| 0: [PropertyCall] access to property Imaginary
# 42| 1: [AddExpr] ... + ...
# 42| 0: [PropertyCall] access to property Imaginary
# 42| -1: [ParameterAccess] access to parameter left
# 42| 1: [PropertyCall] access to property Imaginary
# 42| -1: [ParameterAccess] access to parameter right
# 44| 11: [SubOperator] -
# 44| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 44| 0: [Parameter] left
# 44| -1: [TypeMention] Complex
# 44| 1: [Parameter] right
# 44| -1: [TypeMention] Complex
# 45| 4: [ObjectCreation] object creation of type Complex
# 45| -2: [TypeMention] Complex
# 45| -1: [ObjectInitializer] { ..., ... }
# 45| 0: [MemberInitializer] ... = ...
# 45| 0: [PropertyCall] access to property Real
# 45| 1: [SubExpr] ... - ...
# 45| 0: [PropertyCall] access to property Real
# 45| -1: [ParameterAccess] access to parameter left
# 45| 1: [PropertyCall] access to property Real
# 45| -1: [ParameterAccess] access to parameter right
# 45| 1: [MemberInitializer] ... = ...
# 45| 0: [PropertyCall] access to property Imaginary
# 45| 1: [SubExpr] ... - ...
# 45| 0: [PropertyCall] access to property Imaginary
# 45| -1: [ParameterAccess] access to parameter left
# 45| 1: [PropertyCall] access to property Imaginary
# 45| -1: [ParameterAccess] access to parameter right
# 47| 12: [ExplicitConversionOperator] explicit conversion
# 47| -1: [TypeMention] int
#-----| 2: (Parameters)
# 47| 0: [Parameter] n
# 47| -1: [TypeMention] Complex
# 47| 4: [CastExpr] (...) ...
# 47| 0: [TypeAccess] access to type Int32
# 47| 0: [TypeMention] int
# 47| 1: [PropertyCall] access to property Real
# 47| -1: [ParameterAccess] access to parameter n
# 49| 13: [ExplicitConversionOperator] explicit conversion
# 49| -1: [TypeMention] short
#-----| 2: (Parameters)
# 49| 0: [Parameter] n
# 49| -1: [TypeMention] Complex
# 49| 4: [CastExpr] (...) ...
# 49| 0: [TypeAccess] access to type Int16
# 49| 0: [TypeMention] short
# 49| 1: [PropertyCall] access to property Real
# 49| -1: [ParameterAccess] access to parameter n
# 51| 14: [Method] Inc
# 51| -1: [TypeMention] INumber<Complex>
# 51| 1: [TypeMention] Complex
# 51| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 51| 0: [Parameter] other
# 51| -1: [TypeMention] Complex
# 52| 4: [ObjectCreation] object creation of type Complex
# 52| -2: [TypeMention] Complex
# 52| -1: [ObjectInitializer] { ..., ... }
# 52| 0: [MemberInitializer] ... = ...
# 52| 0: [PropertyCall] access to property Real
# 52| 1: [AddExpr] ... + ...
# 52| 0: [PropertyCall] access to property Real
# 52| -1: [ParameterAccess] access to parameter other
# 52| 1: [DoubleLiteral] 1
# 52| 1: [MemberInitializer] ... = ...
# 52| 0: [PropertyCall] access to property Imaginary
# 52| 1: [PropertyCall] access to property Imaginary
# 52| -1: [ParameterAccess] access to parameter other
# 54| 15: [Method] Dec
# 54| -1: [TypeMention] INumber<Complex>
# 54| 1: [TypeMention] Complex
# 54| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 54| 0: [Parameter] other
# 54| -1: [TypeMention] Complex
# 55| 4: [ObjectCreation] object creation of type Complex
# 55| -2: [TypeMention] Complex
# 55| -1: [ObjectInitializer] { ..., ... }
# 55| 0: [MemberInitializer] ... = ...
# 55| 0: [PropertyCall] access to property Real
# 55| 1: [SubExpr] ... - ...
# 55| 0: [PropertyCall] access to property Real
# 55| -1: [ParameterAccess] access to parameter other
# 55| 1: [DoubleLiteral] 1
# 55| 1: [MemberInitializer] ... = ...
# 55| 0: [PropertyCall] access to property Imaginary
# 55| 1: [PropertyCall] access to property Imaginary
# 55| -1: [ParameterAccess] access to parameter other
# 57| 16: [Method] Add
# 57| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 57| 0: [Parameter] left
# 57| -1: [TypeMention] Complex
# 57| 1: [Parameter] right
# 57| -1: [TypeMention] Complex
# 58| 4: [ObjectCreation] object creation of type Complex
# 58| -2: [TypeMention] Complex
# 58| -1: [ObjectInitializer] { ..., ... }
# 58| 0: [MemberInitializer] ... = ...
# 58| 0: [PropertyCall] access to property Real
# 58| 1: [AddExpr] ... + ...
# 58| 0: [PropertyCall] access to property Real
# 58| -1: [ParameterAccess] access to parameter left
# 58| 1: [PropertyCall] access to property Real
# 58| -1: [ParameterAccess] access to parameter right
# 58| 1: [MemberInitializer] ... = ...
# 58| 0: [PropertyCall] access to property Imaginary
# 58| 1: [AddExpr] ... + ...
# 58| 0: [PropertyCall] access to property Imaginary
# 58| -1: [ParameterAccess] access to parameter left
# 58| 1: [PropertyCall] access to property Imaginary
# 58| -1: [ParameterAccess] access to parameter right
# 60| 17: [Method] Subtract
# 60| -1: [TypeMention] Complex
#-----| 2: (Parameters)
# 60| 0: [Parameter] left
# 60| -1: [TypeMention] Complex
# 60| 1: [Parameter] right
# 60| -1: [TypeMention] Complex
# 61| 4: [ObjectCreation] object creation of type Complex
# 61| -2: [TypeMention] Complex
# 61| -1: [ObjectInitializer] { ..., ... }
# 61| 0: [MemberInitializer] ... = ...
# 61| 0: [PropertyCall] access to property Real
# 61| 1: [SubExpr] ... - ...
# 61| 0: [PropertyCall] access to property Real
# 61| -1: [ParameterAccess] access to parameter left
# 61| 1: [PropertyCall] access to property Real
# 61| -1: [ParameterAccess] access to parameter right
# 61| 1: [MemberInitializer] ... = ...
# 61| 0: [PropertyCall] access to property Imaginary
# 61| 1: [SubExpr] ... - ...
# 61| 0: [PropertyCall] access to property Imaginary
# 61| -1: [ParameterAccess] access to parameter left
# 61| 1: [PropertyCall] access to property Imaginary
# 61| -1: [ParameterAccess] access to parameter right
Strings.cs:
# 3| [Class] MyTestClass
# 5| 5: [Method] M1
# 5| -1: [TypeMention] string
#-----| 2: (Parameters)
# 5| 0: [Parameter] x
# 5| -1: [TypeMention] int
# 6| 4: [BlockStmt] {...}
# 8| 0: [ReturnStmt] return ...;
# 8| 0: [InterpolatedStringExpr] $"..."
# 8| 0: [StringLiteralUtf16] "This is my int "
# 8| 1: [InterpolatedStringInsertExpr] {...}
# 8| 0: [SwitchExpr] ... switch { ... }
# 8| -1: [ParameterAccess] access to parameter x
# 10| 0: [SwitchCaseExpr] ... => ...
# 10| 0: [ConstantPatternExpr,IntLiteral] 42
# 10| 2: [StringLiteralUtf16] "forty two"
# 11| 1: [SwitchCaseExpr] ... => ...
# 11| 0: [DiscardPatternExpr] _
# 11| 2: [StringLiteralUtf16] "something else"
# 12| 2: [StringLiteralUtf16] "."
# 15| 6: [Method] M2
# 15| -1: [TypeMention] Void
# 16| 4: [BlockStmt] {...}
# 18| 0: [LocalVariableDeclStmt] ... ...;
# 18| 0: [LocalVariableDeclAndInitExpr] String message1 = ...
# 18| -1: [TypeMention] string
# 18| 0: [LocalVariableAccess] access to local variable message1
# 18| 1: [StringLiteralUtf16] "This is my very long
# 18| text message that spans
# 18| accross multiple lines
# 18| and is very useful."
# 26| 1: [LocalVariableDeclStmt] ... ...;
# 26| 0: [LocalVariableDeclAndInitExpr] String message2 = ...
# 26| -1: [TypeMention] string
# 26| 0: [LocalVariableAccess] access to local variable message2
# 26| 1: [InterpolatedStringExpr] $"..."
# 27| 0: [StringLiteralUtf16] "The nested message
# 27| is \""
# 28| 1: [InterpolatedStringInsertExpr] {...}
# 28| 0: [LocalVariableAccess] access to local variable message1
# 28| 2: [StringLiteralUtf16] "\" and everything
# 28| spans multiple lines."
# 33| 2: [LocalVariableDeclStmt] ... ...;
# 33| 0: [LocalVariableDeclAndInitExpr] String message3 = ...
# 33| -1: [TypeMention] string
# 33| 0: [LocalVariableAccess] access to local variable message3
# 33| 1: [InterpolatedStringExpr] $"..."
# 34| 0: [StringLiteralUtf16] "Show no curly braces: "
# 34| 1: [InterpolatedStringInsertExpr] {...}
# 34| 0: [LocalVariableAccess] access to local variable message1
# 34| 2: [StringLiteralUtf16] "
# 34| Show matching set of curly braces: {"
# 35| 3: [InterpolatedStringInsertExpr] {...}
# 35| 0: [LocalVariableAccess] access to local variable message2
# 35| 4: [StringLiteralUtf16] "}"
# 40| 7: [Method] M3
# 40| -1: [TypeMention] Void
# 41| 4: [BlockStmt] {...}
# 43| 0: [LocalVariableDeclStmt] ... ...;
# 43| 0: [LocalVariableDeclAndInitExpr] ReadOnlySpan<Byte> x = ...
# 43| -1: [TypeMention] ReadOnlySpan<byte>
# 43| 0: [LocalVariableAccess] access to local variable x
# 43| 1: [StringLiteralUtf8] "AUTH8: "
# 46| 1: [LocalVariableDeclStmt] ... ...;
# 46| 0: [LocalVariableDeclAndInitExpr] String y = ...
# 46| -1: [TypeMention] string
# 46| 0: [LocalVariableAccess] access to local variable y
# 46| 1: [StringLiteralUtf16] "AUTH16: "
# 49| 2: [LocalVariableDeclStmt] ... ...;
# 49| 0: [LocalVariableDeclAndInitExpr] ReadOnlySpan<Byte> z = ...
# 49| -1: [TypeMention] ReadOnlySpan<byte>
# 49| 0: [LocalVariableAccess] access to local variable z
# 49| 1: [StringLiteralUtf8] "AUTH8:
# 49| <username> "
# 53| 3: [LocalVariableDeclStmt] ... ...;
# 53| 0: [LocalVariableDeclAndInitExpr] ReadOnlySpan<Byte> w = ...
# 53| -1: [TypeMention] ReadOnlySpan<byte>
# 53| 0: [LocalVariableAccess] access to local variable w
# 53| 1: [StringLiteralUtf8] "The nested message
# 53| is UTF-8 encoded and
# 53| spans multiple lines."
Struct.cs:
# 1| [NamespaceDeclaration] namespace ... { ... }
# 3| 1: [Class] MyEmptyClass
# 5| 2: [RefStruct] RefStruct
# 7| 5: [Field] MyInt
# 7| -1: [TypeMention] int
# 8| 6: [Field] MyByte
# 8| -1: [TypeMention] byte
# 9| 7: [Field] MyObject
# 9| -1: [TypeMention] object
# 10| 8: [Field] MyEmptyClass
# 10| -1: [TypeMention] MyEmptyClass
# 11| 9: [Field] MyReadonlyByte
# 11| -1: [TypeMention] byte
# 12| 10: [Field] MyReadonlyObject
# 12| -1: [TypeMention] object
# 13| 11: [Field] MyReadonlyString
# 13| -1: [TypeMention] string
StructDefault.cs:
# 1| [Class] MyEmptyClass
# 2| [Struct] StructDefaultValue
# 4| 5: [Field] X
# 4| -1: [TypeMention] int
# 5| 6: [Field] Y
# 5| -1: [TypeMention] int
# 6| 7: [Field] Z
# 6| -1: [TypeMention] MyEmptyClass
# 8| 8: [InstanceConstructor] StructDefaultValue
#-----| 2: (Parameters)
# 8| 0: [Parameter] x
# 8| -1: [TypeMention] int
# 8| 1: [Parameter] inity
# 8| -1: [TypeMention] bool
# 9| 4: [BlockStmt] {...}
# 10| 0: [ExprStmt] ...;
# 10| 0: [AssignExpr] ... = ...
# 10| 0: [FieldAccess] access to field X
# 10| 1: [ParameterAccess] access to parameter x
# 11| 1: [IfStmt] if (...) ...
# 11| 0: [ParameterAccess] access to parameter inity
# 11| 1: [BlockStmt] {...}
# 11| 0: [ExprStmt] ...;
# 11| 0: [AssignExpr] ... = ...
# 11| 0: [FieldAccess] access to field Y
# 11| 1: [IntLiteral] 1