mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
1451 lines
62 KiB
Plaintext
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
|