@@ -260,27 +260,30 @@ private void CheckMethodBodyInstructions(MethodDefinition methodToCheck)
260
260
/// </example>
261
261
/// </summary>
262
262
private void CheckTypeReference ( TypeReference reference )
263
- {
264
- if ( reference . IsGenericParameter == false )
263
+ {
264
+ if ( reference . IsGenericParameter == true ) return ;
265
+
266
+ if ( ( reference . IsArray ) || ( reference . IsPointer ) || ( reference . IsByReference ) )
267
+ {
268
+ var referenceAsTypeSpecification = reference as TypeSpecification ;
269
+ if ( referenceAsTypeSpecification . ElementType ? . IsGenericParameter == true ) return ;
270
+
271
+ CheckTypeReference ( referenceAsTypeSpecification . ElementType ) ;
272
+ }
273
+
274
+ CheckDependency ( reference ) ;
275
+
276
+ if ( reference . IsGenericInstance == true )
265
277
{
266
- CheckDependency ( reference ) ;
267
- if ( reference . IsGenericInstance == true )
278
+ var referenceAsGenericInstance = reference as GenericInstanceType ;
279
+ if ( referenceAsGenericInstance . HasGenericArguments )
268
280
{
269
- var referenceAsGenericInstance = reference as GenericInstanceType ;
270
- if ( referenceAsGenericInstance . HasGenericArguments )
281
+ foreach ( var genericArgument in referenceAsGenericInstance . GenericArguments )
271
282
{
272
- foreach ( var genericArgument in referenceAsGenericInstance . GenericArguments )
273
- {
274
- CheckTypeReference ( genericArgument ) ;
275
- }
283
+ CheckTypeReference ( genericArgument ) ;
276
284
}
277
285
}
278
- if ( ( reference . IsArray ) || ( reference . IsPointer ) || ( reference . IsByReference ) )
279
- {
280
- var referenceAsTypeSpecification = reference as TypeSpecification ;
281
- CheckTypeReference ( referenceAsTypeSpecification . ElementType ) ;
282
- }
283
- }
286
+ }
284
287
}
285
288
private void CheckDependency ( TypeReference dependency )
286
289
{
0 commit comments