MethodDefTableEntry (CLR_RECORD_METHODDEF)
The MethodRef table contains entries with the following structure
Name | Type | Description |
---|---|---|
Name | StringTableIndex | Index into String table for the name of the method |
RVA | MetadataOffset | Offset into the IL byte code blob table for the opcodes of the method |
Flags | MethodDefFlags | Flags to indicate intrinsic attributes and semantics of the method |
RetVal | DataType | DataType of the return value for the method |
ArgumentsCount | uint8_t | Count of arguments to the method |
LocalsCount | uint8_t | Count of local variables for the method |
LengthEvalStack | uint8_t | Length of the evaluation stack for the method |
Locals | SigTableIndex | Index into Signature table to describe the locals for the method |
FirstGenericParam | GenericParamTableIndex | Index into GenericParam table for the first generic parameter of the method |
GenericParamCount | uint8_t | Count of generic parameters for the method |
Signature | SigTableIndex | Index into Signature table that describes the method itself |
Signature Table Usage
The method Def has multiple references to the signature table each describes some aspect of the method in distinct ways. This section describes the sequence of entries in the signature and their meanings for a method definition.
Locals Signature Table
(TODO: Define allowed sequence chains for local signatures. ECMA uses diagrams for this - consider using SVG here)
Method Signature
(TODO: Define allowed sequence chains for the method's signature. ECMA uses diagrams for this - consider using SVG here)