@@ -52,25 +52,39 @@ public bool WrapConsoleReadLineGetBool()
52
52
return s == "hello" ;
53
53
}
54
54
55
- public class MyConsoleReader
55
+ public abstract class ValueReader
56
56
{
57
- // source=Sources;NewSources+MyConsoleReader;false;ToString;();;ReturnValue;local;df-generated
58
- // neutral=Sources;NewSources+MyConsoleReader;ToString;();summary;df-generated
59
- public override string ToString ( )
57
+ // neutral=Sources;NewSources+ValueReader;GetValue;();summary;df-generated
58
+ public abstract string GetValue ( ) ;
59
+ }
60
+
61
+ public class MyConsoleReader : ValueReader
62
+ {
63
+ // source=Sources;NewSources+MyConsoleReader;true;GetValue;();;ReturnValue;local;df-generated
64
+ // neutral=Sources;NewSources+MyConsoleReader;GetValue;();summary;df-generated
65
+ public override string GetValue ( )
60
66
{
61
67
return Console . ReadLine ( ) ;
62
68
}
63
69
}
64
70
71
+ public class MyOtherReader : ValueReader
72
+ {
73
+ // neutral=Sources;NewSources+MyOtherReader;GetValue;();summary;df-generated
74
+ public override string GetValue ( )
75
+ {
76
+ return "" ;
77
+ }
78
+ }
65
79
66
- public class MyContainer < T >
80
+ public class MyContainer < T > where T : ValueReader
67
81
{
68
82
public T Value { get ; set ; }
69
83
70
- // summary =Sources;NewSources+MyContainer<T>;false; Read;();;Argument[this];ReturnValue;taint ;df-generated
84
+ // neutral =Sources;NewSources+MyContainer<T>;Read;();summary ;df-generated
71
85
public string Read ( )
72
86
{
73
- return Value . ToString ( ) ;
87
+ return Value . GetValue ( ) ;
74
88
}
75
89
}
76
90
@@ -105,13 +119,34 @@ public override string Read()
105
119
}
106
120
}
107
121
108
- public class DataReaderKind2 : DataReader
122
+ public sealed class DataReaderKind2 : DataReader
109
123
{
110
- // source=Sources;NewSources+DataReaderKind2;true ;Read;();;ReturnValue;source-kind-2;df-generated
124
+ // source=Sources;NewSources+DataReaderKind2;false ;Read;();;ReturnValue;source-kind-2;df-generated
111
125
// neutral=Sources;NewSources+DataReaderKind2;Read;();summary;df-generated
112
126
public override string Read ( )
113
127
{
114
128
return Source2 ( ) ;
115
129
}
116
130
}
131
+
132
+ public class C1
133
+ {
134
+ // source=Sources;NewSources+C1;false;ToString;();;ReturnValue;source-kind-1;df-generated
135
+ // neutral=Sources;NewSources+C1;ToString;();summary;df-generated
136
+ public override string ToString ( )
137
+ {
138
+ return Source1 ( ) ;
139
+ }
140
+ }
141
+
142
+ public sealed class C2
143
+ {
144
+ // source=Sources;NewSources+C2;false;ToString;();;ReturnValue;source-kind-1;df-generated
145
+ // neutral=Sources;NewSources+C2;ToString;();summary;df-generated
146
+ public override string ToString ( )
147
+ {
148
+ return Source1 ( ) ;
149
+ }
150
+ }
151
+
117
152
}
0 commit comments