33// <auto-generated /> (not really, but this disables analyzer warnings)
44
55using System ;
6+ using System . CodeDom . Compiler ;
67using System . Collections ;
78using System . Collections . Generic ;
89using System . Runtime . CompilerServices ;
@@ -34,7 +35,7 @@ public interface IZ
3435 event EventHandler E ;
3536}
3637
37- /// <summary>Interface IG</summary>
38+ /// <summary>Interface IG <typeparamref name="TG"/> </summary>
3839/// <typeparam name="TG">TypeParam TG</typeparam>
3940public interface IG < TG >
4041{
@@ -45,15 +46,16 @@ public interface IG<TG>
4546 unsafe U [ ] M < U > ( U * p ) where U : unmanaged;
4647
4748 /// <summary>Nested Interface IG<TG>.IN</summary>
49+ /// <typeparam name="TM">TypeParam TM</typeparam>
4850 public interface IN < TM >
4951 {
50- /// <summary>Method M</summary>
52+ /// <summary>Method M <typeparamref name="TM" /> </summary>
5153 /// <param name="p">Param p</param>
5254 public void M ( IN < TM > p ) ;
5355 }
5456}
5557
56- /// <summary>Class G</summary>
58+ /// <summary>Class G <typeparamref name="T"/> </summary>
5759/// <typeparam name="T">TypeParam T</typeparam>
5860public abstract class G < T > where T : class
5961{
@@ -157,66 +159,51 @@ public struct D : IEquatable<D>
157159}
158160
159161/// <inheritdoc />
160- public class GGI : GG < string >
162+ public class GGI : GG < string [ ] >
161163{
162164 new internal const string T_ID = nameof ( GGI ) ;
163- internal const string M_ID = T_ID + "." + nameof ( M ) + "(" + nameof ( System ) + "." + nameof ( String ) + "@)" ;
165+ internal const string M_ID = T_ID + "." + nameof ( M ) + "(" + nameof ( System ) + "." + nameof ( String ) + "[]@)" ;
166+ internal const string P_ID = T_ID + ".Item(" + nameof ( System ) + "." + nameof ( Int32 ) + ")" ;
164167
165168 /// <inheritdoc />
166169 public GGI ( ) { }
167170
168171 /// <inheritdoc />
169- public override string M ( in string x ) => default ;
170- }
171-
172- /// <inheritdoc />
173- public class GG < U > : G < U > where U : class
174- {
175- internal const string T_ID = nameof ( GG < U > ) + "`1" ;
176- internal const string P_ID_this = T_ID + ".Item(" + nameof ( System ) + "." + nameof ( Int32 ) + ")" ;
177-
178- /// <summary>Constructor GG</summary>
179- public GG ( ) { }
172+ public override string [ ] M ( in string [ ] x ) => default ;
180173
181174 /// <inheritdoc />
182- public override U this [ int i ] => default ;
175+ public override string [ ] this [ int i ] => default ;
183176}
184177
185178/// <inheritdoc />
186- public class GI : G < string >
179+ /// <typeparam name="V"><inheritdoc cref="IComparable{T}" path="/typeparam[@name='T']/node()" /></typeparam>
180+ #pragma warning disable 1712
181+ public class GX < V , U > : Lazy < U > , IEquatable < Lazy < U > > , IComparable < V >
182+ #pragma warning restore 1712
187183{
188- internal const string T_ID = nameof ( GI ) ;
189- internal const string M_ID = T_ID + "." + nameof ( M ) + "(" + nameof ( System ) + "." + nameof ( String ) + "@)" ;
190-
191- /// <inheritdoc />
192- public override string M ( in string s ) => default ;
193-
194- /// <inheritdoc />
195- public override string this [ int i ] => default ;
196- }
197-
198- /// <inheritdoc />
199- public class GX < U > : Lazy < U > , IEquatable < Lazy < U > >
200- {
201- internal const string T_ID = nameof ( GX < U > ) + "`1" ;
202- internal const string M_ID_GetHashCode = T_ID + "." + nameof ( GetHashCode ) ;
203- internal const string M_ID_Equals = T_ID + "." + nameof ( Equals ) + "(" + nameof ( System ) + "." + nameof ( Lazy < U > ) + "{`0})" ;
204-
205184 /// <inheritdoc />
206185 public override int GetHashCode ( ) => default ;
207186
208187 /// <inheritdoc />
209188 public bool Equals ( Lazy < U > other ) => default ;
189+
190+ /// <inheritdoc />
191+ /// <param name="other"><typeparamref name="V"/></param>
192+ public int CompareTo ( V other ) => default ;
210193}
211194
212195/// <inheritdoc />
213- public class GXI : Lazy < string > , IEquatable < string >
196+ /// <typeparam name="T">TypeParam T</typeparam>
197+ public class GXI < T > : Lazy < string [ ] > , IEquatable < string >
214198{
215- internal const string T_ID = nameof ( GXI ) ;
216- internal const string M_ID_Equals = T_ID + "." + nameof ( Equals ) + "( " + nameof ( System ) + "." + nameof ( String ) + ")" ;
199+ internal const string T_ID = nameof ( GXI < T > ) + "`1" ;
200+ internal const string M_ID_OpImplicit = T_ID + ".op_Implicit( " + nameof ( GXI < T > ) + "{`0})~ " + nameof ( System ) + "." + nameof ( String ) ;
217201
218202 /// <inheritdoc />
219- public bool Equals ( string other ) => default ;
203+ public bool Equals ( string o ) => default ;
204+
205+ /// <inheritdoc cref="Equals(string)" />
206+ public static implicit operator string ( GXI < T > o ) => default ;
220207}
221208
222209/// <inheritdoc />
@@ -246,11 +233,26 @@ public class GIS<TT> : GG<TT>, IG<TT> where TT : class
246233 unsafe public virtual MT [ ] M < MT > ( MT * mtp ) where MT : unmanaged => default ;
247234}
248235
236+ /// <inheritdoc />
237+ public class GG < U > : G < U > where U : class
238+ {
239+ internal const string T_ID = nameof ( GG < U > ) + "`1" ;
240+ internal const string P_ID_this = T_ID + ".Item(" + nameof ( System ) + "." + nameof ( Int32 ) + ")" ;
241+
242+ /// <summary>Constructor GG</summary>
243+ public GG ( ) { }
244+
245+ /// <inheritdoc />
246+ public override U this [ int i ] => default ;
247+ }
248+
249249/// <inheritdoc />
250250public class GII : IG < string >
251251{
252252 internal const string T_ID = nameof ( GII ) ;
253- internal const string M_ID = T_ID + "." + nameof ( M ) + "``1(``0*)" ;
253+
254+ /// <inheritdoc />
255+ private GII ( ) { }
254256
255257 /// <inheritdoc />
256258 unsafe public T [ ] M < T > ( T * tp ) where T : unmanaged => default ;
@@ -266,11 +268,32 @@ public class W
266268 /// <summary>Internal Field T_ID</summary>
267269 internal const string T_ID = nameof ( W ) ;
268270 internal const string F_ID = T_ID + "." + nameof ( T_ID ) ;
271+ internal const string M_ID_NotInherited = T_ID + "." + nameof ( MNotInherited ) ;
272+ internal const string P_ID_NotInherited = T_ID + "." + nameof ( PNotInherited ) ;
273+
274+ /// <inheritdoc />
275+ public void MNotInherited ( ) { }
276+
277+ /// <inheritdoc />
278+ [ GeneratedCode ( "SG" , "1" ) ]
279+ public int PNotInherited { get ; set ; }
280+
281+ /// <summary>M managed</summary>
282+ /// <param name="ptr">fnptr</param>
283+ public unsafe void M ( delegate * < void > ptr ) { }
269284
270285 /// <inheritdoc />
271- public void NotInherited ( ) { }
286+ public override string ToString ( ) => default ;
272287}
273288
289+ /// <inheritdoc cref="GIG{TT}" />
290+ /// <typeparam name="U">U</typeparam>
291+ public class GB < U > : B { }
292+
293+ /// <inheritdoc />
294+ [ CompilerGenerated ]
295+ public interface IG { }
296+
274297//
275298// Tricky Generic Case
276299//
@@ -305,6 +328,7 @@ void ICollection<KeyValuePair<string, string>>.CopyTo(KeyValuePair<string, strin
305328// Internal Type
306329//
307330
331+ /// <inheritdoc />
308332internal class ImplementsICollection : ICollection < string >
309333{
310334 internal const string T_ID = nameof ( ImplementsICollection ) ;
0 commit comments