public static tMetaData *GetResolutionScopeMetaData(tMetaData *pMetaData, /*IDX_TABLE*/ uint resolutionScopeToken, tMD_TypeDef **ppInNestedType) { switch (MetaData.TABLE_ID(resolutionScopeToken)) { case MetaDataTable.MD_TABLE_ASSEMBLYREF: { tMD_AssemblyRef *pAssemblyRef; pAssemblyRef = (tMD_AssemblyRef *)MetaData.GetTableRow(pMetaData, resolutionScopeToken); *ppInNestedType = null; return(CLIFile.GetMetaDataForAssembly(pAssemblyRef->name)); } case MetaDataTable.MD_TABLE_TYPEREF: { tMD_TypeDef *pTypeDef; pTypeDef = MetaData.GetTypeDefFromDefRefOrSpec(pMetaData, resolutionScopeToken, null, null); *ppInNestedType = pTypeDef; return(pTypeDef->pMetaData); } default: Sys.Crash("MetaData.GetResolutionScopeMetaData(): Cannot resolve token: 0x%08x", resolutionScopeToken); return(null); } }
public static tMD_TypeDef *GetTypeDefFromFullName(/*STRING*/ byte *assemblyName, /*STRING*/ byte *nameSpace, /*STRING*/ byte *name) { tMetaData *pTypeMetaData; pTypeMetaData = CLIFile.GetMetaDataForAssembly(assemblyName); // Note that this cannot get a nested class, as this final parameter is always null return(MetaData.GetTypeDefFromName(pTypeMetaData, nameSpace, name, null, /* assertExists */ 1)); }