You should not forget that the ExportedType table is played by its own rules, and the 
rules are: an exported type can have Implementation (an analog of Resolution Scope in 
TypeRefs) of either a File (for top-level types) or another ExportedType (for nested 
types). If you expose a nested type Foo defined in some module as an ExportedType with 
implementation=File, you in effect claim that there is a top-level type Foo, defined 
in that module. This claim is obviously false, because the type you want to expose is 
nested. That's why you need to declare ExportedTypes for all levels of enclosing types 
if you want to expose a nested type.

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.

Reply via email to