Example #1
0
 public void AddAssemblyFile(
     StringIdx name,
     BlobIdx hashValue,
     bool containsMetadata)
 {
     _fileTable.Add(new FileTableRow
     {
         FileName = name,
         Flags = containsMetadata ? 0u : 1u,
         HashValue = hashValue
     });
 }
Example #2
0
        public void AddDeclarativeSecurityAttribute(
            uint parent,
            DeclarativeSecurityAction action,
            BlobIdx permissionSet)
        {
            // the table is required to be sorted by Parent:
            _declSecurityTableNeedsSorting |= parent < _declSecurityTableLastParent;
            _declSecurityTableLastParent = parent;

            _declSecurityTable.Add(new DeclSecurityRow
            {
                Parent = parent,
                Action = (ushort)action,
                PermissionSet = permissionSet
            });
        }
Example #3
0
 public void AddMethodDefinition(
     MethodAttributes attributes, 
     MethodImplAttributes implAttributes,
     StringIdx name,
     BlobIdx signature,
     int relativeVirtualAddress,
     int paramList)
 {
     _methodDefTable.Add(new MethodRow
     {
         Flags = (ushort)attributes,
         ImplFlags = (ushort)implAttributes,
         Name = name,
         Signature = signature,
         Rva = relativeVirtualAddress,
         ParamList = (uint)paramList
     });
 }
Example #4
0
 public void AddMemberReference(
     uint type,
     StringIdx name,
     BlobIdx signature)
 {
     _memberRefTable.Add(new MemberRefRow
     {
         Class = type,
         Name = name,
         Signature = signature
     });
 }
Example #5
0
 public void AddFieldDefinition(
     FieldAttributes attributes,
     StringIdx name,
     BlobIdx signature)
 {
     _fieldTable.Add(new FieldDefRow
     {
         Flags = (ushort)attributes,
         Name = name,
         Signature = signature
     });
 }
Example #6
0
        public void AddMarshallingDescriptor(
            uint parent,
            BlobIdx descriptor)
        {
            // the table is required to be sorted by Parent:
            _fieldMarshalTableNeedsSorting |= parent < _fieldMarshalTableLastParent;
            _fieldMarshalTableLastParent = parent;

            _fieldMarshalTable.Add(new FieldMarshalRow
            {
                Parent = parent,
                NativeType = descriptor
            });
        }
Example #7
0
        public void AddCustomAttribute(uint parent, uint constructor, BlobIdx value)
        {
            // the table is required to be sorted by Parent:
            _customAttributeTableNeedsSorting |= parent < _customAttributeTableLastParent;
            _customAttributeTableLastParent = parent;

            _customAttributeTable.Add(new CustomAttributeRow
            {
                Parent = parent,
                Type = constructor,
                Value = value
            });
        }
Example #8
0
 public void AddMethodSpecification(uint method, BlobIdx instantiation)
 {
     _methodSpecTable.Add(new MethodSpecRow
     {
         Method = method,
         Instantiation = instantiation
     });
 }
Example #9
0
 public void AddProperty(PropertyAttributes attributes, StringIdx name, BlobIdx signature)
 {
     _propertyTable.Add(new PropertyRow
     {
         PropFlags = (ushort)attributes,
         Name = name,
         Type = signature
     });
 }
Example #10
0
 public void AddStandaloneSignature(BlobIdx signature)
 {
     _standAloneSigTable.Add(new StandaloneSigRow
     {
         Signature = signature
     });
 }
Example #11
0
 public void AddTypeSpecification(BlobIdx signature)
 {
     _typeSpecTable.Add(new TypeSpecRow
     {
         Signature = signature
     });
 }
Example #12
0
 public void AddAssemblyReference(
     StringIdx name,
     Version version,
     StringIdx culture,
     BlobIdx publicKeyOrToken,
     AssemblyFlags flags,
     BlobIdx hashValue)
 {
     _assemblyRefTable.Add(new AssemblyRefTableRow
     {
         Name = name,
         Version = version,
         Culture = culture,
         PublicKeyToken = publicKeyOrToken,
         Flags = (uint)flags,
         HashValue = hashValue
     });
 }
Example #13
0
 public void AddAssembly(
     StringIdx name, 
     Version version,
     StringIdx culture,
     BlobIdx publicKey,
     AssemblyFlags flags,
     AssemblyHashAlgorithm hashAlgorithm)
 {
     _assemblyTable.Add(new AssemblyRow
     {
         Flags = (ushort)flags,
         HashAlgorithm = (uint)hashAlgorithm,
         Version = version,
         AssemblyKey = publicKey,
         AssemblyName = name,
         AssemblyCulture = culture
     });
 }