private string GetModuleName(IXCLRDataModule module) { StringBuilder name = new StringBuilder(MaxNameSize); uint nameLen; if (HR.Failed(module.GetName((uint)name.Capacity, out nameLen, name))) { return(null); } return(name.ToString()); }
private void TryGetTypeByMetadataToken(ArgumentOrLocal argOrLocal, IXCLRDataTypeInstance typeInstance) { object tmp; if (typeInstance.GetDefinition(out tmp) != HR.S_OK) { return; } IXCLRDataTypeDefinition typeDefinition = (IXCLRDataTypeDefinition)tmp; int typeTok; if (HR.S_OK == typeDefinition.GetTokenAndScope(out typeTok, out tmp)) { IXCLRDataModule module = (IXCLRDataModule)tmp; argOrLocal.ClrType = _context.GetTypeByMetadataToken( GetModuleName(module), typeTok); // This might fail if we don't have that type cached (unlikely) // or if the type is generic, which makes the token non-unique. } }
private string GetModuleName(IXCLRDataModule module) { StringBuilder name = new StringBuilder(MaxNameSize); uint nameLen; if (HR.Failed(module.GetName((uint)name.Capacity, out nameLen, name))) return null; return name.ToString(); }