internal IList <SecurityDeclaration> GetSecurityDeclarationCollection(IHasSecurityDeclaration owner) { EnsureSecurityDeclarationsInitialized(); var result = new OwnedCollection <IHasSecurityDeclaration, SecurityDeclaration>(owner); foreach (uint rid in _securityDeclarations.GetValues(owner.MetadataToken)) { var attribute = (SecurityDeclaration)LookupMember(new MetadataToken(TableIndex.DeclSecurity, rid)); result.Add(attribute); } return(result); }
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); } }
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); } }