Files
codeql/csharp/ql/test/library-tests/operators/PrintAst.expected
2026-04-24 08:57:11 +02:00

340 lines
16 KiB
Plaintext

operators.cs:
# 5| [NamespaceDeclaration] namespace ... { ... }
# 7| 1: [Class] IntVector
# 9| 5: [InstanceConstructor] IntVector
#-----| 2: (Parameters)
# 9| 0: [Parameter] length
# 9| -1: [TypeMention] int
# 9| 4: [BlockStmt] {...}
# 11| 6: [Property] Length
# 11| -1: [TypeMention] int
# 11| 3: [Getter] get_Length
# 11| 4: [BlockStmt] {...}
# 11| 0: [ReturnStmt] return ...;
# 11| 0: [IntLiteral] 4
# 13| 7: [Indexer] Item
# 13| -1: [TypeMention] int
#-----| 1: (Parameters)
# 13| 0: [Parameter] index
# 13| -1: [TypeMention] int
# 13| 3: [Getter] get_Item
#-----| 2: (Parameters)
# 13| 0: [Parameter] index
# 13| 4: [BlockStmt] {...}
# 13| 0: [ReturnStmt] return ...;
# 13| 0: [IntLiteral] 0
# 13| 4: [Setter] set_Item
#-----| 2: (Parameters)
# 13| 0: [Parameter] index
# 13| 1: [Parameter] value
# 13| 4: [BlockStmt] {...}
# 15| 8: [IncrementOperator] ++
# 15| -1: [TypeMention] IntVector
#-----| 2: (Parameters)
# 15| 0: [Parameter] iv
# 15| -1: [TypeMention] IntVector
# 16| 4: [BlockStmt] {...}
# 17| 0: [LocalVariableDeclStmt] ... ...;
# 17| 0: [LocalVariableDeclAndInitExpr] IntVector temp = ...
# 17| -1: [TypeMention] IntVector
# 17| 0: [LocalVariableAccess] access to local variable temp
# 17| 1: [ObjectCreation] object creation of type IntVector
# 17| -1: [TypeMention] IntVector
# 17| 0: [PropertyCall] access to property Length
# 17| -1: [ParameterAccess] access to parameter iv
# 18| 1: [ForStmt] for (...;...;...) ...
# 18| -1: [LocalVariableDeclAndInitExpr] Int32 i = ...
# 18| -1: [TypeMention] int
# 18| 0: [LocalVariableAccess] access to local variable i
# 18| 1: [IntLiteral] 0
# 18| 0: [LTExpr] ... < ...
# 18| 0: [LocalVariableAccess] access to local variable i
# 18| 1: [PropertyCall] access to property Length
# 18| -1: [ParameterAccess] access to parameter iv
# 18| 1: [PostIncrExpr] ...++
# 18| 0: [LocalVariableAccess] access to local variable i
# 19| 2: [ExprStmt] ...;
# 19| 0: [AssignExpr] ... = ...
# 19| 0: [IndexerCall] access to indexer
# 19| -1: [LocalVariableAccess] access to local variable temp
# 19| 0: [LocalVariableAccess] access to local variable i
# 19| 1: [AddExpr] ... + ...
# 19| 0: [IndexerCall] access to indexer
# 19| -1: [ParameterAccess] access to parameter iv
# 19| 0: [LocalVariableAccess] access to local variable i
# 19| 1: [IntLiteral] 1
# 20| 2: [ReturnStmt] return ...;
# 20| 0: [LocalVariableAccess] access to local variable temp
# 23| 9: [AddCompoundAssignmentOperator] +=
# 23| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 23| 0: [Parameter] n
# 23| -1: [TypeMention] IntVector
# 24| 4: [BlockStmt] {...}
# 25| 0: [IfStmt] if (...) ...
# 25| 0: [NEExpr] ... != ...
# 25| 0: [PropertyCall] access to property Length
# 25| -1: [ParameterAccess] access to parameter n
# 25| 1: [PropertyCall] access to property Length
# 26| 1: [ThrowStmt] throw ...;
# 26| 0: [ObjectCreation] object creation of type ArgumentException
# 26| 0: [TypeMention] ArgumentException
# 27| 1: [ForStmt] for (...;...;...) ...
# 27| -1: [LocalVariableDeclAndInitExpr] Int32 i = ...
# 27| -1: [TypeMention] int
# 27| 0: [LocalVariableAccess] access to local variable i
# 27| 1: [IntLiteral] 0
# 27| 0: [LTExpr] ... < ...
# 27| 0: [LocalVariableAccess] access to local variable i
# 27| 1: [PropertyCall] access to property Length
# 27| 1: [PostIncrExpr] ...++
# 27| 0: [LocalVariableAccess] access to local variable i
# 28| 2: [ExprStmt] ...;
# 28| 0: [AssignAddExpr] ... += ...
# 28| 0: [IndexerCall] access to indexer
# 28| -1: [ThisAccess] this access
# 28| 0: [LocalVariableAccess] access to local variable i
# 28| 1: [IndexerCall] access to indexer
# 28| -1: [ParameterAccess] access to parameter n
# 28| 0: [LocalVariableAccess] access to local variable i
# 31| 10: [CheckedAddCompoundAssignmentOperator] checked +=
# 31| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 31| 0: [Parameter] n
# 31| -1: [TypeMention] IntVector
# 31| 4: [BlockStmt] {...}
# 33| 11: [CheckedSubCompoundAssignmentOperator] checked -=
# 33| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 33| 0: [Parameter] n
# 33| -1: [TypeMention] IntVector
# 33| 4: [BlockStmt] {...}
# 34| 12: [SubCompoundAssignmentOperator] -=
# 34| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 34| 0: [Parameter] n
# 34| -1: [TypeMention] IntVector
# 34| 4: [BlockStmt] {...}
# 36| 13: [CheckedMulCompoundAssignmentOperator] checked *=
# 36| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 36| 0: [Parameter] n
# 36| -1: [TypeMention] IntVector
# 36| 4: [BlockStmt] {...}
# 37| 14: [MulCompoundAssignmentOperator] *=
# 37| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 37| 0: [Parameter] n
# 37| -1: [TypeMention] IntVector
# 37| 4: [BlockStmt] {...}
# 39| 15: [CheckedDivCompoundAssignmentOperator] checked /=
# 39| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 39| 0: [Parameter] n
# 39| -1: [TypeMention] IntVector
# 39| 4: [BlockStmt] {...}
# 40| 16: [DivCompoundAssignmentOperator] /=
# 40| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 40| 0: [Parameter] n
# 40| -1: [TypeMention] IntVector
# 40| 4: [BlockStmt] {...}
# 42| 17: [RemCompoundAssignmentOperator] %=
# 42| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 42| 0: [Parameter] n
# 42| -1: [TypeMention] IntVector
# 42| 4: [BlockStmt] {...}
# 43| 18: [AndCompoundAssignmentOperator] &=
# 43| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 43| 0: [Parameter] n
# 43| -1: [TypeMention] IntVector
# 43| 4: [BlockStmt] {...}
# 44| 19: [OrCompoundAssignmentOperator] |=
# 44| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 44| 0: [Parameter] n
# 44| -1: [TypeMention] IntVector
# 44| 4: [BlockStmt] {...}
# 45| 20: [XorCompoundAssignmentOperator] ^=
# 45| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 45| 0: [Parameter] n
# 45| -1: [TypeMention] IntVector
# 45| 4: [BlockStmt] {...}
# 46| 21: [LeftShiftCompoundAssignmentOperator] <<=
# 46| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 46| 0: [Parameter] n
# 46| -1: [TypeMention] IntVector
# 46| 4: [BlockStmt] {...}
# 47| 22: [RightShiftCompoundAssignmentOperator] >>=
# 47| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 47| 0: [Parameter] n
# 47| -1: [TypeMention] IntVector
# 47| 4: [BlockStmt] {...}
# 48| 23: [UnsignedRightShiftCompoundAssignmentOperator] >>>=
# 48| -1: [TypeMention] Void
#-----| 2: (Parameters)
# 48| 0: [Parameter] n
# 48| -1: [TypeMention] IntVector
# 48| 4: [BlockStmt] {...}
# 51| 2: [Class] TestOperator
# 53| 6: [Method] Main
# 53| -1: [TypeMention] Void
# 54| 4: [BlockStmt] {...}
# 55| 0: [LocalVariableDeclStmt] ... ...;
# 55| 0: [LocalVariableDeclAndInitExpr] IntVector iv1 = ...
# 55| -1: [TypeMention] IntVector
# 55| 0: [LocalVariableAccess] access to local variable iv1
# 55| 1: [ObjectCreation] object creation of type IntVector
# 55| -1: [TypeMention] IntVector
# 55| 0: [IntLiteral] 4
# 56| 1: [LocalVariableDeclStmt] ... ...;
# 56| 0: [LocalVariableDeclExpr] IntVector iv2
# 56| 0: [TypeMention] IntVector
# 57| 2: [ExprStmt] ...;
# 57| 0: [AssignExpr] ... = ...
# 57| 0: [LocalVariableAccess] access to local variable iv2
# 57| 1: [OperatorCall] call to operator ++
# 57| 0: [LocalVariableAccess] access to local variable iv1
# 58| 3: [ExprStmt] ...;
# 58| 0: [AssignExpr] ... = ...
# 58| 0: [LocalVariableAccess] access to local variable iv2
# 58| 1: [OperatorCall] call to operator ++
# 58| 0: [LocalVariableAccess] access to local variable iv1
# 60| 4: [LocalVariableDeclStmt] ... ...;
# 60| 0: [LocalVariableDeclAndInitExpr] IntVector iv3 = ...
# 60| -1: [TypeMention] IntVector
# 60| 0: [LocalVariableAccess] access to local variable iv3
# 60| 1: [ObjectCreation] object creation of type IntVector
# 60| -1: [TypeMention] IntVector
# 60| 0: [IntLiteral] 4
# 61| 5: [ExprStmt] ...;
# 61| 0: [AssignAddExpr] ... += ...
# 61| 0: [LocalVariableAccess] access to local variable iv3
# 61| 1: [LocalVariableAccess] access to local variable iv2
# 64| 6: [ExprStmt] ...;
# 64| 0: [AssignSubExpr] ... -= ...
# 64| 0: [LocalVariableAccess] access to local variable iv3
# 64| 1: [LocalVariableAccess] access to local variable iv2
# 65| 7: [ExprStmt] ...;
# 65| 0: [AssignMulExpr] ... *= ...
# 65| 0: [LocalVariableAccess] access to local variable iv3
# 65| 1: [LocalVariableAccess] access to local variable iv2
# 66| 8: [ExprStmt] ...;
# 66| 0: [AssignDivExpr] ... /= ...
# 66| 0: [LocalVariableAccess] access to local variable iv3
# 66| 1: [LocalVariableAccess] access to local variable iv2
# 67| 9: [ExprStmt] ...;
# 67| 0: [AssignRemExpr] ... %= ...
# 67| 0: [LocalVariableAccess] access to local variable iv3
# 67| 1: [LocalVariableAccess] access to local variable iv2
# 68| 10: [ExprStmt] ...;
# 68| 0: [AssignAndExpr] ... &= ...
# 68| 0: [LocalVariableAccess] access to local variable iv3
# 68| 1: [LocalVariableAccess] access to local variable iv2
# 69| 11: [ExprStmt] ...;
# 69| 0: [AssignOrExpr] ... |= ...
# 69| 0: [LocalVariableAccess] access to local variable iv3
# 69| 1: [LocalVariableAccess] access to local variable iv2
# 70| 12: [ExprStmt] ...;
# 70| 0: [AssignXorExpr] ... ^= ...
# 70| 0: [LocalVariableAccess] access to local variable iv3
# 70| 1: [LocalVariableAccess] access to local variable iv2
# 71| 13: [ExprStmt] ...;
# 71| 0: [AssignLeftShiftExpr] ... <<= ...
# 71| 0: [LocalVariableAccess] access to local variable iv3
# 71| 1: [LocalVariableAccess] access to local variable iv2
# 72| 14: [ExprStmt] ...;
# 72| 0: [AssignRightShiftExpr] ... >>= ...
# 72| 0: [LocalVariableAccess] access to local variable iv3
# 72| 1: [LocalVariableAccess] access to local variable iv2
# 73| 15: [ExprStmt] ...;
# 73| 0: [AssignUnsignedRightShiftExpr] ... >>>= ...
# 73| 0: [LocalVariableAccess] access to local variable iv3
# 73| 1: [LocalVariableAccess] access to local variable iv2
# 75| 16: [CheckedStmt] checked {...}
# 76| 0: [BlockStmt] {...}
# 77| 0: [ExprStmt] ...;
# 77| 0: [AssignAddExpr] ... += ...
# 77| 0: [LocalVariableAccess] access to local variable iv3
# 77| 1: [LocalVariableAccess] access to local variable iv2
# 78| 1: [ExprStmt] ...;
# 78| 0: [AssignSubExpr] ... -= ...
# 78| 0: [LocalVariableAccess] access to local variable iv3
# 78| 1: [LocalVariableAccess] access to local variable iv2
# 79| 2: [ExprStmt] ...;
# 79| 0: [AssignMulExpr] ... *= ...
# 79| 0: [LocalVariableAccess] access to local variable iv3
# 79| 1: [LocalVariableAccess] access to local variable iv2
# 80| 3: [ExprStmt] ...;
# 80| 0: [AssignDivExpr] ... /= ...
# 80| 0: [LocalVariableAccess] access to local variable iv3
# 80| 1: [LocalVariableAccess] access to local variable iv2
# 85| 3: [Struct] Digit
# 87| 6: [Field] value
# 87| -1: [TypeMention] byte
# 89| 7: [InstanceConstructor] Digit
#-----| 2: (Parameters)
# 89| 0: [Parameter] value
# 89| -1: [TypeMention] byte
# 90| 4: [BlockStmt] {...}
# 91| 0: [IfStmt] if (...) ...
# 91| 0: [LogicalOrExpr] ... || ...
# 91| 0: [LTExpr] ... < ...
# 91| 0: [CastExpr] (...) ...
# 91| 1: [ParameterAccess] access to parameter value
# 91| 1: [IntLiteral] 0
# 91| 1: [GTExpr] ... > ...
# 91| 0: [CastExpr] (...) ...
# 91| 1: [ParameterAccess] access to parameter value
# 91| 1: [IntLiteral] 9
# 92| 1: [ThrowStmt] throw ...;
# 92| 0: [ObjectCreation] object creation of type ArgumentException
# 92| 0: [TypeMention] ArgumentException
# 93| 1: [ExprStmt] ...;
# 93| 0: [AssignExpr] ... = ...
# 93| 0: [FieldAccess] access to field value
# 93| -1: [ThisAccess] this access
# 93| 1: [ParameterAccess] access to parameter value
# 96| 8: [ImplicitConversionOperator] implicit conversion
# 96| -1: [TypeMention] byte
#-----| 2: (Parameters)
# 96| 0: [Parameter] d
# 96| -1: [TypeMention] Digit
# 97| 4: [BlockStmt] {...}
# 98| 0: [ReturnStmt] return ...;
# 98| 0: [FieldAccess] access to field value
# 98| -1: [ParameterAccess] access to parameter d
# 101| 9: [ExplicitConversionOperator] explicit conversion
# 101| -1: [TypeMention] Digit
#-----| 2: (Parameters)
# 101| 0: [Parameter] b
# 101| -1: [TypeMention] byte
# 102| 4: [BlockStmt] {...}
# 103| 0: [ReturnStmt] return ...;
# 103| 0: [ObjectCreation] object creation of type Digit
# 103| -1: [TypeMention] Digit
# 103| 0: [ParameterAccess] access to parameter b
# 108| 4: [Class] TestConversionOperator
# 111| 6: [Method] Main
# 111| -1: [TypeMention] Void
# 112| 4: [BlockStmt] {...}
# 113| 0: [LocalVariableDeclStmt] ... ...;
# 113| 0: [LocalVariableDeclAndInitExpr] Digit d = ...
# 113| -1: [TypeMention] Digit
# 113| 0: [LocalVariableAccess] access to local variable d
# 113| 1: [OperatorCall] call to operator explicit conversion
# 113| -1: [TypeMention] Digit
# 113| 0: [CastExpr] (...) ...
# 113| 1: [IntLiteral] 8
# 114| 1: [LocalVariableDeclStmt] ... ...;
# 114| 0: [LocalVariableDeclAndInitExpr] Byte b = ...
# 114| -1: [TypeMention] byte
# 114| 0: [LocalVariableAccess] access to local variable b
# 114| 1: [OperatorCall] call to operator implicit conversion
# 114| 0: [LocalVariableAccess] access to local variable d