@@ -13,7 +13,7 @@ class C : B<int> { }
1313
1414 class D : B < string >
1515 {
16- public override void M ( ) => Sink ( this ) ;
16+ public override void M ( ) => Sink ( this ) ; // $ hasValueFlow=line:32 $ hasValueFlow=line:33 $ hasValueFlow=line:40
1717 }
1818
1919 static void M1 ( )
@@ -41,32 +41,32 @@ static void M1()
4141 M9 ( new D ( ) ) ; // no flow
4242
4343 object o = null ; // flow
44- Sink ( o ) ;
44+ Sink ( o ) ; // $ hasValueFlow=line:43
4545 }
4646
4747 static void M2 ( A a )
4848 {
4949 if ( a is C c )
50- Sink ( c ) ;
50+ Sink ( c ) ; // $ hasValueFlow=line:23
5151 }
5252
5353 static void M3 ( A a )
5454 {
5555 switch ( a )
5656 {
5757 case D d :
58- Sink ( d ) ;
58+ Sink ( d ) ; // $ hasValueFlow=line:35
5959 break ;
6060 }
6161 }
6262
63- static void M4 ( A a ) => Sink ( ( C ) a ) ;
63+ static void M4 ( A a ) => Sink ( ( C ) a ) ; // $ hasValueFlow=line:25
6464
65- static void M5 < T > ( T x ) => Sink ( x ) ;
65+ static void M5 < T > ( T x ) => Sink ( x ) ; // $ hasValueFlow=line:26 $ hasValueFlow=line:37
6666
67- static void M6 < T > ( T x ) where T : A => Sink ( x ) ;
67+ static void M6 < T > ( T x ) where T : A => Sink ( x ) ; // $ hasValueFlow=line:27 $ hasValueFlow=line:38
6868
69- static void M7 < T > ( T x ) where T : class => Sink ( x ) ;
69+ static void M7 < T > ( T x ) where T : class => Sink ( x ) ; // $ hasValueFlow=line:28 $ hasValueFlow=line:39
7070
7171 static void M8 < T > ( T x )
7272 {
@@ -77,7 +77,7 @@ static void M8<T>(T x)
7777 static void M9 ( A a )
7878 {
7979 if ( a is B < int > b )
80- Sink ( b ) ;
80+ Sink ( b ) ; // $ hasValueFlow=line:30
8181 }
8282
8383 static void Sink < T > ( T x ) { }
@@ -112,15 +112,15 @@ void M3()
112112
113113 public override void M ( )
114114 {
115- Sink ( this . Field ) ;
115+ Sink ( this . Field ) ; // $ hasValueFlow=line:110
116116 }
117117
118118 void M10 ( )
119119 {
120120 var a = new A ( ) ;
121121 var e2 = new E2 ( ) ;
122- Sink ( Through ( a ) ) ; // flow
123- Sink ( Through ( e2 ) ) ; // flow
122+ Sink ( Through ( a ) ) ; // $ hasValueFlow=line:120
123+ Sink ( Through ( e2 ) ) ; // $ hasValueFlow=line:121
124124 Sink ( ( E2 ) Through ( a ) ) ; // no flow
125125 Sink ( ( A ) Through ( e2 ) ) ; // no flow
126126 }
@@ -150,6 +150,6 @@ class FieldB : FieldA { }
150150
151151 class FieldC : FieldA
152152 {
153- public override void M ( ) => Sink ( this . Field ) ;
153+ public override void M ( ) => Sink ( this . Field ) ; // $ hasValueFlow=line:144
154154 }
155155}
0 commit comments