Handling multiple definition of types

User assemblies can be created by a compiler that can handle more than one type definition during execution. Local copies are created for respective authoritative types in a code library, and the local copies are marked with a local type identifier. An authoritative type identifier (e.g., a globally...

Full description

Saved in:
Bibliographic Details
Main Authors Aharoni, Avner Y, Ng, Samuel Y, Shneerson, Michael, Maurer, Edward T, Krishnaswamy, Raja, Halverson, Kevin, Ng, Timothy Y, Tsingauz, Aleksey V
Format Patent
LanguageEnglish
Published 12.06.2012
Online AccessGet full text

Cover

Loading…
More Information
Summary:User assemblies can be created by a compiler that can handle more than one type definition during execution. Local copies are created for respective authoritative types in a code library, and the local copies are marked with a local type identifier. An authoritative type identifier (e.g., a globally unique identifier (GUID)) is copied from the authoritative type to the local type, and functions and properties associated with the local type are also copied from the authoritative type. Authoritative types are resolved for requested types when a local assembly references a local type from a compiled user assembly. The local type can be identified by a local type identifier, and an authoritative type can be retrieved from the code library that has a same authoritative type identifier as the requested type. A local copy of the retrieved authoritative type can be copied to the local assembly under compilation. The compiler can then emit user assemblies that comprise merely local types.