Esempio n. 1
0
        /// <summary>
        /// Creates a security declaration from a declaration metadata row.
        /// </summary>
        /// <param name="parentModule">The module that contains the security declaration.</param>
        /// <param name="token">The token to initialize the declaration for.</param>
        /// <param name="row">The metadata table row to base the security declaration on.</param>
        public SerializedSecurityDeclaration(SerializedModuleDefinition parentModule, MetadataToken token,
                                             SecurityDeclarationRow row)
            : base(token)
        {
            _parentModule = parentModule;
            _row          = row;

            Action = row.Action;
        }
Esempio n. 2
0
        private void AddSecurityDeclarations(MetadataToken ownerToken, IHasSecurityDeclaration provider)
        {
            var table   = Metadata.TablesStream.GetSortedTable <SecurityDeclaration, SecurityDeclarationRow>(TableIndex.DeclSecurity);
            var encoder = Metadata.TablesStream.GetIndexEncoder(CodedIndex.HasDeclSecurity);

            foreach (var declaration in provider.SecurityDeclarations)
            {
                var row = new SecurityDeclarationRow(
                    declaration.Action,
                    encoder.EncodeToken(ownerToken),
                    Metadata.BlobStream.GetBlobIndex(this, declaration.PermissionSet, DiagnosticBag));
                table.Add(declaration, row);
            }
        }
Esempio n. 3
0
        private void AddSecurityDeclarations(MetadataToken ownerToken, IHasSecurityDeclaration provider)
        {
            var table   = Metadata.TablesStream.GetSortedTable <SecurityDeclaration, SecurityDeclarationRow>(TableIndex.DeclSecurity);
            var encoder = Metadata.TablesStream.GetIndexEncoder(CodedIndex.HasDeclSecurity);

            for (int i = 0; i < provider.SecurityDeclarations.Count; i++)
            {
                var declaration = provider.SecurityDeclarations[i];
                var row         = new SecurityDeclarationRow(
                    declaration.Action,
                    encoder.EncodeToken(ownerToken),
                    Metadata.BlobStream.GetBlobIndex(this, declaration.PermissionSet, ErrorListener));
                table.Add(declaration, row);
            }
        }