@@ -32,5 +32,41 @@ public void ValidateTypeDefinitionIsNestedWindowsProjection()
32
32
Assert . Equal ( typeDef . Attributes . IsNested ( ) , typeDef . IsNested ) ;
33
33
}
34
34
}
35
+
36
+ [ Fact ]
37
+ public void ValidateDeclaringType ( )
38
+ {
39
+ var reader = MetadataReaderTests . GetMetadataReader ( Misc . Members ) ;
40
+
41
+ foreach ( var typeDefHandle in reader . TypeDefinitions )
42
+ {
43
+ var typeDef = reader . GetTypeDefinition ( typeDefHandle ) ;
44
+ foreach ( var nestedTypeHandle in typeDef . GetNestedTypes ( ) )
45
+ {
46
+ var nestedType = reader . GetTypeDefinition ( nestedTypeHandle ) ;
47
+ Assert . Equal ( typeDefHandle , nestedType . GetDeclaringType ( ) ) ;
48
+ }
49
+ foreach ( var fieldHandle in typeDef . GetFields ( ) )
50
+ {
51
+ var field = reader . GetFieldDefinition ( fieldHandle ) ;
52
+ Assert . Equal ( typeDefHandle , field . GetDeclaringType ( ) ) ;
53
+ }
54
+ foreach ( var methodHandle in typeDef . GetMethods ( ) )
55
+ {
56
+ var method = reader . GetMethodDefinition ( methodHandle ) ;
57
+ Assert . Equal ( typeDefHandle , method . GetDeclaringType ( ) ) ;
58
+ }
59
+ foreach ( var eventHandle in typeDef . GetEvents ( ) )
60
+ {
61
+ var eventDef = reader . GetEventDefinition ( eventHandle ) ;
62
+ Assert . Equal ( typeDefHandle , eventDef . GetDeclaringType ( ) ) ;
63
+ }
64
+ foreach ( var propertyHandle in typeDef . GetProperties ( ) )
65
+ {
66
+ var property = reader . GetPropertyDefinition ( propertyHandle ) ;
67
+ Assert . Equal ( typeDefHandle , property . GetDeclaringType ( ) ) ;
68
+ }
69
+ }
70
+ }
35
71
}
36
72
}
0 commit comments