diff --git a/csharp/ql/test/library-tests/partial/MethodIsPartial.expected b/csharp/ql/test/library-tests/partial/MethodIsPartial.expected index a0f1f88fb98..497d1e0026d 100644 --- a/csharp/ql/test/library-tests/partial/MethodIsPartial.expected +++ b/csharp/ql/test/library-tests/partial/MethodIsPartial.expected @@ -1,7 +1,8 @@ -| Partial.cs:6:18:6:42 | PartialMethodWithoutBody1 | true | -| Partial.cs:7:17:7:23 | Method2 | false | -| Partial.cs:18:18:18:39 | PartialMethodWithBody1 | true | -| Partial.cs:19:17:19:23 | Method3 | false | -| Partial.cs:41:18:41:42 | PartialMethodWithoutBody2 | true | -| Partial.cs:42:17:42:23 | Method4 | false | -| Partial.cs:47:17:47:23 | Method5 | false | +| Partial.cs:7:18:7:42 | PartialMethodWithoutBody1 | true | +| Partial.cs:8:17:8:23 | Method2 | false | +| Partial.cs:19:18:19:39 | PartialMethodWithBody1 | true | +| Partial.cs:20:27:20:48 | PartialMethodWithBody2 | true | +| Partial.cs:24:17:24:23 | Method3 | false | +| Partial.cs:46:18:46:42 | PartialMethodWithoutBody2 | true | +| Partial.cs:47:17:47:23 | Method4 | false | +| Partial.cs:52:17:52:23 | Method5 | false | diff --git a/csharp/ql/test/library-tests/partial/Partial.cs b/csharp/ql/test/library-tests/partial/Partial.cs index 8dd757fcd24..b619258170b 100644 --- a/csharp/ql/test/library-tests/partial/Partial.cs +++ b/csharp/ql/test/library-tests/partial/Partial.cs @@ -3,6 +3,7 @@ using System; partial class TwoPartClass { partial void PartialMethodWithBody1(); + public partial object PartialMethodWithBody2(object obj); partial void PartialMethodWithoutBody1(); public void Method2() { } // Declaring declaration. @@ -16,6 +17,10 @@ partial class TwoPartClass partial class TwoPartClass { partial void PartialMethodWithBody1() { } + public partial object PartialMethodWithBody2(object obj) + { + return obj; + } public void Method3() { } private object _backingField; // Implementation declaration. diff --git a/csharp/ql/test/library-tests/partial/Partial1.expected b/csharp/ql/test/library-tests/partial/Partial1.expected index fe8f5658f48..826ed13c457 100644 --- a/csharp/ql/test/library-tests/partial/Partial1.expected +++ b/csharp/ql/test/library-tests/partial/Partial1.expected @@ -1,17 +1,18 @@ | Partial.cs:3:15:3:26 | TwoPartClass | -| Partial.cs:6:18:6:42 | PartialMethodWithoutBody1 | -| Partial.cs:16:15:16:26 | TwoPartClass | -| Partial.cs:18:18:18:39 | PartialMethodWithBody1 | -| Partial.cs:22:27:22:42 | PartialProperty1 | -| Partial.cs:24:9:24:11 | get_PartialProperty1 | -| Partial.cs:25:9:25:11 | set_PartialProperty1 | -| Partial.cs:29:27:29:30 | Item | -| Partial.cs:31:9:31:11 | get_Item | -| Partial.cs:32:9:32:11 | set_Item | -| Partial.cs:36:39:36:51 | PartialEvent1 | -| Partial.cs:36:55:36:57 | add_PartialEvent1 | -| Partial.cs:36:63:36:68 | remove_PartialEvent1 | -| Partial.cs:39:15:39:33 | OnePartPartialClass | -| Partial.cs:41:18:41:42 | PartialMethodWithoutBody2 | +| Partial.cs:7:18:7:42 | PartialMethodWithoutBody1 | +| Partial.cs:17:15:17:26 | TwoPartClass | +| Partial.cs:19:18:19:39 | PartialMethodWithBody1 | +| Partial.cs:20:27:20:48 | PartialMethodWithBody2 | +| Partial.cs:27:27:27:42 | PartialProperty1 | +| Partial.cs:29:9:29:11 | get_PartialProperty1 | +| Partial.cs:30:9:30:11 | set_PartialProperty1 | +| Partial.cs:34:27:34:30 | Item | +| Partial.cs:36:9:36:11 | get_Item | +| Partial.cs:37:9:37:11 | set_Item | +| Partial.cs:41:39:41:51 | PartialEvent1 | +| Partial.cs:41:55:41:57 | add_PartialEvent1 | +| Partial.cs:41:63:41:68 | remove_PartialEvent1 | +| Partial.cs:44:15:44:33 | OnePartPartialClass | +| Partial.cs:46:18:46:42 | PartialMethodWithoutBody2 | | PartialMultipleFiles1.cs:1:22:1:41 | PartialMultipleFiles | | PartialMultipleFiles2.cs:1:22:1:41 | PartialMultipleFiles | diff --git a/csharp/ql/test/library-tests/partial/Partial2.expected b/csharp/ql/test/library-tests/partial/Partial2.expected index 8d608c26011..969b37b6ab9 100644 --- a/csharp/ql/test/library-tests/partial/Partial2.expected +++ b/csharp/ql/test/library-tests/partial/Partial2.expected @@ -1,15 +1,17 @@ | Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:3:15:3:26 | | -| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:6:18:6:42 | PartialMethodWithoutBody1 | -| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:7:17:7:23 | Method2 | -| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:18:18:18:39 | PartialMethodWithBody1 | -| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:19:17:19:23 | Method3 | -| Partial.cs:16:15:16:26 | TwoPartClass | Partial.cs:3:15:3:26 | | -| Partial.cs:16:15:16:26 | TwoPartClass | Partial.cs:6:18:6:42 | PartialMethodWithoutBody1 | -| Partial.cs:16:15:16:26 | TwoPartClass | Partial.cs:7:17:7:23 | Method2 | -| Partial.cs:16:15:16:26 | TwoPartClass | Partial.cs:18:18:18:39 | PartialMethodWithBody1 | -| Partial.cs:16:15:16:26 | TwoPartClass | Partial.cs:19:17:19:23 | Method3 | -| Partial.cs:39:15:39:33 | OnePartPartialClass | Partial.cs:39:15:39:33 | | -| Partial.cs:39:15:39:33 | OnePartPartialClass | Partial.cs:41:18:41:42 | PartialMethodWithoutBody2 | -| Partial.cs:39:15:39:33 | OnePartPartialClass | Partial.cs:42:17:42:23 | Method4 | +| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:7:18:7:42 | PartialMethodWithoutBody1 | +| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:8:17:8:23 | Method2 | +| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:19:18:19:39 | PartialMethodWithBody1 | +| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:20:27:20:48 | PartialMethodWithBody2 | +| Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:24:17:24:23 | Method3 | +| Partial.cs:17:15:17:26 | TwoPartClass | Partial.cs:3:15:3:26 | | +| Partial.cs:17:15:17:26 | TwoPartClass | Partial.cs:7:18:7:42 | PartialMethodWithoutBody1 | +| Partial.cs:17:15:17:26 | TwoPartClass | Partial.cs:8:17:8:23 | Method2 | +| Partial.cs:17:15:17:26 | TwoPartClass | Partial.cs:19:18:19:39 | PartialMethodWithBody1 | +| Partial.cs:17:15:17:26 | TwoPartClass | Partial.cs:20:27:20:48 | PartialMethodWithBody2 | +| Partial.cs:17:15:17:26 | TwoPartClass | Partial.cs:24:17:24:23 | Method3 | +| Partial.cs:44:15:44:33 | OnePartPartialClass | Partial.cs:44:15:44:33 | | +| Partial.cs:44:15:44:33 | OnePartPartialClass | Partial.cs:46:18:46:42 | PartialMethodWithoutBody2 | +| Partial.cs:44:15:44:33 | OnePartPartialClass | Partial.cs:47:17:47:23 | Method4 | | PartialMultipleFiles1.cs:1:22:1:41 | PartialMultipleFiles | PartialMultipleFiles1.cs:1:22:1:41 | | | PartialMultipleFiles2.cs:1:22:1:41 | PartialMultipleFiles | PartialMultipleFiles1.cs:1:22:1:41 | | diff --git a/csharp/ql/test/library-tests/partial/PartialAccessors.expected b/csharp/ql/test/library-tests/partial/PartialAccessors.expected index a9d70645420..4e53caaff84 100644 --- a/csharp/ql/test/library-tests/partial/PartialAccessors.expected +++ b/csharp/ql/test/library-tests/partial/PartialAccessors.expected @@ -1,12 +1,12 @@ -| Partial.cs:24:9:24:11 | get_PartialProperty1 | true | -| Partial.cs:25:9:25:11 | set_PartialProperty1 | true | -| Partial.cs:31:9:31:11 | get_Item | true | -| Partial.cs:32:9:32:11 | set_Item | true | -| Partial.cs:36:55:36:57 | add_PartialEvent1 | true | -| Partial.cs:36:63:36:68 | remove_PartialEvent1 | true | -| Partial.cs:48:30:48:32 | get_Property | false | -| Partial.cs:48:35:48:37 | set_Property | false | -| Partial.cs:51:9:51:11 | get_Item | false | -| Partial.cs:52:9:52:11 | set_Item | false | -| Partial.cs:54:31:54:35 | add_Event | false | -| Partial.cs:54:31:54:35 | remove_Event | false | +| Partial.cs:29:9:29:11 | get_PartialProperty1 | true | +| Partial.cs:30:9:30:11 | set_PartialProperty1 | true | +| Partial.cs:36:9:36:11 | get_Item | true | +| Partial.cs:37:9:37:11 | set_Item | true | +| Partial.cs:41:55:41:57 | add_PartialEvent1 | true | +| Partial.cs:41:63:41:68 | remove_PartialEvent1 | true | +| Partial.cs:53:30:53:32 | get_Property | false | +| Partial.cs:53:35:53:37 | set_Property | false | +| Partial.cs:56:9:56:11 | get_Item | false | +| Partial.cs:57:9:57:11 | set_Item | false | +| Partial.cs:59:31:59:35 | add_Event | false | +| Partial.cs:59:31:59:35 | remove_Event | false | diff --git a/csharp/ql/test/library-tests/partial/PartialConstructors.expected b/csharp/ql/test/library-tests/partial/PartialConstructors.expected index 69cabb244f5..90772552901 100644 --- a/csharp/ql/test/library-tests/partial/PartialConstructors.expected +++ b/csharp/ql/test/library-tests/partial/PartialConstructors.expected @@ -1,4 +1,4 @@ | Partial.cs:3:15:3:26 | TwoPartClass | Partial.cs:3:15:3:26 | {...} | -| Partial.cs:39:15:39:33 | OnePartPartialClass | Partial.cs:39:15:39:33 | {...} | -| Partial.cs:45:7:45:21 | NonPartialClass | Partial.cs:45:7:45:21 | {...} | +| Partial.cs:44:15:44:33 | OnePartPartialClass | Partial.cs:44:15:44:33 | {...} | +| Partial.cs:50:7:50:21 | NonPartialClass | Partial.cs:50:7:50:21 | {...} | | PartialMultipleFiles1.cs:1:22:1:41 | PartialMultipleFiles | PartialMultipleFiles1.cs:1:22:1:41 | {...} | diff --git a/csharp/ql/test/library-tests/partial/PartialEvents.expected b/csharp/ql/test/library-tests/partial/PartialEvents.expected index b12f8a07a9d..324f3e4e2b0 100644 --- a/csharp/ql/test/library-tests/partial/PartialEvents.expected +++ b/csharp/ql/test/library-tests/partial/PartialEvents.expected @@ -1,2 +1,2 @@ -| Partial.cs:36:39:36:51 | PartialEvent1 | true | -| Partial.cs:54:31:54:35 | Event | false | +| Partial.cs:41:39:41:51 | PartialEvent1 | true | +| Partial.cs:59:31:59:35 | Event | false | diff --git a/csharp/ql/test/library-tests/partial/PartialIndexers.expected b/csharp/ql/test/library-tests/partial/PartialIndexers.expected index be625fc4ad5..5f8c0b50b99 100644 --- a/csharp/ql/test/library-tests/partial/PartialIndexers.expected +++ b/csharp/ql/test/library-tests/partial/PartialIndexers.expected @@ -1,2 +1,2 @@ -| Partial.cs:29:27:29:30 | Item | true | -| Partial.cs:49:19:49:22 | Item | false | +| Partial.cs:34:27:34:30 | Item | true | +| Partial.cs:54:19:54:22 | Item | false | diff --git a/csharp/ql/test/library-tests/partial/PartialMethodBody.expected b/csharp/ql/test/library-tests/partial/PartialMethodBody.expected index a91a156cb62..c9a2729fb26 100644 --- a/csharp/ql/test/library-tests/partial/PartialMethodBody.expected +++ b/csharp/ql/test/library-tests/partial/PartialMethodBody.expected @@ -1,3 +1,4 @@ -| Partial.cs:6:18:6:42 | PartialMethodWithoutBody1 | false | -| Partial.cs:18:18:18:39 | PartialMethodWithBody1 | true | -| Partial.cs:41:18:41:42 | PartialMethodWithoutBody2 | false | +| Partial.cs:7:18:7:42 | PartialMethodWithoutBody1 | false | +| Partial.cs:19:18:19:39 | PartialMethodWithBody1 | true | +| Partial.cs:20:27:20:48 | PartialMethodWithBody2 | true | +| Partial.cs:46:18:46:42 | PartialMethodWithoutBody2 | false | diff --git a/csharp/ql/test/library-tests/partial/PartialProperties.expected b/csharp/ql/test/library-tests/partial/PartialProperties.expected index 4686bbf087a..9d9c5f8a0e1 100644 --- a/csharp/ql/test/library-tests/partial/PartialProperties.expected +++ b/csharp/ql/test/library-tests/partial/PartialProperties.expected @@ -1,2 +1,2 @@ -| Partial.cs:22:27:22:42 | PartialProperty1 | true | -| Partial.cs:48:19:48:26 | Property | false | +| Partial.cs:27:27:27:42 | PartialProperty1 | true | +| Partial.cs:53:19:53:26 | Property | false | diff --git a/csharp/ql/test/library-tests/partial/PrintAst.expected b/csharp/ql/test/library-tests/partial/PrintAst.expected index 315de869fb3..7a307477480 100644 --- a/csharp/ql/test/library-tests/partial/PrintAst.expected +++ b/csharp/ql/test/library-tests/partial/PrintAst.expected @@ -1,112 +1,125 @@ Partial.cs: # 3| [Class] TwoPartClass -# 6| 6: [Method] PartialMethodWithoutBody1 -# 6| -1: [TypeMention] Void -# 7| 7: [Method] Method2 +# 7| 6: [Method] PartialMethodWithoutBody1 # 7| -1: [TypeMention] Void -# 7| 4: [BlockStmt] {...} -# 18| 8: [Method] PartialMethodWithBody1 +# 8| 7: [Method] Method2 +# 8| -1: [TypeMention] Void +# 8| 4: [BlockStmt] {...} +# 19| 8: [Method] PartialMethodWithBody1 # 5| -1: [TypeMention] Void -# 18| 4: [BlockStmt] {...} -# 19| 9: [Method] Method3 -# 19| -1: [TypeMention] Void # 19| 4: [BlockStmt] {...} -# 20| 10: [Field] _backingField +# 20| 9: [Method] PartialMethodWithBody2 +# 6| -1: [TypeMention] object # 20| -1: [TypeMention] object -# 22| 11: [Property] PartialProperty1 -# 9| -1: [TypeMention] object -# 22| -1: [TypeMention] object -# 24| 3: [Getter] get_PartialProperty1 -# 24| 4: [BlockStmt] {...} -# 24| 0: [ReturnStmt] return ...; -# 24| 0: [FieldAccess] access to field _backingField -# 25| 4: [Setter] set_PartialProperty1 +#-----| 2: (Parameters) +# 6| 0: [Parameter] obj +# 6| -1: [TypeMention] object +# 20| -1: [TypeMention] object +# 21| 4: [BlockStmt] {...} +# 22| 0: [ReturnStmt] return ...; +# 22| 0: [ParameterAccess] access to parameter obj +# 21| 4: [BlockStmt] {...} +# 22| 0: [ReturnStmt] return ...; +# 22| 0: [ParameterAccess] access to parameter obj +# 24| 10: [Method] Method3 +# 24| -1: [TypeMention] Void +# 24| 4: [BlockStmt] {...} +# 25| 11: [Field] _backingField +# 25| -1: [TypeMention] object +# 27| 12: [Property] PartialProperty1 +# 10| -1: [TypeMention] object +# 27| -1: [TypeMention] object +# 29| 3: [Getter] get_PartialProperty1 +# 29| 4: [BlockStmt] {...} +# 29| 0: [ReturnStmt] return ...; +# 29| 0: [FieldAccess] access to field _backingField +# 30| 4: [Setter] set_PartialProperty1 #-----| 2: (Parameters) -# 25| 0: [Parameter] value -# 25| 4: [BlockStmt] {...} -# 25| 0: [ExprStmt] ...; -# 25| 0: [AssignExpr] ... = ... -# 25| 0: [FieldAccess] access to field _backingField -# 25| 1: [ParameterAccess] access to parameter value -# 27| 12: [Field] _backingArray -# 27| -1: [TypeMention] Object[] -# 27| 1: [TypeMention] object -# 29| 13: [Indexer] Item -# 11| -1: [TypeMention] object -# 29| -1: [TypeMention] object +# 30| 0: [Parameter] value +# 30| 4: [BlockStmt] {...} +# 30| 0: [ExprStmt] ...; +# 30| 0: [AssignExpr] ... = ... +# 30| 0: [FieldAccess] access to field _backingField +# 30| 1: [ParameterAccess] access to parameter value +# 32| 13: [Field] _backingArray +# 32| -1: [TypeMention] Object[] +# 32| 1: [TypeMention] object +# 34| 14: [Indexer] Item +# 12| -1: [TypeMention] object +# 34| -1: [TypeMention] object #-----| 1: (Parameters) -# 11| 0: [Parameter] index -# 11| -1: [TypeMention] int -# 29| -1: [TypeMention] int -# 31| 3: [Getter] get_Item +# 12| 0: [Parameter] index +# 12| -1: [TypeMention] int +# 34| -1: [TypeMention] int +# 36| 3: [Getter] get_Item #-----| 2: (Parameters) -# 29| 0: [Parameter] index -# 31| 4: [BlockStmt] {...} -# 31| 0: [ReturnStmt] return ...; -# 31| 0: [ArrayAccess] access to array element -# 31| -1: [FieldAccess] access to field _backingArray -# 31| 0: [ParameterAccess] access to parameter index -# 32| 4: [Setter] set_Item -#-----| 2: (Parameters) -# 29| 0: [Parameter] index -# 32| 1: [Parameter] value -# 32| 4: [BlockStmt] {...} -# 32| 0: [ExprStmt] ...; -# 32| 0: [AssignExpr] ... = ... -# 32| 0: [ArrayAccess] access to array element -# 32| -1: [FieldAccess] access to field _backingArray -# 32| 0: [ParameterAccess] access to parameter index -# 32| 1: [ParameterAccess] access to parameter value -# 36| 14: [Event] PartialEvent1 -# 13| -1: [TypeMention] EventHandler -# 36| 3: [AddEventAccessor] add_PartialEvent1 -#-----| 2: (Parameters) -# 36| 0: [Parameter] value +# 34| 0: [Parameter] index # 36| 4: [BlockStmt] {...} -# 36| 4: [RemoveEventAccessor] remove_PartialEvent1 +# 36| 0: [ReturnStmt] return ...; +# 36| 0: [ArrayAccess] access to array element +# 36| -1: [FieldAccess] access to field _backingArray +# 36| 0: [ParameterAccess] access to parameter index +# 37| 4: [Setter] set_Item #-----| 2: (Parameters) -# 36| 0: [Parameter] value -# 36| 4: [BlockStmt] {...} -# 39| [Class] OnePartPartialClass -# 41| 6: [Method] PartialMethodWithoutBody2 -# 41| -1: [TypeMention] Void -# 42| 7: [Method] Method4 -# 42| -1: [TypeMention] Void -# 42| 4: [BlockStmt] {...} -# 45| [Class] NonPartialClass -# 47| 6: [Method] Method5 +# 34| 0: [Parameter] index +# 37| 1: [Parameter] value +# 37| 4: [BlockStmt] {...} +# 37| 0: [ExprStmt] ...; +# 37| 0: [AssignExpr] ... = ... +# 37| 0: [ArrayAccess] access to array element +# 37| -1: [FieldAccess] access to field _backingArray +# 37| 0: [ParameterAccess] access to parameter index +# 37| 1: [ParameterAccess] access to parameter value +# 41| 15: [Event] PartialEvent1 +# 14| -1: [TypeMention] EventHandler +# 41| 3: [AddEventAccessor] add_PartialEvent1 +#-----| 2: (Parameters) +# 41| 0: [Parameter] value +# 41| 4: [BlockStmt] {...} +# 41| 4: [RemoveEventAccessor] remove_PartialEvent1 +#-----| 2: (Parameters) +# 41| 0: [Parameter] value +# 41| 4: [BlockStmt] {...} +# 44| [Class] OnePartPartialClass +# 46| 6: [Method] PartialMethodWithoutBody2 +# 46| -1: [TypeMention] Void +# 47| 7: [Method] Method4 # 47| -1: [TypeMention] Void # 47| 4: [BlockStmt] {...} -# 48| 7: [Property] Property -# 48| -1: [TypeMention] object -# 48| 3: [Getter] get_Property -# 48| 4: [Setter] set_Property +# 50| [Class] NonPartialClass +# 52| 6: [Method] Method5 +# 52| -1: [TypeMention] Void +# 52| 4: [BlockStmt] {...} +# 53| 7: [Property] Property +# 53| -1: [TypeMention] object +# 53| 3: [Getter] get_Property +# 53| 4: [Setter] set_Property #-----| 2: (Parameters) -# 48| 0: [Parameter] value -# 49| 8: [Indexer] Item -# 49| -1: [TypeMention] object +# 53| 0: [Parameter] value +# 54| 8: [Indexer] Item +# 54| -1: [TypeMention] object #-----| 1: (Parameters) -# 49| 0: [Parameter] index -# 49| -1: [TypeMention] int -# 51| 3: [Getter] get_Item +# 54| 0: [Parameter] index +# 54| -1: [TypeMention] int +# 56| 3: [Getter] get_Item #-----| 2: (Parameters) -# 49| 0: [Parameter] index -# 51| 4: [BlockStmt] {...} -# 51| 0: [ReturnStmt] return ...; -# 51| 0: [NullLiteral] null -# 52| 4: [Setter] set_Item +# 54| 0: [Parameter] index +# 56| 4: [BlockStmt] {...} +# 56| 0: [ReturnStmt] return ...; +# 56| 0: [NullLiteral] null +# 57| 4: [Setter] set_Item #-----| 2: (Parameters) -# 49| 0: [Parameter] index -# 52| 1: [Parameter] value -# 52| 4: [BlockStmt] {...} -# 54| 9: [Event] Event -# 54| -1: [TypeMention] EventHandler -# 54| 3: [AddEventAccessor] add_Event +# 54| 0: [Parameter] index +# 57| 1: [Parameter] value +# 57| 4: [BlockStmt] {...} +# 59| 9: [Event] Event +# 59| -1: [TypeMention] EventHandler +# 59| 3: [AddEventAccessor] add_Event #-----| 2: (Parameters) -# 54| 0: [Parameter] value -# 54| 4: [RemoveEventAccessor] remove_Event +# 59| 0: [Parameter] value +# 59| 4: [RemoveEventAccessor] remove_Event #-----| 2: (Parameters) -# 54| 0: [Parameter] value +# 59| 0: [Parameter] value PartialMultipleFiles1.cs: # 1| [Class] PartialMultipleFiles PartialMultipleFiles2.cs: