public override void Parse(CLRMetaDataParser parser) { if (parser.ReadU16() != 0) throw new ParseFailedException("Bad Generation value"); Name = parser.ReadString(); Mvid = parser.ReadGuid(); CLRGuid encId = parser.ReadGuid(); CLRGuid encBaseId = parser.ReadGuid(); if (encId != null || encBaseId != null) throw new ParseFailedException("Unexpected EncId/EncBaseId values"); }
public override void Parse(CLRMetaDataParser parser) { Offset = parser.ReadU32(); uint flags = parser.ReadU32(); uint visibility = (flags & 0x7); if (visibility < 0x1 || visibility > 0x2) throw new ParseFailedException("Unexpected visibility on manifest resource"); Visibility = (ManifestResourceVisibility)visibility; Name = parser.ReadString(); Implementation = parser.ReadImplementation(); }
public override void Parse(CLRMetaDataParser parser) { Number = parser.ReadU16(); uint flags = parser.ReadU16(); Owner = parser.ReadTypeOrMethodDef(); Name = parser.ReadString(); Constraints = new List<CLRGenericParamConstraintRow>(); Variance = (VarianceEnum)(flags & 0x3); ReferenceTypeConstraint = ((flags & 0x4) != 0); NotNullableValueTypeConstraint = ((flags & 0x8) != 0); DefaultConstructorConstraint = ((flags & 0x10) != 0); }
public override void Parse(CLRMetaDataParser parser) { MajorVersion = parser.ReadU16(); MinorVersion = parser.ReadU16(); BuildNumber = parser.ReadU16(); RevisionNumber = parser.ReadU16(); uint flags = parser.ReadU32(); PublicKeyOrToken = parser.ReadBlob(); Name = parser.ReadString(); Culture = parser.ReadString(); HashValue = parser.ReadBlob(); HasPublicKey = ((flags & 0x1) != 0); Retargetable = ((flags & 0x100) != 0); DisableJITcompileOptimizer = ((flags & 0x4000) != 0); EnableJITcompileTracking = ((flags & 0x8000) != 0); }
public override void Parse(CLRMetaDataParser parser) { HashAlgId = (AssemblyHashAlgorithm)parser.ReadU32(); if (HashAlgId != AssemblyHashAlgorithm.None && HashAlgId != AssemblyHashAlgorithm.ReservedMD5 && HashAlgId != AssemblyHashAlgorithm.SHA1) throw new ParseFailedException("Unknown hash algorith"); MajorVersion = parser.ReadU16(); MinorVersion = parser.ReadU16(); BuildNumber = parser.ReadU16(); RevisionNumber = parser.ReadU16(); uint flags = parser.ReadU32(); PublicKey = parser.ReadBlob(); Name = parser.ReadString(); Culture = parser.ReadString(); HasPublicKey = ((flags & 0x1) != 0); Retargetable = ((flags & 0x100) != 0); DisableJITcompileOptimizer = ((flags & 0x4000) != 0); EnableJITcompileTracking = ((flags & 0x8000) != 0); }
public override void Parse(CLRMetaDataParser parser) { m_childClasses = new List<CLRTypeDefRow>(); m_implementedInterfaces = new List<CLRTableRow>(); m_methodImpls = new List<CLRMethodImplRow>(); GenericParameters = null; uint flags = parser.ReadU32(); uint vis = flags & 0x07; if (vis > 0x07) throw new ParseFailedException("Invalid visibility"); uint layout = flags & 0x18; if (layout != 0x0 && layout != 0x08 && layout != 0x10) throw new ParseFailedException("Invalid layout"); uint semantics = flags & 0x20; if (semantics != 0 && semantics != 0x20) throw new ParseFailedException("Invalid semantics"); Visibility = (TypeVisibility)vis; ClassLayout = (TypeClassLayout)layout; Semantics = (TypeSemantics)semantics; IsAbstract = (flags & 0x80) != 0; IsSealed = (flags & 0x100) != 0; IsSpecialName = (flags & 0x400) != 0; IsImported = (flags & 0x1000) != 0; IsSerializable = (flags & 0x2000) != 0; StringFormat = (TypeStringFormat)(flags & 0x30000); CustomStringFormat = (byte)((flags & 0xc00000) >> 22); IsBeforeFieldInit = (flags & 0x100000) != 0; IsRTSpecialName = (flags & 0x800) != 0; HasSecurity = (flags & 0x40000) != 0; IsTypeForwarder = (flags & 0x200000) != 0; TypeName = parser.ReadString(); TypeNamespace = parser.ReadString(); Extends = parser.ReadTypeDefOrRefOrSpec(); m_firstField = parser.ReadTableRawRow(CLRMetaDataTables.TableIndex.Field); m_firstMethodDef = parser.ReadTableRawRow(CLRMetaDataTables.TableIndex.MethodDef); if (m_firstField == 0 || m_firstMethodDef == 0) throw new ParseFailedException("Invalid method/field def span"); }
public override void Parse(CLRMetaDataParser parser) { ResolutionScope = parser.ReadResolutionScope(); TypeName = parser.ReadString(); TypeNamespace = parser.ReadString(); }