Skip to content

Latest commit

 

History

History
27 lines (14 loc) · 1.28 KB

ii.22.32-nestedclass-0x29.md

File metadata and controls

27 lines (14 loc) · 1.28 KB

II.22.32 NestedClass: 0x29

The NestedClass table has the following columns:

  • NestedClass (an index into the TypeDef table)

  • EnclosingClass (an index into the TypeDef table)

NestedClass is defined as lexically 'inside' the text of its enclosing Type.

This contains informative text only.

The NestedClass table records which Type definitions are nested within which other Type definition. In a typical high-level language, the nested class is defined as lexically 'inside' the text of its enclosing Type

  1. The NestedClass table can contain zero or more rows

  2. NestedClass shall index a valid row in the TypeDef table [ERROR]

  3. EnclosingClass shall index a valid row in the TypeDef table (note particularly, it is not allowed to index the TypeRef table) [ERROR]

  4. There should be no duplicate rows (ie same values for NestedClass and EnclosingClass) [WARNING]

  5. A given Type can only be nested by one encloser. So, there cannot be two rows with the same value for NestedClass, but different value for EnclosingClass [ERROR]

  6. A given Type can 'own' several different nested Types, so it is perfectly valid to have two or more rows with the same value for EnclosingClass but different values for NestedClass

End informative text.