mirror of
https://github.com/github/codeql.git
synced 2026-05-01 03:35:13 +02:00
C#: Add colliding method ID tests
This commit is contained in:
130
csharp/ql/test/library-tests/methods/DB-CHECK.expected
Normal file
130
csharp/ql/test/library-tests/methods/DB-CHECK.expected
Normal file
@@ -0,0 +1,130 @@
|
||||
[INVALID_KEY] predicate methods(@method id, string name, @type declaring_type_id, @type_or_ref type_id, @method unbound_id): The key set {id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 4:
|
||||
Tuple 1 in row 28: (828,"M",827,1087,813)
|
||||
Tuple 2 in row 29: (828,"M",827,1087,1135)
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 827: @"(294)<(366)>;type". The ID may expand to @"{@"{@"{@";namespace"}.Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"{@";namespace"}.System;namespace"}.Int32;type"}>;type"
|
||||
Relevant element: Full ID for 1087: @"(365);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"};typeRef"
|
||||
Relevant element: Full ID for 813: @"(365) (294).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@";namespace"}.Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 827: @"(294)<(366)>;type". The ID may expand to @"{@"{@"{@";namespace"}.Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"{@";namespace"}.System;namespace"}.Int32;type"}>;type"
|
||||
Relevant element: Full ID for 1087: @"(365);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"};typeRef"
|
||||
Relevant element: Full ID for 1135: @"(365) (294).M((296) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@";namespace"}.Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}_0;typeparameter"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
[INVALID_KEY] predicate constructors(@constructor id, string name, @type declaring_type_id, @constructor unbound_id): The key set {id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 3:
|
||||
Tuple 1 in row 14: (897,"Nested",830,332)
|
||||
Tuple 2 in row 15: (897,"Nested",830,1143)
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 830: @"(827).Nested;type". The ID may expand to @"{@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.Nested;type"
|
||||
Relevant element: Full ID for 332: @"(297)((296) p1);constructor". The ID may expand to @"{@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.Nested;type"}({@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}_0;typeparameter"} p1);constructor"
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 830: @"(827).Nested;type". The ID may expand to @"{@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.Nested;type"
|
||||
Relevant element: Full ID for 1143: @"(297)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
[INVALID_KEY_SET] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {name, parent_id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 34: (1005,"p1",1083,0,0,828,1138)
|
||||
Tuple 2 in row 35: (1005,"p1",1083,0,0,828,1348)
|
||||
Relevant element: Full ID for 1005: @"(828)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1138: @"(1135)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1005: @"(828)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1348: @"(813)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
[INVALID_KEY_SET] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {name, parent_id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 42: (1031,"p1",1083,0,0,897,335)
|
||||
Tuple 2 in row 43: (1031,"p1",1083,0,0,897,1146)
|
||||
Relevant element: Full ID for 1031: @"(897)_0;parameter". The ID may expand to @"{@"{@"{@"(294)<(366)>;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 335: @"(332)_0;parameter". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}.Nested;type"}({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1031: @"(897)_0;parameter". The ID may expand to @"{@"{@"{@"(294)<(366)>;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 1146: @"(1143)_0;parameter". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
[INVALID_KEY_SET] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {name, parent_id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 36: (1006,"p2",1083,1,0,828,1140)
|
||||
Tuple 2 in row 37: (1006,"p2",1083,1,0,828,1350)
|
||||
Relevant element: Full ID for 1006: @"(828)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1140: @"(1135)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1006: @"(828)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1350: @"(813)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
[INVALID_KEY_SET] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {index, parent_id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 34: (1005,"p1",1083,0,0,828,1138)
|
||||
Tuple 2 in row 35: (1005,"p1",1083,0,0,828,1348)
|
||||
Relevant element: Full ID for 1005: @"(828)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1138: @"(1135)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1005: @"(828)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1348: @"(813)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
[INVALID_KEY_SET] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {index, parent_id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 42: (1031,"p1",1083,0,0,897,335)
|
||||
Tuple 2 in row 43: (1031,"p1",1083,0,0,897,1146)
|
||||
Relevant element: Full ID for 1031: @"(897)_0;parameter". The ID may expand to @"{@"{@"{@"(294)<(366)>;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 335: @"(332)_0;parameter". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}.Nested;type"}({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1031: @"(897)_0;parameter". The ID may expand to @"{@"{@"{@"(294)<(366)>;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 1146: @"(1143)_0;parameter". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
[INVALID_KEY_SET] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {index, parent_id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 36: (1006,"p2",1083,1,0,828,1140)
|
||||
Tuple 2 in row 37: (1006,"p2",1083,1,0,828,1350)
|
||||
Relevant element: Full ID for 1006: @"(828)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1140: @"(1135)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1006: @"(828)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1350: @"(813)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
[INVALID_KEY] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 34: (1005,"p1",1083,0,0,828,1138)
|
||||
Tuple 2 in row 35: (1005,"p1",1083,0,0,828,1348)
|
||||
Relevant element: Full ID for 1005: @"(828)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1138: @"(1135)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1005: @"(828)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1348: @"(813)_0;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_0;parameter"
|
||||
[INVALID_KEY] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 36: (1006,"p2",1083,1,0,828,1140)
|
||||
Tuple 2 in row 37: (1006,"p2",1083,1,0,828,1350)
|
||||
Relevant element: Full ID for 1006: @"(828)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1140: @"(1135)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1006: @"(828)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 828: @"(365) (827).M((366) p1,(366) p2);method". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Void;type"} {@"{@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}<{@"{@"(111).System;namespace"}.Int32;type"}>;type"}.M({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1,{@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p2);method"
|
||||
Relevant element: Full ID for 1350: @"(813)_1;parameter". The ID may expand to @"{@"{@"{@"(111).System;namespace"}.Void;type"} {@"{@"(111).Methods;namespace"}.TestCollidingMethods`1;type"}.M({@"{@"(111).System;namespace"}.Int32;type"} p1,{@"{@"(111).System;namespace"}.Int32;type"} p2);method"}_1;parameter"
|
||||
[INVALID_KEY] predicate params(@parameter id, string name, @type_or_ref type_id, int index, int mode, @parameterizable parent_id, @parameter unbound_id): The key set {id} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 6:
|
||||
Tuple 1 in row 42: (1031,"p1",1083,0,0,897,335)
|
||||
Tuple 2 in row 43: (1031,"p1",1083,0,0,897,1146)
|
||||
Relevant element: Full ID for 1031: @"(897)_0;parameter". The ID may expand to @"{@"{@"{@"(294)<(366)>;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 335: @"(332)_0;parameter". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}.Nested;type"}({@"{@"(130).TestCollidingMethods`1;type"}_0;typeparameter"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1031: @"(897)_0;parameter". The ID may expand to @"{@"{@"{@"(294)<(366)>;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
Relevant element: Full ID for 1083: @"(366);typeRef". The ID may expand to @"{@"{@"{@";namespace"}.System;namespace"}.Int32;type"};typeRef"
|
||||
Relevant element: Full ID for 897: @"(830)((366) p1);constructor". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}<{@"(112).Int32;type"}>;type"}.Nested;type"}({@"{@"{@";namespace"}.System;namespace"}.Int32;type"} p1);constructor"
|
||||
Relevant element: Full ID for 1146: @"(1143)_0;parameter". The ID may expand to @"{@"{@"{@"(130).TestCollidingMethods`1;type"}.Nested;type"}({@"{@"(111).System;namespace"}.Int32;type"} p1);constructor"}_0;parameter"
|
||||
@@ -1,12 +1,12 @@
|
||||
| methods.cs:118:44:118:55 | call to method ToInt32 | 0 | methods.cs:118:52:118:54 | "0" |
|
||||
| methods.cs:127:34:127:52 | call to method Slice | 0 | methods.cs:127:34:127:40 | access to local variable strings |
|
||||
| methods.cs:127:34:127:52 | call to method Slice | 1 | methods.cs:127:48:127:48 | 1 |
|
||||
| methods.cs:127:34:127:52 | call to method Slice | 2 | methods.cs:127:51:127:51 | 2 |
|
||||
| methods.cs:129:42:129:52 | call to method ToInt32 | 0 | methods.cs:129:42:129:42 | access to local variable s |
|
||||
| methods.cs:132:13:132:34 | call to method ToInt32 | 0 | methods.cs:132:32:132:33 | "" |
|
||||
| methods.cs:132:13:132:34 | call to method ToInt32 | -1 | methods.cs:132:13:132:22 | access to type Extensions |
|
||||
| methods.cs:134:13:134:49 | call to method ToBool | 0 | methods.cs:134:31:134:36 | "true" |
|
||||
| methods.cs:134:13:134:49 | call to method ToBool | 1 | methods.cs:134:39:134:48 | delegate creation of type Func<String,Boolean> |
|
||||
| methods.cs:134:13:134:49 | call to method ToBool | -1 | methods.cs:134:13:134:22 | access to type Extensions |
|
||||
| methods.cs:180:20:180:39 | call to method SkipTwo | 0 | methods.cs:180:20:180:23 | access to parameter list |
|
||||
| methods.cs:180:20:180:39 | call to method SkipTwo | 1 | methods.cs:180:38:180:38 | access to parameter i |
|
||||
| methods.cs:119:44:119:55 | call to method ToInt32 | 0 | methods.cs:119:52:119:54 | "0" |
|
||||
| methods.cs:128:34:128:52 | call to method Slice | 0 | methods.cs:128:34:128:40 | access to local variable strings |
|
||||
| methods.cs:128:34:128:52 | call to method Slice | 1 | methods.cs:128:48:128:48 | 1 |
|
||||
| methods.cs:128:34:128:52 | call to method Slice | 2 | methods.cs:128:51:128:51 | 2 |
|
||||
| methods.cs:130:42:130:52 | call to method ToInt32 | 0 | methods.cs:130:42:130:42 | access to local variable s |
|
||||
| methods.cs:133:13:133:34 | call to method ToInt32 | 0 | methods.cs:133:32:133:33 | "" |
|
||||
| methods.cs:133:13:133:34 | call to method ToInt32 | -1 | methods.cs:133:13:133:22 | access to type Extensions |
|
||||
| methods.cs:135:13:135:49 | call to method ToBool | 0 | methods.cs:135:31:135:36 | "true" |
|
||||
| methods.cs:135:13:135:49 | call to method ToBool | 1 | methods.cs:135:39:135:48 | delegate creation of type Func<String,Boolean> |
|
||||
| methods.cs:135:13:135:49 | call to method ToBool | -1 | methods.cs:135:13:135:22 | access to type Extensions |
|
||||
| methods.cs:181:20:181:39 | call to method SkipTwo | 0 | methods.cs:181:20:181:23 | access to parameter list |
|
||||
| methods.cs:181:20:181:39 | call to method SkipTwo | 1 | methods.cs:181:38:181:38 | access to parameter i |
|
||||
|
||||
@@ -1 +1 @@
|
||||
| methods.cs:9:21:9:24 | Swap |
|
||||
| methods.cs:10:21:10:24 | Swap |
|
||||
|
||||
@@ -1 +1 @@
|
||||
| methods.cs:28:28:28:33 | Divide |
|
||||
| methods.cs:29:28:29:33 | Divide |
|
||||
|
||||
@@ -1 +1 @@
|
||||
| methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:50:11:50:25 | TestOverloading |
|
||||
|
||||
@@ -1 +1 @@
|
||||
| methods.cs:49:11:49:25 | TestOverloading | methods.cs:57:21:57:21 | F | Object |
|
||||
| methods.cs:50:11:50:25 | TestOverloading | methods.cs:58:21:58:21 | F | Object |
|
||||
|
||||
@@ -1,22 +1,30 @@
|
||||
| methods.cs:16:14:16:17 | Main | methods.cs:9:21:9:24 | Swap | methods.cs:6:18:6:24 | TestRef |
|
||||
| methods.cs:16:14:16:17 | Main | methods.cs:46:28:46:36 | WriteLine | methods.cs:6:18:6:24 | TestRef |
|
||||
| methods.cs:34:14:34:17 | Main | methods.cs:28:28:28:33 | Divide | methods.cs:25:18:25:24 | TestOut |
|
||||
| methods.cs:34:14:34:17 | Main | methods.cs:46:28:46:36 | WriteLine | methods.cs:25:18:25:24 | TestOut |
|
||||
| methods.cs:52:21:52:21 | F | methods.cs:46:28:46:36 | WriteLine | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:57:21:57:21 | F | methods.cs:46:28:46:36 | WriteLine | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:62:21:62:21 | F | methods.cs:46:28:46:36 | WriteLine | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:67:21:67:21 | F | methods.cs:46:28:46:36 | WriteLine | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:72:21:72:24 | F | methods.cs:46:28:46:36 | WriteLine | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:77:21:77:21 | F | methods.cs:46:28:46:36 | WriteLine | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:82:14:82:17 | Main | methods.cs:52:21:52:21 | F | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:82:14:82:17 | Main | methods.cs:57:21:57:21 | F | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:82:14:82:17 | Main | methods.cs:62:21:62:21 | F | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:82:14:82:17 | Main | methods.cs:67:21:67:21 | F | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:82:14:82:17 | Main | methods.cs:72:21:72:24 | F | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:82:14:82:17 | Main | methods.cs:72:21:72:24 | F | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:82:14:82:17 | Main | methods.cs:77:21:77:21 | F | methods.cs:49:11:49:25 | TestOverloading |
|
||||
| methods.cs:118:27:118:37 | CallToInt32 | methods.cs:99:27:99:33 | ToInt32 | methods.cs:96:25:96:34 | Extensions |
|
||||
| methods.cs:124:21:124:24 | Main | methods.cs:99:27:99:33 | ToInt32 | methods.cs:121:18:121:31 | TestExtensions |
|
||||
| methods.cs:124:21:124:24 | Main | methods.cs:104:28:104:33 | ToBool | methods.cs:121:18:121:31 | TestExtensions |
|
||||
| methods.cs:124:21:124:24 | Main | methods.cs:109:27:109:34 | Slice | methods.cs:121:18:121:31 | TestExtensions |
|
||||
| methods.cs:178:67:178:76 | SkipTwoInt | methods.cs:173:65:173:74 | SkipTwo | methods.cs:166:18:166:47 | TestDefaultExtensionParameters |
|
||||
| methods.cs:17:14:17:17 | Main | methods.cs:10:21:10:24 | Swap | methods.cs:7:18:7:24 | TestRef |
|
||||
| methods.cs:17:14:17:17 | Main | methods.cs:47:28:47:36 | WriteLine | methods.cs:7:18:7:24 | TestRef |
|
||||
| methods.cs:35:14:35:17 | Main | methods.cs:29:28:29:33 | Divide | methods.cs:26:18:26:24 | TestOut |
|
||||
| methods.cs:35:14:35:17 | Main | methods.cs:47:28:47:36 | WriteLine | methods.cs:26:18:26:24 | TestOut |
|
||||
| methods.cs:53:21:53:21 | F | methods.cs:47:28:47:36 | WriteLine | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:58:21:58:21 | F | methods.cs:47:28:47:36 | WriteLine | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:63:21:63:21 | F | methods.cs:47:28:47:36 | WriteLine | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:68:21:68:21 | F | methods.cs:47:28:47:36 | WriteLine | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:73:21:73:24 | F | methods.cs:47:28:47:36 | WriteLine | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:78:21:78:21 | F | methods.cs:47:28:47:36 | WriteLine | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:83:14:83:17 | Main | methods.cs:53:21:53:21 | F | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:83:14:83:17 | Main | methods.cs:58:21:58:21 | F | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:83:14:83:17 | Main | methods.cs:63:21:63:21 | F | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:83:14:83:17 | Main | methods.cs:68:21:68:21 | F | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:83:14:83:17 | Main | methods.cs:73:21:73:24 | F | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:83:14:83:17 | Main | methods.cs:73:21:73:24 | F | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:83:14:83:17 | Main | methods.cs:78:21:78:21 | F | methods.cs:50:11:50:25 | TestOverloading |
|
||||
| methods.cs:119:27:119:37 | CallToInt32 | methods.cs:100:27:100:33 | ToInt32 | methods.cs:97:25:97:34 | Extensions |
|
||||
| methods.cs:125:21:125:24 | Main | methods.cs:100:27:100:33 | ToInt32 | methods.cs:122:18:122:31 | TestExtensions |
|
||||
| methods.cs:125:21:125:24 | Main | methods.cs:105:28:105:33 | ToBool | methods.cs:122:18:122:31 | TestExtensions |
|
||||
| methods.cs:125:21:125:24 | Main | methods.cs:110:27:110:34 | Slice | methods.cs:122:18:122:31 | TestExtensions |
|
||||
| methods.cs:179:67:179:76 | SkipTwoInt | methods.cs:174:65:174:74 | SkipTwo | methods.cs:167:18:167:47 | TestDefaultExtensionParameters |
|
||||
| methods.cs:190:21:190:25 | Calls | methods.cs:187:21:187:21 | M | methods.cs:185:18:185:40 | TestCollidingMethods<> |
|
||||
| methods.cs:190:21:190:25 | Calls | methods.cs:187:21:187:21 | M | methods.cs:185:18:185:40 | TestCollidingMethods<> |
|
||||
| methods.cs:190:21:190:25 | Calls | methods.cs:188:21:188:21 | M | methods.cs:185:18:185:40 | TestCollidingMethods<> |
|
||||
| methods.cs:190:21:190:25 | Calls | methods.cs:188:21:188:21 | M | methods.cs:185:18:185:40 | TestCollidingMethods<> |
|
||||
| methods.cs:203:20:203:25 | Nested | methods.cs:202:20:202:25 | Nested | methods.cs:200:22:200:27 | Nested |
|
||||
| methods.cs:203:20:203:25 | Nested | methods.cs:202:20:202:25 | Nested | methods.cs:200:22:200:27 | Nested |
|
||||
| methods.cs:203:20:203:25 | Nested | methods.cs:203:20:203:25 | Nested | methods.cs:200:22:200:27 | Nested |
|
||||
| methods.cs:203:20:203:25 | Nested | methods.cs:203:20:203:25 | Nested | methods.cs:200:22:200:27 | Nested |
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
| methods.cs:9:21:9:24 | Swap | methods.cs:9:34:9:34 | x |
|
||||
| methods.cs:9:21:9:24 | Swap | methods.cs:9:45:9:45 | y |
|
||||
| methods.cs:10:21:10:24 | Swap | methods.cs:10:34:10:34 | x |
|
||||
| methods.cs:10:21:10:24 | Swap | methods.cs:10:45:10:45 | y |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:39:28:39 | x |
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:46:28:46 | y |
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:57:28:62 | result |
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:73:28:81 | remainder |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:39:29:39 | x |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:46:29:46 | y |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:57:29:62 | result |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:73:29:81 | remainder |
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
| methods.cs:45:28:45:32 | Write | Object[] |
|
||||
| methods.cs:45:28:45:32 | Write | String |
|
||||
| methods.cs:46:28:46:32 | Write | Object[] |
|
||||
| methods.cs:46:28:46:32 | Write | String |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
| methods.cs:145:40:145:40 | c | methods.cs:145:44:145:44 | 1 | 1 |
|
||||
| methods.cs:145:51:145:51 | d | methods.cs:145:55:145:55 | 2 | 2 |
|
||||
| methods.cs:145:65:145:65 | e | methods.cs:145:69:145:77 | ... + ... | ab |
|
||||
| methods.cs:153:45:153:45 | x | methods.cs:153:49:153:53 | "abc" | abc |
|
||||
| methods.cs:153:63:153:63 | y | methods.cs:153:67:153:78 | object creation of type Double | 0 |
|
||||
| methods.cs:159:36:159:36 | y | methods.cs:159:40:159:40 | 0 | 0 |
|
||||
| methods.cs:159:36:159:36 | y | methods.cs:159:40:159:40 | 0 | 0 |
|
||||
| methods.cs:146:40:146:40 | c | methods.cs:146:44:146:44 | 1 | 1 |
|
||||
| methods.cs:146:51:146:51 | d | methods.cs:146:55:146:55 | 2 | 2 |
|
||||
| methods.cs:146:65:146:65 | e | methods.cs:146:69:146:77 | ... + ... | ab |
|
||||
| methods.cs:154:45:154:45 | x | methods.cs:154:49:154:53 | "abc" | abc |
|
||||
| methods.cs:154:63:154:63 | y | methods.cs:154:67:154:78 | object creation of type Double | 0 |
|
||||
| methods.cs:160:36:160:36 | y | methods.cs:160:40:160:40 | 0 | 0 |
|
||||
| methods.cs:160:36:160:36 | y | methods.cs:160:40:160:40 | 0 | 0 |
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
| methods.cs:157:40:157:40 | b | methods.cs:157:44:157:45 | 12 | 12 |
|
||||
| methods.cs:157:55:157:55 | c | methods.cs:157:59:157:70 | object creation of type Double | 0 |
|
||||
| methods.cs:158:40:158:40 | b | methods.cs:158:44:158:45 | 12 | 12 |
|
||||
| methods.cs:158:55:158:55 | c | methods.cs:158:59:158:70 | object creation of type Double | 0 |
|
||||
|
||||
@@ -1 +1 @@
|
||||
| methods.cs:162:13:162:15 | value |
|
||||
| methods.cs:163:13:163:15 | value |
|
||||
|
||||
@@ -1,43 +1,59 @@
|
||||
| methods.cs:9:21:9:24 | Swap | methods.cs:9:34:9:34 | x |
|
||||
| methods.cs:9:21:9:24 | Swap | methods.cs:9:45:9:45 | y |
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:39:28:39 | x |
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:46:28:46 | y |
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:57:28:62 | result |
|
||||
| methods.cs:28:28:28:33 | Divide | methods.cs:28:73:28:81 | remainder |
|
||||
| methods.cs:45:28:45:32 | Write | methods.cs:45:41:45:43 | fmt |
|
||||
| methods.cs:45:28:45:32 | Write | methods.cs:45:62:45:65 | args |
|
||||
| methods.cs:46:28:46:36 | WriteLine | methods.cs:46:45:46:47 | fmt |
|
||||
| methods.cs:46:28:46:36 | WriteLine | methods.cs:46:66:46:69 | args |
|
||||
| methods.cs:57:21:57:21 | F | methods.cs:57:30:57:30 | x |
|
||||
| methods.cs:62:21:62:21 | F | methods.cs:62:27:62:27 | x |
|
||||
| methods.cs:67:21:67:21 | F | methods.cs:67:30:67:30 | x |
|
||||
| methods.cs:72:21:72:24 | F | methods.cs:72:28:72:28 | x |
|
||||
| methods.cs:72:21:72:24 | F | methods.cs:72:28:72:28 | x |
|
||||
| methods.cs:72:21:72:24 | F | methods.cs:72:28:72:28 | x |
|
||||
| methods.cs:77:21:77:21 | F | methods.cs:77:30:77:30 | x |
|
||||
| methods.cs:77:21:77:21 | F | methods.cs:77:40:77:40 | y |
|
||||
| methods.cs:99:27:99:33 | ToInt32 | methods.cs:99:35:99:47 | s |
|
||||
| methods.cs:99:27:99:33 | ToInt32 | methods.cs:99:47:99:47 | s |
|
||||
| methods.cs:104:28:104:33 | ToBool | methods.cs:104:47:104:47 | s |
|
||||
| methods.cs:104:28:104:33 | ToBool | methods.cs:104:69:104:69 | f |
|
||||
| methods.cs:109:27:109:34 | Slice | methods.cs:109:36:109:50 | source |
|
||||
| methods.cs:109:27:109:34 | Slice | methods.cs:109:45:109:50 | source |
|
||||
| methods.cs:109:27:109:34 | Slice | methods.cs:109:57:109:61 | index |
|
||||
| methods.cs:109:27:109:34 | Slice | methods.cs:109:57:109:61 | index |
|
||||
| methods.cs:109:27:109:34 | Slice | methods.cs:109:68:109:72 | count |
|
||||
| methods.cs:109:27:109:34 | Slice | methods.cs:109:68:109:72 | count |
|
||||
| methods.cs:141:14:141:20 | Method1 | methods.cs:141:26:141:26 | x |
|
||||
| methods.cs:141:14:141:20 | Method1 | methods.cs:141:33:141:33 | y |
|
||||
| methods.cs:145:14:145:20 | Method2 | methods.cs:145:26:145:26 | a |
|
||||
| methods.cs:145:14:145:20 | Method2 | methods.cs:145:33:145:33 | b |
|
||||
| methods.cs:145:14:145:20 | Method2 | methods.cs:145:40:145:40 | c |
|
||||
| methods.cs:145:14:145:20 | Method2 | methods.cs:145:51:145:51 | d |
|
||||
| methods.cs:145:14:145:20 | Method2 | methods.cs:145:65:145:65 | e |
|
||||
| methods.cs:168:27:168:30 | Plus | methods.cs:168:41:168:44 | left |
|
||||
| methods.cs:168:27:168:30 | Plus | methods.cs:168:51:168:55 | right |
|
||||
| methods.cs:173:65:173:74 | SkipTwo | methods.cs:173:76:173:126 | list |
|
||||
| methods.cs:173:65:173:74 | SkipTwo | methods.cs:173:123:173:126 | list |
|
||||
| methods.cs:173:65:173:74 | SkipTwo | methods.cs:173:133:173:133 | i |
|
||||
| methods.cs:173:65:173:74 | SkipTwo | methods.cs:173:133:173:133 | i |
|
||||
| methods.cs:178:67:178:76 | SkipTwoInt | methods.cs:178:127:178:130 | list |
|
||||
| methods.cs:178:67:178:76 | SkipTwoInt | methods.cs:178:137:178:137 | i |
|
||||
| methods.cs:10:21:10:24 | Swap | methods.cs:10:34:10:34 | x |
|
||||
| methods.cs:10:21:10:24 | Swap | methods.cs:10:45:10:45 | y |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:39:29:39 | x |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:46:29:46 | y |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:57:29:62 | result |
|
||||
| methods.cs:29:28:29:33 | Divide | methods.cs:29:73:29:81 | remainder |
|
||||
| methods.cs:46:28:46:32 | Write | methods.cs:46:41:46:43 | fmt |
|
||||
| methods.cs:46:28:46:32 | Write | methods.cs:46:62:46:65 | args |
|
||||
| methods.cs:47:28:47:36 | WriteLine | methods.cs:47:45:47:47 | fmt |
|
||||
| methods.cs:47:28:47:36 | WriteLine | methods.cs:47:66:47:69 | args |
|
||||
| methods.cs:58:21:58:21 | F | methods.cs:58:30:58:30 | x |
|
||||
| methods.cs:63:21:63:21 | F | methods.cs:63:27:63:27 | x |
|
||||
| methods.cs:68:21:68:21 | F | methods.cs:68:30:68:30 | x |
|
||||
| methods.cs:73:21:73:24 | F | methods.cs:73:28:73:28 | x |
|
||||
| methods.cs:73:21:73:24 | F | methods.cs:73:28:73:28 | x |
|
||||
| methods.cs:73:21:73:24 | F | methods.cs:73:28:73:28 | x |
|
||||
| methods.cs:78:21:78:21 | F | methods.cs:78:30:78:30 | x |
|
||||
| methods.cs:78:21:78:21 | F | methods.cs:78:40:78:40 | y |
|
||||
| methods.cs:100:27:100:33 | ToInt32 | methods.cs:100:35:100:47 | s |
|
||||
| methods.cs:100:27:100:33 | ToInt32 | methods.cs:100:47:100:47 | s |
|
||||
| methods.cs:105:28:105:33 | ToBool | methods.cs:105:47:105:47 | s |
|
||||
| methods.cs:105:28:105:33 | ToBool | methods.cs:105:69:105:69 | f |
|
||||
| methods.cs:110:27:110:34 | Slice | methods.cs:110:36:110:50 | source |
|
||||
| methods.cs:110:27:110:34 | Slice | methods.cs:110:45:110:50 | source |
|
||||
| methods.cs:110:27:110:34 | Slice | methods.cs:110:57:110:61 | index |
|
||||
| methods.cs:110:27:110:34 | Slice | methods.cs:110:57:110:61 | index |
|
||||
| methods.cs:110:27:110:34 | Slice | methods.cs:110:68:110:72 | count |
|
||||
| methods.cs:110:27:110:34 | Slice | methods.cs:110:68:110:72 | count |
|
||||
| methods.cs:142:14:142:20 | Method1 | methods.cs:142:26:142:26 | x |
|
||||
| methods.cs:142:14:142:20 | Method1 | methods.cs:142:33:142:33 | y |
|
||||
| methods.cs:146:14:146:20 | Method2 | methods.cs:146:26:146:26 | a |
|
||||
| methods.cs:146:14:146:20 | Method2 | methods.cs:146:33:146:33 | b |
|
||||
| methods.cs:146:14:146:20 | Method2 | methods.cs:146:40:146:40 | c |
|
||||
| methods.cs:146:14:146:20 | Method2 | methods.cs:146:51:146:51 | d |
|
||||
| methods.cs:146:14:146:20 | Method2 | methods.cs:146:65:146:65 | e |
|
||||
| methods.cs:169:27:169:30 | Plus | methods.cs:169:41:169:44 | left |
|
||||
| methods.cs:169:27:169:30 | Plus | methods.cs:169:51:169:55 | right |
|
||||
| methods.cs:174:65:174:74 | SkipTwo | methods.cs:174:76:174:126 | list |
|
||||
| methods.cs:174:65:174:74 | SkipTwo | methods.cs:174:123:174:126 | list |
|
||||
| methods.cs:174:65:174:74 | SkipTwo | methods.cs:174:133:174:133 | i |
|
||||
| methods.cs:174:65:174:74 | SkipTwo | methods.cs:174:133:174:133 | i |
|
||||
| methods.cs:179:67:179:76 | SkipTwoInt | methods.cs:179:127:179:130 | list |
|
||||
| methods.cs:179:67:179:76 | SkipTwoInt | methods.cs:179:137:179:137 | i |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:187:25:187:26 | p1 |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:187:25:187:26 | p1 |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:187:25:187:26 | p1 |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:187:33:187:34 | p2 |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:187:33:187:34 | p2 |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:187:33:187:34 | p2 |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:188:27:188:28 | p1 |
|
||||
| methods.cs:187:21:187:21 | M | methods.cs:188:35:188:36 | p2 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:187:25:187:26 | p1 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:187:33:187:34 | p2 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:188:27:188:28 | p1 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:188:27:188:28 | p1 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:188:27:188:28 | p1 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:188:35:188:36 | p2 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:188:35:188:36 | p2 |
|
||||
| methods.cs:188:21:188:21 | M | methods.cs:188:35:188:36 | p2 |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
| methods.cs:145:40:145:40 | c | methods.cs:145:44:145:44 | 1 | Method2(int, int, int, int, string) |
|
||||
| methods.cs:145:51:145:51 | d | methods.cs:145:55:145:55 | 2 | Method2(int, int, int, int, string) |
|
||||
| methods.cs:145:65:145:65 | e | methods.cs:145:69:145:77 | ... + ... | Method2(int, int, int, int, string) |
|
||||
| methods.cs:168:51:168:55 | right | methods.cs:168:59:168:59 | 0 | Plus(int, int) |
|
||||
| methods.cs:173:133:173:133 | i | methods.cs:173:137:173:137 | 1 | SkipTwo<T>(IEnumerable<T>, int) |
|
||||
| methods.cs:173:133:173:133 | i | methods.cs:173:137:173:137 | 1 | SkipTwo<int>(IEnumerable<Int32>, int) |
|
||||
| methods.cs:178:137:178:137 | i | methods.cs:178:141:178:141 | 1 | SkipTwoInt(IEnumerable<Int32>, int) |
|
||||
| methods.cs:146:40:146:40 | c | methods.cs:146:44:146:44 | 1 | Method2(int, int, int, int, string) |
|
||||
| methods.cs:146:51:146:51 | d | methods.cs:146:55:146:55 | 2 | Method2(int, int, int, int, string) |
|
||||
| methods.cs:146:65:146:65 | e | methods.cs:146:69:146:77 | ... + ... | Method2(int, int, int, int, string) |
|
||||
| methods.cs:169:51:169:55 | right | methods.cs:169:59:169:59 | 0 | Plus(int, int) |
|
||||
| methods.cs:174:133:174:133 | i | methods.cs:174:137:174:137 | 1 | SkipTwo<T>(IEnumerable<T>, int) |
|
||||
| methods.cs:174:133:174:133 | i | methods.cs:174:137:174:137 | 1 | SkipTwo<int>(IEnumerable<Int32>, int) |
|
||||
| methods.cs:179:137:179:137 | i | methods.cs:179:141:179:141 | 1 | SkipTwoInt(IEnumerable<Int32>, int) |
|
||||
|
||||
@@ -1,53 +1,44 @@
|
||||
methods.cs:
|
||||
# 3| [NamespaceDeclaration] namespace ... { ... }
|
||||
# 6| 1: [Class] TestRef
|
||||
# 9| 5: [Method] Swap
|
||||
# 9| -1: [TypeMention] Void
|
||||
# 4| [NamespaceDeclaration] namespace ... { ... }
|
||||
# 7| 1: [Class] TestRef
|
||||
# 10| 5: [Method] Swap
|
||||
# 10| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 9| 0: [Parameter] x
|
||||
# 9| -1: [TypeMention] int
|
||||
# 9| 1: [Parameter] y
|
||||
# 9| -1: [TypeMention] int
|
||||
# 10| 4: [BlockStmt] {...}
|
||||
# 11| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 11| 0: [LocalVariableDeclAndInitExpr] Int32 temp = ...
|
||||
# 11| -1: [TypeMention] int
|
||||
# 11| 0: [LocalVariableAccess] access to local variable temp
|
||||
# 11| 1: [ParameterAccess] access to parameter x
|
||||
# 12| 1: [ExprStmt] ...;
|
||||
# 12| 0: [AssignExpr] ... = ...
|
||||
# 12| 0: [ParameterAccess] access to parameter x
|
||||
# 12| 1: [ParameterAccess] access to parameter y
|
||||
# 13| 2: [ExprStmt] ...;
|
||||
# 10| 0: [Parameter] x
|
||||
# 10| -1: [TypeMention] int
|
||||
# 10| 1: [Parameter] y
|
||||
# 10| -1: [TypeMention] int
|
||||
# 11| 4: [BlockStmt] {...}
|
||||
# 12| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 12| 0: [LocalVariableDeclAndInitExpr] Int32 temp = ...
|
||||
# 12| -1: [TypeMention] int
|
||||
# 12| 0: [LocalVariableAccess] access to local variable temp
|
||||
# 12| 1: [ParameterAccess] access to parameter x
|
||||
# 13| 1: [ExprStmt] ...;
|
||||
# 13| 0: [AssignExpr] ... = ...
|
||||
# 13| 0: [ParameterAccess] access to parameter y
|
||||
# 13| 1: [LocalVariableAccess] access to local variable temp
|
||||
# 16| 6: [Method] Main
|
||||
# 16| -1: [TypeMention] Void
|
||||
# 17| 4: [BlockStmt] {...}
|
||||
# 18| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 18| 0: [LocalVariableDeclAndInitExpr] Int32 i = ...
|
||||
# 18| -1: [TypeMention] int
|
||||
# 18| 0: [LocalVariableAccess] access to local variable i
|
||||
# 18| 1: [IntLiteral] 1
|
||||
# 18| 1: [LocalVariableDeclAndInitExpr] Int32 j = ...
|
||||
# 18| -1: [TypeMention] int
|
||||
# 18| 0: [LocalVariableAccess] access to local variable j
|
||||
# 18| 1: [IntLiteral] 2
|
||||
# 19| 1: [ExprStmt] ...;
|
||||
# 19| 0: [MethodCall] call to method Swap
|
||||
# 13| 0: [ParameterAccess] access to parameter x
|
||||
# 13| 1: [ParameterAccess] access to parameter y
|
||||
# 14| 2: [ExprStmt] ...;
|
||||
# 14| 0: [AssignExpr] ... = ...
|
||||
# 14| 0: [ParameterAccess] access to parameter y
|
||||
# 14| 1: [LocalVariableAccess] access to local variable temp
|
||||
# 17| 6: [Method] Main
|
||||
# 17| -1: [TypeMention] Void
|
||||
# 18| 4: [BlockStmt] {...}
|
||||
# 19| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 19| 0: [LocalVariableDeclAndInitExpr] Int32 i = ...
|
||||
# 19| -1: [TypeMention] int
|
||||
# 19| 0: [LocalVariableAccess] access to local variable i
|
||||
# 19| 1: [LocalVariableAccess] access to local variable j
|
||||
# 20| 2: [ExprStmt] ...;
|
||||
# 20| 0: [MethodCall] call to method WriteLine
|
||||
# 20| -1: [TypeAccess] access to type Console
|
||||
# 20| 0: [TypeMention] Console
|
||||
# 20| 0: [StringLiteral] "{0} {1}"
|
||||
# 20| 1: [CastExpr] (...) ...
|
||||
# 20| 1: [LocalVariableAccess] access to local variable i
|
||||
# 20| 2: [CastExpr] (...) ...
|
||||
# 20| 1: [LocalVariableAccess] access to local variable j
|
||||
# 21| 3: [ExprStmt] ...;
|
||||
# 19| 1: [IntLiteral] 1
|
||||
# 19| 1: [LocalVariableDeclAndInitExpr] Int32 j = ...
|
||||
# 19| -1: [TypeMention] int
|
||||
# 19| 0: [LocalVariableAccess] access to local variable j
|
||||
# 19| 1: [IntLiteral] 2
|
||||
# 20| 1: [ExprStmt] ...;
|
||||
# 20| 0: [MethodCall] call to method Swap
|
||||
# 20| 0: [LocalVariableAccess] access to local variable i
|
||||
# 20| 1: [LocalVariableAccess] access to local variable j
|
||||
# 21| 2: [ExprStmt] ...;
|
||||
# 21| 0: [MethodCall] call to method WriteLine
|
||||
# 21| -1: [TypeAccess] access to type Console
|
||||
# 21| 0: [TypeMention] Console
|
||||
@@ -56,65 +47,65 @@ methods.cs:
|
||||
# 21| 1: [LocalVariableAccess] access to local variable i
|
||||
# 21| 2: [CastExpr] (...) ...
|
||||
# 21| 1: [LocalVariableAccess] access to local variable j
|
||||
# 25| 2: [Class] TestOut
|
||||
# 28| 5: [Method] Divide
|
||||
# 28| -1: [TypeMention] Void
|
||||
# 22| 3: [ExprStmt] ...;
|
||||
# 22| 0: [MethodCall] call to method WriteLine
|
||||
# 22| -1: [TypeAccess] access to type Console
|
||||
# 22| 0: [TypeMention] Console
|
||||
# 22| 0: [StringLiteral] "{0} {1}"
|
||||
# 22| 1: [CastExpr] (...) ...
|
||||
# 22| 1: [LocalVariableAccess] access to local variable i
|
||||
# 22| 2: [CastExpr] (...) ...
|
||||
# 22| 1: [LocalVariableAccess] access to local variable j
|
||||
# 26| 2: [Class] TestOut
|
||||
# 29| 5: [Method] Divide
|
||||
# 29| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 28| 0: [Parameter] x
|
||||
# 28| -1: [TypeMention] int
|
||||
# 28| 1: [Parameter] y
|
||||
# 28| -1: [TypeMention] int
|
||||
# 28| 2: [Parameter] result
|
||||
# 28| -1: [TypeMention] int
|
||||
# 28| 3: [Parameter] remainder
|
||||
# 28| -1: [TypeMention] int
|
||||
# 29| 4: [BlockStmt] {...}
|
||||
# 30| 0: [ExprStmt] ...;
|
||||
# 30| 0: [AssignExpr] ... = ...
|
||||
# 30| 0: [ParameterAccess] access to parameter result
|
||||
# 30| 1: [DivExpr] ... / ...
|
||||
# 30| 0: [ParameterAccess] access to parameter x
|
||||
# 30| 1: [ParameterAccess] access to parameter y
|
||||
# 31| 1: [ExprStmt] ...;
|
||||
# 29| 0: [Parameter] x
|
||||
# 29| -1: [TypeMention] int
|
||||
# 29| 1: [Parameter] y
|
||||
# 29| -1: [TypeMention] int
|
||||
# 29| 2: [Parameter] result
|
||||
# 29| -1: [TypeMention] int
|
||||
# 29| 3: [Parameter] remainder
|
||||
# 29| -1: [TypeMention] int
|
||||
# 30| 4: [BlockStmt] {...}
|
||||
# 31| 0: [ExprStmt] ...;
|
||||
# 31| 0: [AssignExpr] ... = ...
|
||||
# 31| 0: [ParameterAccess] access to parameter remainder
|
||||
# 31| 1: [RemExpr] ... % ...
|
||||
# 31| 0: [ParameterAccess] access to parameter result
|
||||
# 31| 1: [DivExpr] ... / ...
|
||||
# 31| 0: [ParameterAccess] access to parameter x
|
||||
# 31| 1: [ParameterAccess] access to parameter y
|
||||
# 34| 6: [Method] Main
|
||||
# 34| -1: [TypeMention] Void
|
||||
# 35| 4: [BlockStmt] {...}
|
||||
# 36| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 36| 0: [LocalVariableDeclExpr] Int32 res
|
||||
# 36| 0: [TypeMention] int
|
||||
# 36| 1: [LocalVariableDeclExpr] Int32 rem
|
||||
# 36| 0: [TypeMention] int
|
||||
# 37| 1: [ExprStmt] ...;
|
||||
# 37| 0: [MethodCall] call to method Divide
|
||||
# 37| 0: [IntLiteral] 10
|
||||
# 37| 1: [IntLiteral] 3
|
||||
# 37| 2: [LocalVariableAccess] access to local variable res
|
||||
# 37| 3: [LocalVariableAccess] access to local variable rem
|
||||
# 38| 2: [ExprStmt] ...;
|
||||
# 38| 0: [MethodCall] call to method WriteLine
|
||||
# 38| -1: [TypeAccess] access to type Console
|
||||
# 38| 0: [TypeMention] Console
|
||||
# 38| 0: [StringLiteral] "{0} {1}"
|
||||
# 38| 1: [CastExpr] (...) ...
|
||||
# 38| 1: [LocalVariableAccess] access to local variable res
|
||||
# 38| 2: [CastExpr] (...) ...
|
||||
# 38| 1: [LocalVariableAccess] access to local variable rem
|
||||
# 42| 3: [Class] Console
|
||||
# 45| 5: [Method] Write
|
||||
# 45| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 45| 0: [Parameter] fmt
|
||||
# 45| -1: [TypeMention] string
|
||||
# 45| 1: [Parameter] args
|
||||
# 45| -1: [TypeMention] Object[]
|
||||
# 45| 1: [TypeMention] object
|
||||
# 45| 4: [BlockStmt] {...}
|
||||
# 46| 6: [Method] WriteLine
|
||||
# 32| 1: [ExprStmt] ...;
|
||||
# 32| 0: [AssignExpr] ... = ...
|
||||
# 32| 0: [ParameterAccess] access to parameter remainder
|
||||
# 32| 1: [RemExpr] ... % ...
|
||||
# 32| 0: [ParameterAccess] access to parameter x
|
||||
# 32| 1: [ParameterAccess] access to parameter y
|
||||
# 35| 6: [Method] Main
|
||||
# 35| -1: [TypeMention] Void
|
||||
# 36| 4: [BlockStmt] {...}
|
||||
# 37| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 37| 0: [LocalVariableDeclExpr] Int32 res
|
||||
# 37| 0: [TypeMention] int
|
||||
# 37| 1: [LocalVariableDeclExpr] Int32 rem
|
||||
# 37| 0: [TypeMention] int
|
||||
# 38| 1: [ExprStmt] ...;
|
||||
# 38| 0: [MethodCall] call to method Divide
|
||||
# 38| 0: [IntLiteral] 10
|
||||
# 38| 1: [IntLiteral] 3
|
||||
# 38| 2: [LocalVariableAccess] access to local variable res
|
||||
# 38| 3: [LocalVariableAccess] access to local variable rem
|
||||
# 39| 2: [ExprStmt] ...;
|
||||
# 39| 0: [MethodCall] call to method WriteLine
|
||||
# 39| -1: [TypeAccess] access to type Console
|
||||
# 39| 0: [TypeMention] Console
|
||||
# 39| 0: [StringLiteral] "{0} {1}"
|
||||
# 39| 1: [CastExpr] (...) ...
|
||||
# 39| 1: [LocalVariableAccess] access to local variable res
|
||||
# 39| 2: [CastExpr] (...) ...
|
||||
# 39| 1: [LocalVariableAccess] access to local variable rem
|
||||
# 43| 3: [Class] Console
|
||||
# 46| 5: [Method] Write
|
||||
# 46| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 46| 0: [Parameter] fmt
|
||||
@@ -123,354 +114,452 @@ methods.cs:
|
||||
# 46| -1: [TypeMention] Object[]
|
||||
# 46| 1: [TypeMention] object
|
||||
# 46| 4: [BlockStmt] {...}
|
||||
# 49| 4: [Class] TestOverloading
|
||||
# 52| 5: [Method] F
|
||||
# 52| -1: [TypeMention] Void
|
||||
# 53| 4: [BlockStmt] {...}
|
||||
# 54| 0: [ExprStmt] ...;
|
||||
# 54| 0: [MethodCall] call to method WriteLine
|
||||
# 54| -1: [TypeAccess] access to type Console
|
||||
# 54| 0: [TypeMention] Console
|
||||
# 54| 0: [StringLiteral] "F()"
|
||||
# 57| 6: [Method] F
|
||||
# 57| -1: [TypeMention] Void
|
||||
# 47| 6: [Method] WriteLine
|
||||
# 47| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 57| 0: [Parameter] x
|
||||
# 57| -1: [TypeMention] object
|
||||
# 58| 4: [BlockStmt] {...}
|
||||
# 59| 0: [ExprStmt] ...;
|
||||
# 59| 0: [MethodCall] call to method WriteLine
|
||||
# 59| -1: [TypeAccess] access to type Console
|
||||
# 59| 0: [TypeMention] Console
|
||||
# 59| 0: [StringLiteral] "F(object)"
|
||||
# 62| 7: [Method] F
|
||||
# 62| -1: [TypeMention] Void
|
||||
# 47| 0: [Parameter] fmt
|
||||
# 47| -1: [TypeMention] string
|
||||
# 47| 1: [Parameter] args
|
||||
# 47| -1: [TypeMention] Object[]
|
||||
# 47| 1: [TypeMention] object
|
||||
# 47| 4: [BlockStmt] {...}
|
||||
# 50| 4: [Class] TestOverloading
|
||||
# 53| 5: [Method] F
|
||||
# 53| -1: [TypeMention] Void
|
||||
# 54| 4: [BlockStmt] {...}
|
||||
# 55| 0: [ExprStmt] ...;
|
||||
# 55| 0: [MethodCall] call to method WriteLine
|
||||
# 55| -1: [TypeAccess] access to type Console
|
||||
# 55| 0: [TypeMention] Console
|
||||
# 55| 0: [StringLiteral] "F()"
|
||||
# 58| 6: [Method] F
|
||||
# 58| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 62| 0: [Parameter] x
|
||||
# 62| -1: [TypeMention] int
|
||||
# 63| 4: [BlockStmt] {...}
|
||||
# 64| 0: [ExprStmt] ...;
|
||||
# 64| 0: [MethodCall] call to method WriteLine
|
||||
# 64| -1: [TypeAccess] access to type Console
|
||||
# 64| 0: [TypeMention] Console
|
||||
# 64| 0: [StringLiteral] "F(int)"
|
||||
# 67| 8: [Method] F
|
||||
# 67| -1: [TypeMention] Void
|
||||
# 58| 0: [Parameter] x
|
||||
# 58| -1: [TypeMention] object
|
||||
# 59| 4: [BlockStmt] {...}
|
||||
# 60| 0: [ExprStmt] ...;
|
||||
# 60| 0: [MethodCall] call to method WriteLine
|
||||
# 60| -1: [TypeAccess] access to type Console
|
||||
# 60| 0: [TypeMention] Console
|
||||
# 60| 0: [StringLiteral] "F(object)"
|
||||
# 63| 7: [Method] F
|
||||
# 63| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 67| 0: [Parameter] x
|
||||
# 67| -1: [TypeMention] double
|
||||
# 68| 4: [BlockStmt] {...}
|
||||
# 69| 0: [ExprStmt] ...;
|
||||
# 69| 0: [MethodCall] call to method WriteLine
|
||||
# 69| -1: [TypeAccess] access to type Console
|
||||
# 69| 0: [TypeMention] Console
|
||||
# 69| 0: [StringLiteral] "F(double)"
|
||||
# 72| 9: [Method] F
|
||||
# 72| -1: [TypeMention] Void
|
||||
# 63| 0: [Parameter] x
|
||||
# 63| -1: [TypeMention] int
|
||||
# 64| 4: [BlockStmt] {...}
|
||||
# 65| 0: [ExprStmt] ...;
|
||||
# 65| 0: [MethodCall] call to method WriteLine
|
||||
# 65| -1: [TypeAccess] access to type Console
|
||||
# 65| 0: [TypeMention] Console
|
||||
# 65| 0: [StringLiteral] "F(int)"
|
||||
# 68| 8: [Method] F
|
||||
# 68| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 68| 0: [Parameter] x
|
||||
# 68| -1: [TypeMention] double
|
||||
# 69| 4: [BlockStmt] {...}
|
||||
# 70| 0: [ExprStmt] ...;
|
||||
# 70| 0: [MethodCall] call to method WriteLine
|
||||
# 70| -1: [TypeAccess] access to type Console
|
||||
# 70| 0: [TypeMention] Console
|
||||
# 70| 0: [StringLiteral] "F(double)"
|
||||
# 73| 9: [Method] F
|
||||
# 73| -1: [TypeMention] Void
|
||||
#-----| 1: (Type parameters)
|
||||
# 72| 0: [TypeParameter] T
|
||||
# 73| 0: [TypeParameter] T
|
||||
#-----| 2: (Parameters)
|
||||
# 72| 0: [Parameter] x
|
||||
# 72| -1: [TypeMention] T
|
||||
# 73| 4: [BlockStmt] {...}
|
||||
# 74| 0: [ExprStmt] ...;
|
||||
# 74| 0: [MethodCall] call to method WriteLine
|
||||
# 74| -1: [TypeAccess] access to type Console
|
||||
# 74| 0: [TypeMention] Console
|
||||
# 74| 0: [StringLiteral] "F<T>(T)"
|
||||
# 77| 12: [Method] F
|
||||
# 77| -1: [TypeMention] Void
|
||||
# 73| 0: [Parameter] x
|
||||
# 73| -1: [TypeMention] T
|
||||
# 74| 4: [BlockStmt] {...}
|
||||
# 75| 0: [ExprStmt] ...;
|
||||
# 75| 0: [MethodCall] call to method WriteLine
|
||||
# 75| -1: [TypeAccess] access to type Console
|
||||
# 75| 0: [TypeMention] Console
|
||||
# 75| 0: [StringLiteral] "F<T>(T)"
|
||||
# 78| 12: [Method] F
|
||||
# 78| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 77| 0: [Parameter] x
|
||||
# 77| -1: [TypeMention] double
|
||||
# 77| 1: [Parameter] y
|
||||
# 77| -1: [TypeMention] double
|
||||
# 78| 4: [BlockStmt] {...}
|
||||
# 79| 0: [ExprStmt] ...;
|
||||
# 79| 0: [MethodCall] call to method WriteLine
|
||||
# 79| -1: [TypeAccess] access to type Console
|
||||
# 79| 0: [TypeMention] Console
|
||||
# 79| 0: [StringLiteral] "F(double, double)"
|
||||
# 82| 13: [Method] Main
|
||||
# 82| -1: [TypeMention] Void
|
||||
# 83| 4: [BlockStmt] {...}
|
||||
# 84| 0: [ExprStmt] ...;
|
||||
# 84| 0: [MethodCall] call to method F
|
||||
# 85| 1: [ExprStmt] ...;
|
||||
# 78| 0: [Parameter] x
|
||||
# 78| -1: [TypeMention] double
|
||||
# 78| 1: [Parameter] y
|
||||
# 78| -1: [TypeMention] double
|
||||
# 79| 4: [BlockStmt] {...}
|
||||
# 80| 0: [ExprStmt] ...;
|
||||
# 80| 0: [MethodCall] call to method WriteLine
|
||||
# 80| -1: [TypeAccess] access to type Console
|
||||
# 80| 0: [TypeMention] Console
|
||||
# 80| 0: [StringLiteral] "F(double, double)"
|
||||
# 83| 13: [Method] Main
|
||||
# 83| -1: [TypeMention] Void
|
||||
# 84| 4: [BlockStmt] {...}
|
||||
# 85| 0: [ExprStmt] ...;
|
||||
# 85| 0: [MethodCall] call to method F
|
||||
# 85| 0: [IntLiteral] 1
|
||||
# 86| 2: [ExprStmt] ...;
|
||||
# 86| 1: [ExprStmt] ...;
|
||||
# 86| 0: [MethodCall] call to method F
|
||||
# 86| 0: [DoubleLiteral] 1
|
||||
# 87| 3: [ExprStmt] ...;
|
||||
# 86| 0: [IntLiteral] 1
|
||||
# 87| 2: [ExprStmt] ...;
|
||||
# 87| 0: [MethodCall] call to method F
|
||||
# 87| 0: [StringLiteral] "abc"
|
||||
# 88| 4: [ExprStmt] ...;
|
||||
# 87| 0: [DoubleLiteral] 1
|
||||
# 88| 3: [ExprStmt] ...;
|
||||
# 88| 0: [MethodCall] call to method F
|
||||
# 88| 0: [CastExpr] (...) ...
|
||||
# 88| 0: [TypeAccess] access to type Double
|
||||
# 88| 0: [TypeMention] double
|
||||
# 88| 1: [IntLiteral] 1
|
||||
# 89| 5: [ExprStmt] ...;
|
||||
# 88| 0: [StringLiteral] "abc"
|
||||
# 89| 4: [ExprStmt] ...;
|
||||
# 89| 0: [MethodCall] call to method F
|
||||
# 89| 0: [CastExpr] (...) ...
|
||||
# 89| 0: [TypeAccess] access to type Object
|
||||
# 89| 0: [TypeMention] object
|
||||
# 89| 0: [TypeAccess] access to type Double
|
||||
# 89| 0: [TypeMention] double
|
||||
# 89| 1: [IntLiteral] 1
|
||||
# 90| 6: [ExprStmt] ...;
|
||||
# 90| 5: [ExprStmt] ...;
|
||||
# 90| 0: [MethodCall] call to method F
|
||||
# 90| 0: [IntLiteral] 1
|
||||
# 91| 7: [ExprStmt] ...;
|
||||
# 90| 0: [CastExpr] (...) ...
|
||||
# 90| 0: [TypeAccess] access to type Object
|
||||
# 90| 0: [TypeMention] object
|
||||
# 90| 1: [IntLiteral] 1
|
||||
# 91| 6: [ExprStmt] ...;
|
||||
# 91| 0: [MethodCall] call to method F
|
||||
# 91| 0: [CastExpr] (...) ...
|
||||
# 91| 1: [IntLiteral] 1
|
||||
# 91| 1: [CastExpr] (...) ...
|
||||
# 91| 1: [IntLiteral] 1
|
||||
# 96| 5: [Class] Extensions
|
||||
# 99| 4: [ExtensionMethod] ToInt32
|
||||
# 99| -1: [TypeMention] int
|
||||
# 91| 0: [IntLiteral] 1
|
||||
# 92| 7: [ExprStmt] ...;
|
||||
# 92| 0: [MethodCall] call to method F
|
||||
# 92| 0: [CastExpr] (...) ...
|
||||
# 92| 1: [IntLiteral] 1
|
||||
# 92| 1: [CastExpr] (...) ...
|
||||
# 92| 1: [IntLiteral] 1
|
||||
# 97| 5: [Class] Extensions
|
||||
# 100| 4: [ExtensionMethod] ToInt32
|
||||
# 100| -1: [TypeMention] int
|
||||
#-----| 2: (Parameters)
|
||||
# 99| 0: [Parameter] s
|
||||
# 99| -1: [TypeMention] string
|
||||
# 100| 4: [BlockStmt] {...}
|
||||
# 101| 0: [ReturnStmt] return ...;
|
||||
# 101| 0: [MethodCall] call to method Parse
|
||||
# 101| -1: [TypeAccess] access to type Int32
|
||||
# 101| 0: [TypeMention] int
|
||||
# 101| 0: [ParameterAccess] access to parameter s
|
||||
# 104| 5: [ExtensionMethod] ToBool
|
||||
# 104| -1: [TypeMention] bool
|
||||
# 100| 0: [Parameter] s
|
||||
# 100| -1: [TypeMention] string
|
||||
# 101| 4: [BlockStmt] {...}
|
||||
# 102| 0: [ReturnStmt] return ...;
|
||||
# 102| 0: [MethodCall] call to method Parse
|
||||
# 102| -1: [TypeAccess] access to type Int32
|
||||
# 102| 0: [TypeMention] int
|
||||
# 102| 0: [ParameterAccess] access to parameter s
|
||||
# 105| 5: [ExtensionMethod] ToBool
|
||||
# 105| -1: [TypeMention] bool
|
||||
#-----| 2: (Parameters)
|
||||
# 104| 0: [Parameter] s
|
||||
# 104| -1: [TypeMention] string
|
||||
# 104| 1: [Parameter] f
|
||||
# 104| -1: [TypeMention] Func<String, Boolean>
|
||||
# 104| 1: [TypeMention] string
|
||||
# 104| 2: [TypeMention] bool
|
||||
# 105| 4: [BlockStmt] {...}
|
||||
# 106| 0: [ReturnStmt] return ...;
|
||||
# 106| 0: [DelegateCall] delegate call
|
||||
# 106| -1: [ParameterAccess] access to parameter f
|
||||
# 106| 0: [ParameterAccess] access to parameter s
|
||||
# 109| 6: [ExtensionMethod] Slice
|
||||
# 109| -1: [TypeMention] T[]
|
||||
# 109| 1: [TypeMention] T
|
||||
# 105| 0: [Parameter] s
|
||||
# 105| -1: [TypeMention] string
|
||||
# 105| 1: [Parameter] f
|
||||
# 105| -1: [TypeMention] Func<String, Boolean>
|
||||
# 105| 1: [TypeMention] string
|
||||
# 105| 2: [TypeMention] bool
|
||||
# 106| 4: [BlockStmt] {...}
|
||||
# 107| 0: [ReturnStmt] return ...;
|
||||
# 107| 0: [DelegateCall] delegate call
|
||||
# 107| -1: [ParameterAccess] access to parameter f
|
||||
# 107| 0: [ParameterAccess] access to parameter s
|
||||
# 110| 6: [ExtensionMethod] Slice
|
||||
# 110| -1: [TypeMention] T[]
|
||||
# 110| 1: [TypeMention] T
|
||||
#-----| 1: (Type parameters)
|
||||
# 109| 0: [TypeParameter] T
|
||||
# 110| 0: [TypeParameter] T
|
||||
#-----| 2: (Parameters)
|
||||
# 109| 0: [Parameter] source
|
||||
# 109| -1: [TypeMention] T[]
|
||||
# 109| 1: [TypeMention] T
|
||||
# 109| 1: [Parameter] index
|
||||
# 109| -1: [TypeMention] int
|
||||
# 109| 2: [Parameter] count
|
||||
# 109| -1: [TypeMention] int
|
||||
# 110| 4: [BlockStmt] {...}
|
||||
# 111| 0: [IfStmt] if (...) ...
|
||||
# 111| 0: [LogicalOrExpr] ... || ...
|
||||
# 111| 0: [LogicalOrExpr] ... || ...
|
||||
# 111| 0: [LTExpr] ... < ...
|
||||
# 111| 0: [ParameterAccess] access to parameter index
|
||||
# 111| 1: [IntLiteral] 0
|
||||
# 111| 1: [LTExpr] ... < ...
|
||||
# 111| 0: [ParameterAccess] access to parameter count
|
||||
# 111| 1: [IntLiteral] 0
|
||||
# 111| 1: [LTExpr] ... < ...
|
||||
# 111| 0: [SubExpr] ... - ...
|
||||
# 111| 0: [PropertyCall] access to property Length
|
||||
# 111| -1: [ParameterAccess] access to parameter source
|
||||
# 111| 1: [ParameterAccess] access to parameter index
|
||||
# 111| 1: [ParameterAccess] access to parameter count
|
||||
# 112| 1: [ThrowStmt] throw ...;
|
||||
# 112| 0: [ObjectCreation] object creation of type ArgumentException
|
||||
# 112| 0: [TypeMention] ArgumentException
|
||||
# 113| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 113| 0: [LocalVariableDeclAndInitExpr] T[] result = ...
|
||||
# 113| -1: [TypeMention] T[]
|
||||
# 113| 1: [TypeMention] T
|
||||
# 113| 0: [LocalVariableAccess] access to local variable result
|
||||
# 113| 1: [ArrayCreation] array creation of type T[]
|
||||
# 113| -1: [TypeMention] T[]
|
||||
# 113| 1: [TypeMention] T
|
||||
# 113| 0: [ParameterAccess] access to parameter count
|
||||
# 114| 2: [ExprStmt] ...;
|
||||
# 114| 0: [MethodCall] call to method Copy
|
||||
# 114| -1: [TypeAccess] access to type Array
|
||||
# 114| 0: [TypeMention] Array
|
||||
# 114| 0: [ParameterAccess] access to parameter source
|
||||
# 114| 1: [ParameterAccess] access to parameter index
|
||||
# 114| 2: [LocalVariableAccess] access to local variable result
|
||||
# 114| 3: [IntLiteral] 0
|
||||
# 114| 4: [ParameterAccess] access to parameter count
|
||||
# 115| 3: [ReturnStmt] return ...;
|
||||
# 115| 0: [LocalVariableAccess] access to local variable result
|
||||
# 118| 8: [Method] CallToInt32
|
||||
# 118| -1: [TypeMention] int
|
||||
# 118| 4: [MethodCall] call to method ToInt32
|
||||
# 118| 0: [StringLiteral] "0"
|
||||
# 121| 6: [Class] TestExtensions
|
||||
# 124| 4: [Method] Main
|
||||
# 124| -1: [TypeMention] Void
|
||||
# 125| 4: [BlockStmt] {...}
|
||||
# 126| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 126| 0: [LocalVariableDeclAndInitExpr] String[] strings = ...
|
||||
# 126| -1: [TypeMention] String[]
|
||||
# 126| 1: [TypeMention] string
|
||||
# 126| 0: [LocalVariableAccess] access to local variable strings
|
||||
# 126| 1: [ArrayCreation] array creation of type String[]
|
||||
# 126| -1: [ArrayInitializer] { ..., ... }
|
||||
# 126| 0: [StringLiteral] "1"
|
||||
# 126| 1: [StringLiteral] "22"
|
||||
# 126| 2: [StringLiteral] "333"
|
||||
# 126| 3: [StringLiteral] "4444"
|
||||
# 127| 1: [ForeachStmt] foreach (... ... in ...) ...
|
||||
# 127| 0: [LocalVariableDeclExpr] String s
|
||||
# 127| 0: [TypeMention] string
|
||||
# 127| 1: [MethodCall] call to method Slice
|
||||
# 127| -1: [LocalVariableAccess] access to local variable strings
|
||||
# 127| 0: [IntLiteral] 1
|
||||
# 127| 1: [IntLiteral] 2
|
||||
# 128| 2: [BlockStmt] {...}
|
||||
# 129| 0: [ExprStmt] ...;
|
||||
# 129| 0: [MethodCall] call to method WriteLine
|
||||
# 129| -1: [TypeAccess] access to type Console
|
||||
# 129| 0: [TypeMention] Console
|
||||
# 129| 0: [MethodCall] call to method ToInt32
|
||||
# 129| -1: [LocalVariableAccess] access to local variable s
|
||||
# 132| 2: [ExprStmt] ...;
|
||||
# 132| 0: [MethodCall] call to method ToInt32
|
||||
# 132| -1: [TypeAccess] access to type Extensions
|
||||
# 132| 0: [TypeMention] Extensions
|
||||
# 132| 0: [StringLiteral] ""
|
||||
# 134| 3: [ExprStmt] ...;
|
||||
# 134| 0: [MethodCall] call to method ToBool
|
||||
# 134| -1: [TypeAccess] access to type Extensions
|
||||
# 134| 0: [TypeMention] Extensions
|
||||
# 134| 0: [StringLiteral] "true"
|
||||
# 134| 1: [ImplicitDelegateCreation] delegate creation of type Func<String,Boolean>
|
||||
# 134| 0: [MethodAccess] access to method Parse
|
||||
# 134| -1: [TypeAccess] access to type Boolean
|
||||
# 134| 0: [TypeMention] bool
|
||||
# 139| 7: [Class] TestDefaultParameters
|
||||
# 141| 4: [Method] Method1
|
||||
# 141| -1: [TypeMention] Void
|
||||
# 110| 0: [Parameter] source
|
||||
# 110| -1: [TypeMention] T[]
|
||||
# 110| 1: [TypeMention] T
|
||||
# 110| 1: [Parameter] index
|
||||
# 110| -1: [TypeMention] int
|
||||
# 110| 2: [Parameter] count
|
||||
# 110| -1: [TypeMention] int
|
||||
# 111| 4: [BlockStmt] {...}
|
||||
# 112| 0: [IfStmt] if (...) ...
|
||||
# 112| 0: [LogicalOrExpr] ... || ...
|
||||
# 112| 0: [LogicalOrExpr] ... || ...
|
||||
# 112| 0: [LTExpr] ... < ...
|
||||
# 112| 0: [ParameterAccess] access to parameter index
|
||||
# 112| 1: [IntLiteral] 0
|
||||
# 112| 1: [LTExpr] ... < ...
|
||||
# 112| 0: [ParameterAccess] access to parameter count
|
||||
# 112| 1: [IntLiteral] 0
|
||||
# 112| 1: [LTExpr] ... < ...
|
||||
# 112| 0: [SubExpr] ... - ...
|
||||
# 112| 0: [PropertyCall] access to property Length
|
||||
# 112| -1: [ParameterAccess] access to parameter source
|
||||
# 112| 1: [ParameterAccess] access to parameter index
|
||||
# 112| 1: [ParameterAccess] access to parameter count
|
||||
# 113| 1: [ThrowStmt] throw ...;
|
||||
# 113| 0: [ObjectCreation] object creation of type ArgumentException
|
||||
# 113| 0: [TypeMention] ArgumentException
|
||||
# 114| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 114| 0: [LocalVariableDeclAndInitExpr] T[] result = ...
|
||||
# 114| -1: [TypeMention] T[]
|
||||
# 114| 1: [TypeMention] T
|
||||
# 114| 0: [LocalVariableAccess] access to local variable result
|
||||
# 114| 1: [ArrayCreation] array creation of type T[]
|
||||
# 114| -1: [TypeMention] T[]
|
||||
# 114| 1: [TypeMention] T
|
||||
# 114| 0: [ParameterAccess] access to parameter count
|
||||
# 115| 2: [ExprStmt] ...;
|
||||
# 115| 0: [MethodCall] call to method Copy
|
||||
# 115| -1: [TypeAccess] access to type Array
|
||||
# 115| 0: [TypeMention] Array
|
||||
# 115| 0: [ParameterAccess] access to parameter source
|
||||
# 115| 1: [ParameterAccess] access to parameter index
|
||||
# 115| 2: [LocalVariableAccess] access to local variable result
|
||||
# 115| 3: [IntLiteral] 0
|
||||
# 115| 4: [ParameterAccess] access to parameter count
|
||||
# 116| 3: [ReturnStmt] return ...;
|
||||
# 116| 0: [LocalVariableAccess] access to local variable result
|
||||
# 119| 8: [Method] CallToInt32
|
||||
# 119| -1: [TypeMention] int
|
||||
# 119| 4: [MethodCall] call to method ToInt32
|
||||
# 119| 0: [StringLiteral] "0"
|
||||
# 122| 6: [Class] TestExtensions
|
||||
# 125| 4: [Method] Main
|
||||
# 125| -1: [TypeMention] Void
|
||||
# 126| 4: [BlockStmt] {...}
|
||||
# 127| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 127| 0: [LocalVariableDeclAndInitExpr] String[] strings = ...
|
||||
# 127| -1: [TypeMention] String[]
|
||||
# 127| 1: [TypeMention] string
|
||||
# 127| 0: [LocalVariableAccess] access to local variable strings
|
||||
# 127| 1: [ArrayCreation] array creation of type String[]
|
||||
# 127| -1: [ArrayInitializer] { ..., ... }
|
||||
# 127| 0: [StringLiteral] "1"
|
||||
# 127| 1: [StringLiteral] "22"
|
||||
# 127| 2: [StringLiteral] "333"
|
||||
# 127| 3: [StringLiteral] "4444"
|
||||
# 128| 1: [ForeachStmt] foreach (... ... in ...) ...
|
||||
# 128| 0: [LocalVariableDeclExpr] String s
|
||||
# 128| 0: [TypeMention] string
|
||||
# 128| 1: [MethodCall] call to method Slice
|
||||
# 128| -1: [LocalVariableAccess] access to local variable strings
|
||||
# 128| 0: [IntLiteral] 1
|
||||
# 128| 1: [IntLiteral] 2
|
||||
# 129| 2: [BlockStmt] {...}
|
||||
# 130| 0: [ExprStmt] ...;
|
||||
# 130| 0: [MethodCall] call to method WriteLine
|
||||
# 130| -1: [TypeAccess] access to type Console
|
||||
# 130| 0: [TypeMention] Console
|
||||
# 130| 0: [MethodCall] call to method ToInt32
|
||||
# 130| -1: [LocalVariableAccess] access to local variable s
|
||||
# 133| 2: [ExprStmt] ...;
|
||||
# 133| 0: [MethodCall] call to method ToInt32
|
||||
# 133| -1: [TypeAccess] access to type Extensions
|
||||
# 133| 0: [TypeMention] Extensions
|
||||
# 133| 0: [StringLiteral] ""
|
||||
# 135| 3: [ExprStmt] ...;
|
||||
# 135| 0: [MethodCall] call to method ToBool
|
||||
# 135| -1: [TypeAccess] access to type Extensions
|
||||
# 135| 0: [TypeMention] Extensions
|
||||
# 135| 0: [StringLiteral] "true"
|
||||
# 135| 1: [ImplicitDelegateCreation] delegate creation of type Func<String,Boolean>
|
||||
# 135| 0: [MethodAccess] access to method Parse
|
||||
# 135| -1: [TypeAccess] access to type Boolean
|
||||
# 135| 0: [TypeMention] bool
|
||||
# 140| 7: [Class] TestDefaultParameters
|
||||
# 142| 4: [Method] Method1
|
||||
# 142| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 141| 0: [Parameter] x
|
||||
# 141| -1: [TypeMention] int
|
||||
# 141| 1: [Parameter] y
|
||||
# 141| -1: [TypeMention] int
|
||||
# 142| 4: [BlockStmt] {...}
|
||||
# 145| 5: [Method] Method2
|
||||
# 145| -1: [TypeMention] Void
|
||||
# 142| 0: [Parameter] x
|
||||
# 142| -1: [TypeMention] int
|
||||
# 142| 1: [Parameter] y
|
||||
# 142| -1: [TypeMention] int
|
||||
# 143| 4: [BlockStmt] {...}
|
||||
# 146| 5: [Method] Method2
|
||||
# 146| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 145| 0: [Parameter] a
|
||||
# 145| -1: [TypeMention] int
|
||||
# 145| 1: [Parameter] b
|
||||
# 145| -1: [TypeMention] int
|
||||
# 145| 2: [Parameter] c
|
||||
# 145| -1: [TypeMention] int
|
||||
# 145| 1: [IntLiteral] 1
|
||||
# 145| 3: [Parameter] d
|
||||
# 145| -1: [TypeMention] int
|
||||
# 145| 1: [IntLiteral] 2
|
||||
# 145| 4: [Parameter] e
|
||||
# 145| -1: [TypeMention] string
|
||||
# 145| 1: [AddExpr] ... + ...
|
||||
# 145| 0: [StringLiteral] "a"
|
||||
# 145| 1: [StringLiteral] "b"
|
||||
# 146| 4: [BlockStmt] {...}
|
||||
# 149| 6: [InstanceConstructor] TestDefaultParameters
|
||||
# 146| 0: [Parameter] a
|
||||
# 146| -1: [TypeMention] int
|
||||
# 146| 1: [Parameter] b
|
||||
# 146| -1: [TypeMention] int
|
||||
# 146| 2: [Parameter] c
|
||||
# 146| -1: [TypeMention] int
|
||||
# 146| 1: [IntLiteral] 1
|
||||
# 146| 3: [Parameter] d
|
||||
# 146| -1: [TypeMention] int
|
||||
# 146| 1: [IntLiteral] 2
|
||||
# 146| 4: [Parameter] e
|
||||
# 146| -1: [TypeMention] string
|
||||
# 146| 1: [AddExpr] ... + ...
|
||||
# 146| 0: [StringLiteral] "a"
|
||||
# 146| 1: [StringLiteral] "b"
|
||||
# 147| 4: [BlockStmt] {...}
|
||||
# 150| 6: [InstanceConstructor] TestDefaultParameters
|
||||
#-----| 2: (Parameters)
|
||||
# 149| 0: [Parameter] x
|
||||
# 149| -1: [TypeMention] int
|
||||
# 150| 4: [BlockStmt] {...}
|
||||
# 153| 7: [InstanceConstructor] TestDefaultParameters
|
||||
# 150| 0: [Parameter] x
|
||||
# 150| -1: [TypeMention] int
|
||||
# 151| 4: [BlockStmt] {...}
|
||||
# 154| 7: [InstanceConstructor] TestDefaultParameters
|
||||
#-----| 2: (Parameters)
|
||||
# 153| 0: [Parameter] x
|
||||
# 153| -1: [TypeMention] string
|
||||
# 153| 1: [StringLiteral] "abc"
|
||||
# 153| 1: [Parameter] y
|
||||
# 153| -1: [TypeMention] double
|
||||
# 153| 1: [ObjectCreation] object creation of type Double
|
||||
# 153| 0: [TypeMention] double
|
||||
# 154| 4: [BlockStmt] {...}
|
||||
# 157| 8: [DelegateType] Del
|
||||
# 154| 0: [Parameter] x
|
||||
# 154| -1: [TypeMention] string
|
||||
# 154| 1: [StringLiteral] "abc"
|
||||
# 154| 1: [Parameter] y
|
||||
# 154| -1: [TypeMention] double
|
||||
# 154| 1: [ObjectCreation] object creation of type Double
|
||||
# 154| 0: [TypeMention] double
|
||||
# 155| 4: [BlockStmt] {...}
|
||||
# 158| 8: [DelegateType] Del
|
||||
#-----| 2: (Parameters)
|
||||
# 157| 0: [Parameter] a
|
||||
# 157| -1: [TypeMention] string
|
||||
# 157| 1: [Parameter] b
|
||||
# 157| -1: [TypeMention] int
|
||||
# 157| 1: [IntLiteral] 12
|
||||
# 157| 2: [Parameter] c
|
||||
# 157| -1: [TypeMention] double
|
||||
# 157| 1: [ObjectCreation] object creation of type Double
|
||||
# 157| 0: [TypeMention] double
|
||||
# 159| 9: [Indexer] Item
|
||||
# 159| -1: [TypeMention] int
|
||||
# 158| 0: [Parameter] a
|
||||
# 158| -1: [TypeMention] string
|
||||
# 158| 1: [Parameter] b
|
||||
# 158| -1: [TypeMention] int
|
||||
# 158| 1: [IntLiteral] 12
|
||||
# 158| 2: [Parameter] c
|
||||
# 158| -1: [TypeMention] double
|
||||
# 158| 1: [ObjectCreation] object creation of type Double
|
||||
# 158| 0: [TypeMention] double
|
||||
# 160| 9: [Indexer] Item
|
||||
# 160| -1: [TypeMention] int
|
||||
#-----| 1: (Parameters)
|
||||
# 159| 0: [Parameter] x
|
||||
# 159| -1: [TypeMention] int
|
||||
# 159| 1: [Parameter] y
|
||||
# 159| -1: [TypeMention] int
|
||||
# 159| 1: [IntLiteral] 0
|
||||
# 161| 3: [Getter] get_Item
|
||||
# 160| 0: [Parameter] x
|
||||
# 160| -1: [TypeMention] int
|
||||
# 160| 1: [Parameter] y
|
||||
# 160| -1: [TypeMention] int
|
||||
# 160| 1: [IntLiteral] 0
|
||||
# 162| 3: [Getter] get_Item
|
||||
#-----| 2: (Parameters)
|
||||
# 159| 0: [Parameter] x
|
||||
# 159| 1: [Parameter] y
|
||||
# 159| 1: [IntLiteral] 0
|
||||
# 161| 4: [BlockStmt] {...}
|
||||
# 161| 0: [ReturnStmt] return ...;
|
||||
# 161| 0: [AddExpr] ... + ...
|
||||
# 161| 0: [ParameterAccess] access to parameter x
|
||||
# 161| 1: [ParameterAccess] access to parameter y
|
||||
# 162| 4: [Setter] set_Item
|
||||
#-----| 2: (Parameters)
|
||||
# 159| 0: [Parameter] x
|
||||
# 159| 1: [Parameter] y
|
||||
# 159| 1: [IntLiteral] 0
|
||||
# 162| 2: [Parameter] value
|
||||
# 160| 0: [Parameter] x
|
||||
# 160| 1: [Parameter] y
|
||||
# 160| 1: [IntLiteral] 0
|
||||
# 162| 4: [BlockStmt] {...}
|
||||
# 166| 8: [Class] TestDefaultExtensionParameters
|
||||
# 168| 4: [ExtensionMethod] Plus
|
||||
# 168| -1: [TypeMention] int
|
||||
# 162| 0: [ReturnStmt] return ...;
|
||||
# 162| 0: [AddExpr] ... + ...
|
||||
# 162| 0: [ParameterAccess] access to parameter x
|
||||
# 162| 1: [ParameterAccess] access to parameter y
|
||||
# 163| 4: [Setter] set_Item
|
||||
#-----| 2: (Parameters)
|
||||
# 160| 0: [Parameter] x
|
||||
# 160| 1: [Parameter] y
|
||||
# 160| 1: [IntLiteral] 0
|
||||
# 163| 2: [Parameter] value
|
||||
# 163| 4: [BlockStmt] {...}
|
||||
# 167| 8: [Class] TestDefaultExtensionParameters
|
||||
# 169| 4: [ExtensionMethod] Plus
|
||||
# 169| -1: [TypeMention] int
|
||||
#-----| 2: (Parameters)
|
||||
# 168| 0: [Parameter] left
|
||||
# 168| -1: [TypeMention] int
|
||||
# 168| 1: [Parameter] right
|
||||
# 168| -1: [TypeMention] int
|
||||
# 168| 1: [IntLiteral] 0
|
||||
# 169| 4: [BlockStmt] {...}
|
||||
# 170| 0: [ReturnStmt] return ...;
|
||||
# 170| 0: [AddExpr] ... + ...
|
||||
# 170| 0: [ParameterAccess] access to parameter left
|
||||
# 170| 1: [ParameterAccess] access to parameter right
|
||||
# 173| 5: [ExtensionMethod] SkipTwo
|
||||
# 173| -1: [TypeMention] IEnumerable<T>
|
||||
# 173| 1: [TypeMention] T
|
||||
# 169| 0: [Parameter] left
|
||||
# 169| -1: [TypeMention] int
|
||||
# 169| 1: [Parameter] right
|
||||
# 169| -1: [TypeMention] int
|
||||
# 169| 1: [IntLiteral] 0
|
||||
# 170| 4: [BlockStmt] {...}
|
||||
# 171| 0: [ReturnStmt] return ...;
|
||||
# 171| 0: [AddExpr] ... + ...
|
||||
# 171| 0: [ParameterAccess] access to parameter left
|
||||
# 171| 1: [ParameterAccess] access to parameter right
|
||||
# 174| 5: [ExtensionMethod] SkipTwo
|
||||
# 174| -1: [TypeMention] IEnumerable<T>
|
||||
# 174| 1: [TypeMention] T
|
||||
#-----| 1: (Type parameters)
|
||||
# 173| 0: [TypeParameter] T
|
||||
# 174| 0: [TypeParameter] T
|
||||
#-----| 2: (Parameters)
|
||||
# 173| 0: [Parameter] list
|
||||
# 173| -1: [TypeMention] IEnumerable<T>
|
||||
# 173| 1: [TypeMention] T
|
||||
# 173| 1: [Parameter] i
|
||||
# 173| -1: [TypeMention] int
|
||||
# 173| 1: [IntLiteral] 1
|
||||
# 174| 4: [BlockStmt] {...}
|
||||
# 175| 0: [ReturnStmt] return ...;
|
||||
# 175| 0: [ParameterAccess] access to parameter list
|
||||
# 178| 7: [ExtensionMethod] SkipTwoInt
|
||||
# 178| -1: [TypeMention] IEnumerable<Int32>
|
||||
# 178| 1: [TypeMention] int
|
||||
# 174| 0: [Parameter] list
|
||||
# 174| -1: [TypeMention] IEnumerable<T>
|
||||
# 174| 1: [TypeMention] T
|
||||
# 174| 1: [Parameter] i
|
||||
# 174| -1: [TypeMention] int
|
||||
# 174| 1: [IntLiteral] 1
|
||||
# 175| 4: [BlockStmt] {...}
|
||||
# 176| 0: [ReturnStmt] return ...;
|
||||
# 176| 0: [ParameterAccess] access to parameter list
|
||||
# 179| 7: [ExtensionMethod] SkipTwoInt
|
||||
# 179| -1: [TypeMention] IEnumerable<Int32>
|
||||
# 179| 1: [TypeMention] int
|
||||
#-----| 2: (Parameters)
|
||||
# 178| 0: [Parameter] list
|
||||
# 178| -1: [TypeMention] IEnumerable<Int32>
|
||||
# 178| 1: [TypeMention] int
|
||||
# 178| 1: [Parameter] i
|
||||
# 178| -1: [TypeMention] int
|
||||
# 178| 1: [IntLiteral] 1
|
||||
# 179| 4: [BlockStmt] {...}
|
||||
# 180| 0: [ReturnStmt] return ...;
|
||||
# 180| 0: [MethodCall] call to method SkipTwo
|
||||
# 180| -1: [ParameterAccess] access to parameter list
|
||||
# 180| 0: [ParameterAccess] access to parameter i
|
||||
# 179| 0: [Parameter] list
|
||||
# 179| -1: [TypeMention] IEnumerable<Int32>
|
||||
# 179| 1: [TypeMention] int
|
||||
# 179| 1: [Parameter] i
|
||||
# 179| -1: [TypeMention] int
|
||||
# 179| 1: [IntLiteral] 1
|
||||
# 180| 4: [BlockStmt] {...}
|
||||
# 181| 0: [ReturnStmt] return ...;
|
||||
# 181| 0: [MethodCall] call to method SkipTwo
|
||||
# 181| -1: [ParameterAccess] access to parameter list
|
||||
# 181| 0: [ParameterAccess] access to parameter i
|
||||
# 185| 9: [Class] TestCollidingMethods<>
|
||||
#-----| 1: (Type parameters)
|
||||
# 185| 0: [TypeParameter] T
|
||||
# 187| 5: [Method] M
|
||||
# 187| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 187| 0: [Parameter] p1
|
||||
# 187| -1: [TypeMention] T
|
||||
# 187| 1: [Parameter] p2
|
||||
# 187| -1: [TypeMention] int
|
||||
# 187| 4: [BlockStmt] {...}
|
||||
# 188| 6: [Method] M
|
||||
# 188| -1: [TypeMention] Void
|
||||
#-----| 2: (Parameters)
|
||||
# 188| 0: [Parameter] p1
|
||||
# 188| -1: [TypeMention] int
|
||||
# 188| 1: [Parameter] p2
|
||||
# 188| -1: [TypeMention] int
|
||||
# 188| 4: [BlockStmt] {...}
|
||||
# 190| 7: [Method] Calls
|
||||
# 190| -1: [TypeMention] Void
|
||||
# 191| 4: [BlockStmt] {...}
|
||||
# 192| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 192| 0: [LocalVariableDeclAndInitExpr] TestCollidingMethods<Int32> x = ...
|
||||
# 192| -1: [TypeMention] TestCollidingMethods<Int32>
|
||||
# 192| 0: [LocalVariableAccess] access to local variable x
|
||||
# 192| 1: [ObjectCreation] object creation of type TestCollidingMethods<Int32>
|
||||
# 192| 0: [TypeMention] TestCollidingMethods<Int32>
|
||||
# 192| 1: [TypeMention] int
|
||||
# 193| 1: [ExprStmt] ...;
|
||||
# 193| 0: [MethodCall] call to method M
|
||||
# 193| -1: [LocalVariableAccess] access to local variable x
|
||||
# 193| 0: [IntLiteral] 1
|
||||
# 193| 1: [IntLiteral] 1
|
||||
# 195| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 195| 0: [LocalVariableDeclAndInitExpr] TestCollidingMethods<Double> y = ...
|
||||
# 195| -1: [TypeMention] TestCollidingMethods<Double>
|
||||
# 195| 0: [LocalVariableAccess] access to local variable y
|
||||
# 195| 1: [ObjectCreation] object creation of type TestCollidingMethods<Double>
|
||||
# 195| 0: [TypeMention] TestCollidingMethods<Double>
|
||||
# 195| 1: [TypeMention] double
|
||||
# 196| 3: [ExprStmt] ...;
|
||||
# 196| 0: [MethodCall] call to method M
|
||||
# 196| -1: [LocalVariableAccess] access to local variable y
|
||||
# 196| 0: [DoubleLiteral] 1
|
||||
# 196| 1: [IntLiteral] 1
|
||||
# 197| 4: [ExprStmt] ...;
|
||||
# 197| 0: [MethodCall] call to method M
|
||||
# 197| -1: [LocalVariableAccess] access to local variable y
|
||||
# 197| 0: [IntLiteral] 1
|
||||
# 197| 1: [IntLiteral] 1
|
||||
# 200| 8: [Class] Nested
|
||||
# 202| 4: [InstanceConstructor] Nested
|
||||
#-----| 2: (Parameters)
|
||||
# 202| 0: [Parameter] p1
|
||||
# 202| -1: [TypeMention] int
|
||||
# 202| 4: [BlockStmt] {...}
|
||||
# 203| 5: [InstanceConstructor] Nested
|
||||
#-----| 2: (Parameters)
|
||||
# 203| 0: [Parameter] p1
|
||||
# 203| -1: [TypeMention] T
|
||||
# 204| 4: [BlockStmt] {...}
|
||||
# 205| 0: [LocalVariableDeclStmt] ... ...;
|
||||
# 205| 0: [LocalVariableDeclAndInitExpr] Nested x = ...
|
||||
# 205| -1: [TypeMention] Nested
|
||||
# 205| 0: [LocalVariableAccess] access to local variable x
|
||||
# 205| 1: [ObjectCreation] object creation of type Nested
|
||||
# 205| -1: [TypeMention] Nested
|
||||
# 205| 1: [TypeMention] TestCollidingMethods<Int32>
|
||||
# 205| 1: [TypeMention] int
|
||||
# 205| 0: [IntLiteral] 1
|
||||
# 206| 1: [LocalVariableDeclStmt] ... ...;
|
||||
# 206| 0: [LocalVariableDeclAndInitExpr] Nested y = ...
|
||||
# 206| -1: [TypeMention] Nested
|
||||
# 206| 0: [LocalVariableAccess] access to local variable y
|
||||
# 206| 1: [ObjectCreation] object creation of type Nested
|
||||
# 206| -1: [TypeMention] Nested
|
||||
# 206| 1: [TypeMention] TestCollidingMethods<Double>
|
||||
# 206| 1: [TypeMention] double
|
||||
# 206| 0: [DoubleLiteral] 1
|
||||
# 207| 2: [LocalVariableDeclStmt] ... ...;
|
||||
# 207| 0: [LocalVariableDeclAndInitExpr] Nested z = ...
|
||||
# 207| -1: [TypeMention] Nested
|
||||
# 207| 0: [LocalVariableAccess] access to local variable z
|
||||
# 207| 1: [ObjectCreation] object creation of type Nested
|
||||
# 207| -1: [TypeMention] Nested
|
||||
# 207| 1: [TypeMention] TestCollidingMethods<Double>
|
||||
# 207| 1: [TypeMention] double
|
||||
# 207| 0: [IntLiteral] 1
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Methods
|
||||
{
|
||||
@@ -180,4 +181,31 @@ namespace Methods
|
||||
return list.SkipTwo<int>(i);
|
||||
}
|
||||
}
|
||||
|
||||
public class TestCollidingMethods<T>
|
||||
{
|
||||
public void M(T p1, int p2) { }
|
||||
public void M(int p1, int p2) { }
|
||||
|
||||
public void Calls()
|
||||
{
|
||||
var x = new TestCollidingMethods<int>();
|
||||
x.M(1, 1);
|
||||
|
||||
var y = new TestCollidingMethods<double>();
|
||||
y.M(1.0, 1);
|
||||
y.M(1, 1);
|
||||
}
|
||||
|
||||
public class Nested
|
||||
{
|
||||
public Nested(int p1) { }
|
||||
public Nested(T p1)
|
||||
{
|
||||
var x = new TestCollidingMethods<int>.Nested(1);
|
||||
var y = new TestCollidingMethods<double>.Nested(1.0);
|
||||
var z = new TestCollidingMethods<double>.Nested(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user