public override void Parse(CLRMetaDataParser parser) { Parent = parser.ReadHasCustomAttribute(); Constructor = parser.ReadCustomAttributeType(); m_rawValue = parser.ReadBlob(); m_tables = parser.Tables; }
public override void Parse(CLRMetaDataParser parser) { Type = (CLRSigType.ElementType)parser.ReadU8(); if (parser.ReadU8() != 0) throw new ParseFailedException("Pad missing"); Parent = parser.ReadHasConstant(); Value = parser.ReadBlob(); ICLRHasConstant hcParent = (ICLRHasConstant)Parent; CLRConstantRow[] newConstants; if (hcParent.AttachedConstants != null) { CLRConstantRow[] oldConstants = hcParent.AttachedConstants; newConstants = new CLRConstantRow[oldConstants.Length + 1]; for (int i = 0; i < oldConstants.Length; i++) newConstants[i] = oldConstants[i]; } else newConstants = new CLRConstantRow[1]; newConstants[newConstants.Length - 1] = this; hcParent.AttachedConstants = newConstants; }
public override void Parse(CLRMetaDataParser parser) { Signature = parser.ReadBlob(); }
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) { Method = parser.ReadMethodDefOrRef(); Instantiation = new CLRSigMethodSpec(new CLRSignatureParser(parser.ReadBlob(), parser.Tables)); }