The Method and Field table records don't carry a token (or RID) of the parent class, so the records in Method (or MethodPtr) and Field (or FieldPtr) tables pertaining to the same class must be contiguous. A TypeDef record carries RIDs of first method and field pertaining to this class.
With InterfaceImpl records, the story is quite different. First of all, a TypeDef record carries no RID or token pointing to the InterfaceImpl table. Second, an InterfaceImpl record carries both the RID of implementing class and the token of the implemented interface. Hence, there is no requirement that the InterfaceImpl records pertaining to the same class be contiguous. Thanks, Serge -----Original Message----- From: Brent E. Rector [mailto:[EMAIL PROTECTED]] Sent: Saturday, May 11, 2002 11:38 PM To: [EMAIL PROTECTED] Subject: [DOTNET] Partition II metadata spec question Re: the InterfaceImpl table. In the metadata, the interfaces implemented by a type consume a contiguous range in the InterfaceImpl table. That is, it's possible to specify the interfaces implemented by a type using a tuple consisting of the indices of first and last entries for the type in the InterfaceImpl table. Some other metadata tables explicitly support using such references (Field, Method). However there is no such guarantee in the spec for the InterfaceImpl table. Will the InterfaceImpl table always have a type's interfaces listed in a contiguous range? (I'm assuming that Class==0 entries are ignored.) Brent Rector Demeanor for .NET - the premier .NET obfuscation utility http://www.wiseowl.com/Products/Products.aspx You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.