Files
codeql/csharp/ql/test/library-tests/attributes/PrintAst.expected
2025-12-02 13:49:16 +01:00

517 lines
20 KiB
Plaintext

attributes.cs:
# 12| [AssemblyAttribute] [assembly: AssemblyTitle(...)]
# 12| -1: [TypeMention] AssemblyTitleAttribute
# 12| 0: [StringLiteralUtf16] "C# attributes test"
# 13| [AssemblyAttribute] [assembly: AssemblyDescription(...)]
# 13| -1: [TypeMention] AssemblyDescriptionAttribute
# 13| 0: [StringLiteralUtf16] "A test of C# attributes"
# 14| [AssemblyAttribute] [assembly: AssemblyConfiguration(...)]
# 14| -1: [TypeMention] AssemblyConfigurationAttribute
# 14| 0: [StringLiteralUtf16] ""
# 15| [AssemblyAttribute] [assembly: AssemblyCompany(...)]
# 15| -1: [TypeMention] AssemblyCompanyAttribute
# 15| 0: [StringLiteralUtf16] "Semmle Plc"
# 16| [AssemblyAttribute] [assembly: AssemblyProduct(...)]
# 16| -1: [TypeMention] AssemblyProductAttribute
# 16| 0: [StringLiteralUtf16] "Odasa"
# 17| [AssemblyAttribute] [assembly: AssemblyCopyright(...)]
# 17| -1: [TypeMention] AssemblyCopyrightAttribute
# 17| 0: [StringLiteralUtf16] "Copyright © Semmle 2018"
# 18| [AssemblyAttribute] [assembly: AssemblyTrademark(...)]
# 18| -1: [TypeMention] AssemblyTrademarkAttribute
# 18| 0: [StringLiteralUtf16] ""
# 19| [AssemblyAttribute] [assembly: AssemblyCulture(...)]
# 19| -1: [TypeMention] AssemblyCultureAttribute
# 19| 0: [StringLiteralUtf16] ""
# 24| [AssemblyAttribute] [assembly: ComVisible(...)]
# 24| -1: [TypeMention] ComVisibleAttribute
# 24| 0: [BoolLiteral] false
# 27| [AssemblyAttribute] [assembly: Guid(...)]
# 27| -1: [TypeMention] GuidAttribute
# 27| 0: [StringLiteralUtf16] "2f70fdd6-14aa-4850-b053-d547adb1f476"
# 39| [AssemblyAttribute] [assembly: AssemblyVersion(...)]
# 39| -1: [TypeMention] AssemblyVersionAttribute
# 39| 0: [StringLiteralUtf16] "1.0.0.0"
# 40| [AssemblyAttribute] [assembly: AssemblyFileVersion(...)]
# 40| -1: [TypeMention] AssemblyFileVersionAttribute
# 40| 0: [StringLiteralUtf16] "1.0.0.0"
# 42| [AssemblyAttribute] [assembly: Args(...)]
# 42| -1: [TypeMention] ArgsAttribute
# 42| 0: [IntLiteral] 0
# 42| 1: [ArrayCreation] array creation of type Object[]
# 42| -2: [TypeMention] Object[]
# 42| 1: [TypeMention] object
# 42| -1: [ArrayInitializer] { ..., ... }
# 42| 0: [CastExpr] (...) ...
# 42| 1: [IntLiteral] 1
# 42| 1: [CastExpr] (...) ...
# 42| 1: [IntLiteral] 2
# 42| 2: [NullLiteral] null
# 42| 2: [TypeofExpr] typeof(...)
# 42| 0: [TypeAccess] access to type ArgsAttribute
# 42| 0: [TypeMention] ArgsAttribute
# 42| 3: [CastExpr] (...) ...
# 42| 0: [TypeAccess] access to type E
# 42| 0: [TypeMention] E
# 42| 1: [IntLiteral] 12
# 42| 4: [NullLiteral] null
# 42| 5: [ArrayCreation] array creation of type Object[]
# 42| -2: [TypeMention] Object[]
# 42| 1: [TypeMention] object
# 42| -1: [ArrayInitializer] { ..., ... }
# 42| 0: [CastExpr] (...) ...
# 42| 1: [IntLiteral] 1
# 42| 1: [TypeofExpr] typeof(...)
# 42| 0: [TypeAccess] access to type Int32
# 42| 0: [TypeMention] int
# 43| [ModuleAttribute] [module: Args(...)]
# 43| -1: [TypeMention] ArgsAttribute
# 43| 0: [IntLiteral] 0
# 43| 1: [ArrayCreation] array creation of type Object[]
# 43| -2: [TypeMention] Object[]
# 43| 1: [TypeMention] object
# 43| -1: [ArrayInitializer] { ..., ... }
# 43| 0: [CastExpr] (...) ...
# 43| 1: [IntLiteral] 1
# 43| 1: [CastExpr] (...) ...
# 43| 1: [IntLiteral] 2
# 43| 2: [NullLiteral] null
# 43| 2: [TypeofExpr] typeof(...)
# 43| 0: [TypeAccess] access to type ArgsAttribute
# 43| 0: [TypeMention] ArgsAttribute
# 43| 3: [CastExpr] (...) ...
# 43| 0: [TypeAccess] access to type E
# 43| 0: [TypeMention] E
# 43| 1: [IntLiteral] 12
# 43| 4: [NullLiteral] null
# 43| 5: [ArrayCreation] array creation of type Object[]
# 43| -2: [TypeMention] Object[]
# 43| 1: [TypeMention] object
# 43| -1: [ArrayInitializer] { ..., ... }
# 43| 0: [CastExpr] (...) ...
# 43| 1: [IntLiteral] 1
# 43| 1: [TypeofExpr] typeof(...)
# 43| 0: [TypeAccess] access to type Int32
# 43| 0: [TypeMention] int
# 46| [Class] Foo
#-----| 0: (Attributes)
# 45| 1: [DefaultAttribute] [AttributeUsage(...)]
# 45| -1: [TypeMention] AttributeUsageAttribute
# 45| 0: [MemberConstantAccess] access to constant All
# 45| -1: [TypeAccess] access to type AttributeTargets
# 45| 0: [TypeMention] AttributeTargets
#-----| 3: (Base types)
# 46| 0: [TypeMention] Attribute
# 49| 6: [Method] foo
# 49| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 48| 1: [DefaultAttribute] [Conditional(...)]
# 48| -1: [TypeMention] ConditionalAttribute
# 48| 0: [StringLiteralUtf16] "DEBUG2"
# 49| 4: [BlockStmt] {...}
# 52| [Class] Bar
# 54| 6: [Method] inc
# 54| -1: [TypeMention] int
#-----| 2: (Parameters)
# 54| 0: [Parameter] x
# 54| -1: [TypeMention] int
#-----| 0: (Attributes)
# 54| 1: [DefaultAttribute] [Foo(...)]
# 54| 0: [TypeMention] Foo
# 54| 4: [BlockStmt] {...}
# 54| 0: [ReturnStmt] return ...;
# 54| 0: [AddExpr] ... + ...
# 54| 0: [ParameterAccess] access to parameter x
# 54| 1: [IntLiteral] 1
# 57| 7: [Method] M1
# 57| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 56| 1: [DefaultAttribute] [My(...)]
# 56| -1: [TypeMention] MyAttribute
# 56| 0: [BoolLiteral] false
# 57| 4: [BlockStmt] {...}
# 61| 8: [Method] M2
# 61| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 59| 1: [DefaultAttribute] [My(...)]
# 59| -1: [TypeMention] MyAttribute
# 59| 0: [BoolLiteral] true
# 59| 1: [StringLiteralUtf16] ""
# 59| 2: [IntLiteral] 0
# 60| 2: [DefaultAttribute] [My2(...)]
# 60| -1: [TypeMention] My2Attribute
# 60| 0: [BoolLiteral] false
# 60| 1: [BoolLiteral] true
# 60| 3: [IntLiteral] 1
# 60| 4: [IntLiteral] 42
# 61| 4: [BlockStmt] {...}
# 64| [Class] MyAttribute
#-----| 3: (Base types)
# 64| 0: [TypeMention] Attribute
# 66| 5: [Field] x
# 66| -1: [TypeMention] int
# 67| 6: [Property] y
# 67| -1: [TypeMention] string
# 67| 3: [Getter] get_y
# 67| 4: [Setter] set_y
#-----| 2: (Parameters)
# 67| 0: [Parameter] value
# 68| 7: [InstanceConstructor] MyAttribute
#-----| 2: (Parameters)
# 68| 0: [Parameter] b
# 68| -1: [TypeMention] bool
# 68| 4: [BlockStmt] {...}
# 71| [Enum] E
# 71| 5: [Field] A
# 71| 1: [IntLiteral] 42
# 73| [Class] ArgsAttribute
#-----| 3: (Base types)
# 73| 0: [TypeMention] Attribute
# 75| 5: [Property] Prop
# 75| -1: [TypeMention] Object[]
# 75| 1: [TypeMention] object
# 75| 3: [Getter] get_Prop
# 75| 4: [Setter] set_Prop
#-----| 2: (Parameters)
# 75| 0: [Parameter] value
# 76| 6: [InstanceConstructor] ArgsAttribute
#-----| 2: (Parameters)
# 76| 0: [Parameter] i
# 76| -1: [TypeMention] int
# 76| 1: [Parameter] o
# 76| -1: [TypeMention] object
# 76| 2: [Parameter] t
# 76| -1: [TypeMention] Type
# 76| 3: [Parameter] e
# 76| -1: [TypeMention] E
# 76| 4: [Parameter] arr
# 76| -1: [TypeMention] Int32[]
# 76| 1: [TypeMention] int
# 76| 4: [BlockStmt] {...}
# 80| [Class] X
#-----| 0: (Attributes)
# 79| 1: [DefaultAttribute] [Args(...)]
# 79| -1: [TypeMention] ArgsAttribute
# 79| 0: [IntLiteral] 42
# 79| 1: [NullLiteral] null
# 79| 2: [TypeofExpr] typeof(...)
# 79| 0: [TypeAccess] access to type X
# 79| 0: [TypeMention] X
# 79| 3: [MemberConstantAccess] access to constant A
# 79| -1: [TypeAccess] access to type E
# 79| 0: [TypeMention] E
# 79| 4: [ArrayCreation] array creation of type Int32[]
# 79| -2: [TypeMention] Int32[]
# 79| 1: [TypeMention] int
# 79| -1: [ArrayInitializer] { ..., ... }
# 79| 0: [IntLiteral] 1
# 79| 1: [IntLiteral] 2
# 79| 2: [IntLiteral] 3
# 79| 5: [ArrayCreation] array creation of type Object[]
# 79| -2: [TypeMention] Object[]
# 79| 1: [TypeMention] object
# 79| -1: [ArrayInitializer] { ..., ... }
# 79| 0: [CastExpr] (...) ...
# 79| 1: [IntLiteral] 1
# 79| 1: [TypeofExpr] typeof(...)
# 79| 0: [TypeAccess] access to type Int32
# 79| 0: [TypeMention] int
# 84| 6: [Method] SomeMethod
# 84| -1: [TypeMention] int
#-----| 0: (Attributes)
# 82| 1: [DefaultAttribute] [Args(...)]
# 82| -1: [TypeMention] ArgsAttribute
# 82| 0: [AddExpr] ... + ...
# 82| 0: [IntLiteral] 42
# 82| 1: [IntLiteral] 0
# 82| 1: [ArrayCreation] array creation of type Int32[]
# 82| -2: [TypeMention] Int32[]
# 82| 1: [TypeMention] int
# 82| -1: [ArrayInitializer] { ..., ... }
# 82| 0: [IntLiteral] 1
# 82| 1: [IntLiteral] 2
# 82| 2: [IntLiteral] 3
# 82| 2: [NullLiteral] null
# 82| 3: [CastExpr] (...) ...
# 82| 0: [TypeAccess] access to type E
# 82| 0: [TypeMention] E
# 82| 1: [IntLiteral] 12
# 82| 4: [NullLiteral] null
# 82| 5: [ArrayCreation] array creation of type Object[]
# 82| -2: [TypeMention] Object[]
# 82| 1: [TypeMention] object
# 82| -1: [ArrayInitializer] { ..., ... }
# 82| 0: [CastExpr] (...) ...
# 82| 1: [IntLiteral] 1
# 82| 1: [TypeofExpr] typeof(...)
# 82| 0: [TypeAccess] access to type Int32
# 82| 0: [TypeMention] int
# 83| 2: [ReturnAttribute] [return: Args(...)]
# 83| -1: [TypeMention] ArgsAttribute
# 83| 0: [AddExpr] ... + ...
# 83| 0: [IntLiteral] 42
# 83| 1: [IntLiteral] 0
# 83| 1: [ArrayCreation] array creation of type Int32[]
# 83| -2: [TypeMention] Int32[]
# 83| 1: [TypeMention] int
# 83| -1: [ArrayInitializer] { ..., ... }
# 83| 0: [IntLiteral] 1
# 83| 1: [IntLiteral] 2
# 83| 2: [IntLiteral] 3
# 83| 2: [NullLiteral] null
# 83| 3: [CastExpr] (...) ...
# 83| 0: [TypeAccess] access to type E
# 83| 0: [TypeMention] E
# 83| 1: [IntLiteral] 12
# 83| 4: [NullLiteral] null
# 83| 5: [ArrayCreation] array creation of type Object[]
# 83| -2: [TypeMention] Object[]
# 83| 1: [TypeMention] object
# 83| -1: [ArrayInitializer] { ..., ... }
# 83| 0: [CastExpr] (...) ...
# 83| 1: [IntLiteral] 1
# 83| 1: [TypeofExpr] typeof(...)
# 83| 0: [TypeAccess] access to type Int32
# 83| 0: [TypeMention] int
# 84| 4: [BlockStmt] {...}
# 84| 0: [ReturnStmt] return ...;
# 84| 0: [IntLiteral] 1
# 87| [Class] My2Attribute
#-----| 3: (Base types)
# 87| 0: [TypeMention] Attribute
# 89| 5: [Property] X
# 89| -1: [TypeMention] int
# 89| 3: [Getter] get_X
# 89| 4: [Setter] set_X
#-----| 2: (Parameters)
# 89| 0: [Parameter] value
# 90| 6: [InstanceConstructor] My2Attribute
#-----| 2: (Parameters)
# 90| 0: [Parameter] a
# 90| -1: [TypeMention] bool
# 90| 1: [Parameter] b
# 90| -1: [TypeMention] bool
# 90| 2: [Parameter] i
# 90| -1: [TypeMention] int
# 90| 1: [IntLiteral] 12
# 90| 3: [Parameter] j
# 90| -1: [TypeMention] int
# 90| 1: [IntLiteral] 13
# 90| 4: [BlockStmt] {...}
# 93| [Class] My3Attribute
#-----| 3: (Base types)
# 93| 0: [TypeMention] Attribute
# 95| 5: [InstanceConstructor] My3Attribute
#-----| 2: (Parameters)
# 95| 0: [Parameter] x
# 95| -1: [TypeMention] int
# 95| 4: [BlockStmt] {...}
# 100| [DelegateType] My1Delegate
#-----| 0: (Attributes)
# 98| 1: [DefaultAttribute] [My3(...)]
# 98| -1: [TypeMention] My3Attribute
# 98| 0: [IntLiteral] 1
#-----| 2: (Parameters)
# 100| 0: [Parameter] message
# 100| -1: [TypeMention] string
# 104| [DelegateType] My2Delegate
#-----| 0: (Attributes)
# 103| 1: [DefaultAttribute] [My3(...)]
# 103| -1: [TypeMention] My3Attribute
# 103| 0: [IntLiteral] 4
#-----| 2: (Parameters)
# 104| 0: [Parameter] message
# 104| -1: [TypeMention] string
# 106| [Class] MyAttributeUsage
# 110| 6: [AddOperator] +
# 110| -1: [TypeMention] int
#-----| 0: (Attributes)
# 108| 1: [DefaultAttribute] [My3(...)]
# 108| -1: [TypeMention] My3Attribute
# 108| 0: [IntLiteral] 5
# 109| 2: [ReturnAttribute] [return: My3(...)]
# 109| -1: [TypeMention] My3Attribute
# 109| 0: [IntLiteral] 6
#-----| 2: (Parameters)
# 110| 0: [Parameter] a
# 110| -1: [TypeMention] MyAttributeUsage
# 110| 1: [Parameter] b
# 110| -1: [TypeMention] MyAttributeUsage
# 110| 4: [IntLiteral] 0
# 113| 7: [Indexer] Item
# 113| -1: [TypeMention] int
#-----| 0: (Attributes)
# 112| 1: [DefaultAttribute] [My3(...)]
# 112| -1: [TypeMention] My3Attribute
# 112| 0: [IntLiteral] 15
#-----| 1: (Parameters)
# 113| 0: [Parameter] x
# 113| -1: [TypeMention] int
# 117| 3: [Getter] get_Item
#-----| 0: (Attributes)
# 115| 1: [DefaultAttribute] [My3(...)]
# 115| -1: [TypeMention] My3Attribute
# 115| 0: [IntLiteral] 7
# 116| 2: [ReturnAttribute] [return: My3(...)]
# 116| -1: [TypeMention] My3Attribute
# 116| 0: [IntLiteral] 8
#-----| 2: (Parameters)
# 113| 0: [Parameter] x
# 117| 4: [BlockStmt] {...}
# 117| 0: [ReturnStmt] return ...;
# 117| 0: [AddExpr] ... + ...
# 117| 0: [ParameterAccess] access to parameter x
# 117| 1: [IntLiteral] 1
# 121| 4: [Setter] set_Item
#-----| 0: (Attributes)
# 119| 1: [DefaultAttribute] [My3(...)]
# 119| -1: [TypeMention] My3Attribute
# 119| 0: [IntLiteral] 9
#-----| 2: (Parameters)
# 113| 0: [Parameter] x
# 121| 1: [Parameter] value
#-----| 0: (Attributes)
# 120| 1: [DefaultAttribute] [My3(...)]
# 120| -1: [TypeMention] My3Attribute
# 120| 0: [IntLiteral] 10
# 121| 4: [BlockStmt] {...}
# 121| 0: [ReturnStmt] return ...;
# 124| 8: [Field] p
# 124| -1: [TypeMention] int
# 126| 9: [Property] Prop1
# 126| -1: [TypeMention] int
#-----| 0: (Attributes)
# 125| 1: [DefaultAttribute] [My3(...)]
# 125| -1: [TypeMention] My3Attribute
# 125| 0: [IntLiteral] 16
# 130| 3: [Getter] get_Prop1
#-----| 0: (Attributes)
# 128| 1: [DefaultAttribute] [My3(...)]
# 128| -1: [TypeMention] My3Attribute
# 128| 0: [IntLiteral] 11
# 129| 2: [ReturnAttribute] [return: My3(...)]
# 129| -1: [TypeMention] My3Attribute
# 129| 0: [IntLiteral] 12
# 130| 4: [BlockStmt] {...}
# 130| 0: [ReturnStmt] return ...;
# 130| 0: [FieldAccess] access to field p
# 134| 4: [Setter] set_Prop1
#-----| 0: (Attributes)
# 132| 1: [DefaultAttribute] [My3(...)]
# 132| -1: [TypeMention] My3Attribute
# 132| 0: [IntLiteral] 13
#-----| 2: (Parameters)
# 134| 0: [Parameter] value
#-----| 0: (Attributes)
# 133| 1: [DefaultAttribute] [My3(...)]
# 133| -1: [TypeMention] My3Attribute
# 133| 0: [IntLiteral] 14
# 134| 4: [BlockStmt] {...}
# 134| 0: [ExprStmt] ...;
# 134| 0: [AssignExpr] ... = ...
# 134| 0: [FieldAccess] access to field p
# 134| 1: [ParameterAccess] access to parameter value
# 138| [Class] Class1
# 140| 6: [Class] ParamsAttribute
#-----| 3: (Base types)
# 140| 0: [TypeMention] Attribute
# 142| 5: [InstanceConstructor] ParamsAttribute
#-----| 2: (Parameters)
# 142| 0: [Parameter] s1
# 142| -1: [TypeMention] string
# 142| 1: [Parameter] s2
# 142| -1: [TypeMention] string
# 142| 2: [Parameter] args
# 142| -1: [TypeMention] Int32[]
# 142| 1: [TypeMention] int
# 142| 4: [BlockStmt] {...}
# 146| 7: [Method] M1
# 146| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 145| 1: [DefaultAttribute] [Params(...)]
# 145| -1: [TypeMention] ParamsAttribute
# 145| 0: [StringLiteralUtf16] "a"
# 145| 1: [StringLiteralUtf16] "b"
# 145| 2: [IntLiteral] 1
# 145| 3: [IntLiteral] 2
# 145| 4: [IntLiteral] 3
# 146| 4: [BlockStmt] {...}
# 149| 8: [Method] M2
# 149| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 148| 1: [DefaultAttribute] [Params(...)]
# 148| -1: [TypeMention] ParamsAttribute
# 148| 0: [StringLiteralUtf16] "a"
# 148| 1: [StringLiteralUtf16] "b"
# 148| 2: [IntLiteral] 1
# 148| 3: [IntLiteral] 2
# 148| 4: [IntLiteral] 3
# 149| 4: [BlockStmt] {...}
# 152| 9: [Method] M3
# 152| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 151| 1: [DefaultAttribute] [Params(...)]
# 151| -1: [TypeMention] ParamsAttribute
# 151| 0: [StringLiteralUtf16] "a"
# 151| 1: [StringLiteralUtf16] "b"
# 151| 2: [IntLiteral] 1
# 152| 4: [BlockStmt] {...}
# 155| 10: [Method] M4
# 155| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 154| 1: [DefaultAttribute] [Params(...)]
# 154| -1: [TypeMention] ParamsAttribute
# 154| 0: [StringLiteralUtf16] "a"
# 154| 1: [StringLiteralUtf16] "b"
# 154| 2: [ArrayCreation] array creation of type Int32[]
# 154| -1: [ArrayInitializer] { ..., ... }
# 154| 0: [IntLiteral] 1
# 155| 4: [BlockStmt] {...}
# 159| [Class] MyExperimentalClass
#-----| 0: (Attributes)
# 158| 1: [DefaultAttribute] [Experimental(...)]
# 158| -1: [TypeMention] ExperimentalAttribute
# 158| 0: [StringLiteralUtf16] "MyExperimentalClassId"
# 162| 6: [Method] MyExperimentalMethod
# 162| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 161| 1: [DefaultAttribute] [Experimental(...)]
# 161| -1: [TypeMention] ExperimentalAttribute
# 161| 0: [StringLiteralUtf16] "MyExperimentalMethodId"
# 162| 4: [BlockStmt] {...}
# 165| [Class] MyOverloadResolutionClass
# 168| 6: [Method] M
# 168| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 167| 1: [DefaultAttribute] [OverloadResolutionPriority(...)]
# 167| -1: [TypeMention] OverloadResolutionPriorityAttribute
# 167| 0: [UnaryMinusExpr] -...
# 167| 0: [IntLiteral] 1
#-----| 2: (Parameters)
# 168| 0: [Parameter] arr
# 168| -1: [TypeMention] Int32[]
# 168| 1: [TypeMention] int
# 168| 4: [BlockStmt] {...}
# 171| 7: [Method] M
# 171| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 170| 1: [DefaultAttribute] [OverloadResolutionPriority(...)]
# 170| -1: [TypeMention] OverloadResolutionPriorityAttribute
# 170| 0: [IntLiteral] 1
#-----| 2: (Parameters)
# 171| 0: [Parameter] e
# 171| -1: [TypeMention] IEnumerable<int>
# 171| 1: [TypeMention] int
# 171| 4: [BlockStmt] {...}
# 174| 8: [Method] M
# 174| -1: [TypeMention] Void
#-----| 0: (Attributes)
# 173| 1: [DefaultAttribute] [OverloadResolutionPriority(...)]
# 173| -1: [TypeMention] OverloadResolutionPriorityAttribute
# 173| 0: [IntLiteral] 2
#-----| 2: (Parameters)
# 174| 0: [Parameter] s
# 174| -1: [TypeMention] ReadOnlySpan<int>
# 174| 1: [TypeMention] int
# 174| 4: [BlockStmt] {...}