# Tables

The CLR header consists mainly of tables that all reside in the #~/- stream. While the CLI specification describes 38 tables, there are actually more which are however undocumented. The full list of tables is as follows:

Table name Documented in CLI Supported in version
Module Yes 0.1.0 (partly)
TypeRef Yes 0.1.0 (partly)
TypeDef Yes 0.1.0 (partly)
FieldPtr No -
Field Yes -
MethodPtr No -
MethodDef Yes 0.1.0 (partly)
ParamPtr No -
Param Yes -
InterfaceImpl Yes -
MemberRef Yes 0.1.0 (partly)
Constant Yes -
CustomAttribute Yes -
FieldMarshal Yes -
DeclSecurity Yes -
ClassLayout Yes -
FieldLayout Yes -
StandAloneSig Yes -
EventMap Yes -
EventPtr No -
Event Yes 0.1.0 (partly)
PropertyMap Yes -
PropertyPtr No -
Property Yes -
MethodSemantics Yes -
MethodImpl Yes -
ModuleRef Yes 0.1.0
TypeSpec Yes -
ImplMap Yes 0.1.0 (partly)
FieldRVA Yes -
EncLog No -
EncMap No -
Assembly Yes 0.1.0 (partly)
AssemblyProcessor Yes -
AssemblyOS Yes -
AssemblyRef Yes 0.1.0 (partly)
AssemblyRefProcessor Yes -
AssemblyRefOS Yes -
File Yes -
ExportedType Yes -
ManifestResource Yes -
NestedClass Yes -
GenericParam Yes -
MethodSpec Yes -
GenericParamConstraint Yes -
Document No -
MethodDebugInformation No -
LocalScope No -
LocalVariable No -
LocalConstant No -
ImportScope No -
StateMachineMethod No -
CustomDebugInformation No -