@@ -35,7 +35,7 @@ public void ValidateTypeDefinitionIsNestedWindowsProjection()
3535        } 
3636
3737        [ Fact ] 
38-         public  void  ValidateDeclaringType ( ) 
38+         public  void  ValidateMemberDeclaringType ( ) 
3939        { 
4040            var  reader  =  MetadataReaderTests . GetMetadataReader ( Misc . Members ) ; 
4141
@@ -45,12 +45,6 @@ public void ValidateDeclaringType()
4545            foreach  ( var  typeDefHandle  in  reader . TypeDefinitions ) 
4646            { 
4747                var  typeDef  =  reader . GetTypeDefinition ( typeDefHandle ) ; 
48-                 // The assembly does not declare any nested types yet. 
49-                 // foreach (var nestedTypeHandle in typeDef.GetNestedTypes()) 
50-                 // { 
51-                 //     var nestedType = reader.GetTypeDefinition(nestedTypeHandle); 
52-                 //     Assert.Equal(typeDefHandle, nestedType.GetDeclaringType()); 
53-                 // } 
5448                foreach  ( var  fieldHandle  in  typeDef . GetFields ( ) ) 
5549                { 
5650                    var  field  =  reader . GetFieldDefinition ( fieldHandle ) ; 
@@ -73,5 +67,24 @@ public void ValidateDeclaringType()
7367                } 
7468            } 
7569        } 
70+ 
71+ #if NET 
72+         [ ActiveIssue ( "https://github.com/dotnet/runtime/pull/111642" ,  TestRuntimes . Mono ) ] 
73+         [ ConditionalFact ( typeof ( PlatformDetection ) ,  nameof ( PlatformDetection . IsNotNativeAot ) ) ] 
74+         public  unsafe  void  ValidateTypeDeclaringType ( ) 
75+         { 
76+             var  asm  =  typeof ( TypeDefinitionTests ) . Assembly ; 
77+             Assert . True ( asm . TryGetRawMetadata ( out  byte *  metadataBlob ,  out  int  length ) ) ; 
78+             var  reader  =  new  MetadataReader ( metadataBlob ,  length ) ; 
79+ 
80+             int  nestedClassToken  =  typeof ( TestNestedClass ) . MetadataToken ; 
81+             int  parentClassToken  =  typeof ( TypeDefinitionTests ) . MetadataToken ; 
82+ 
83+             TypeDefinition  nestedClassDef  =  reader . GetTypeDefinition ( ( TypeDefinitionHandle ) MetadataTokens . EntityHandle ( nestedClassToken ) ) ; 
84+             Assert . Equal ( MetadataTokens . EntityHandle ( parentClassToken ) ,  nestedClassDef . GetDeclaringType ( ) ) ; 
85+         } 
86+ 
87+         private  class  TestNestedClass ; 
88+ #endif
7689    } 
7790} 
0 commit comments