internal ReferencedCustomModifier(IType elementType, IType modifier, CustomModifierType modifierType)
     : base(elementType)
 {
     _elementType  = elementType;
     _modifier     = modifier;
     _modifierType = modifierType;
 }
        public CustomModifier(TypeSignature elementType, TypeSignature modifier, CustomModifierType modifierType)
        {
            if (elementType == null)
            {
                throw new ArgumentNullException("elementType");
            }

            _elementType  = elementType;
            _modifier     = modifier;
            _modifierType = modifierType;
        }
 public override IType GetCustomModifier(out CustomModifierType modifierType)
 {
     modifierType = _modifierType;
     return(_modifier);
 }
 ITypeSignature ITypeSignature.GetCustomModifier(out CustomModifierType modifierType)
 {
     return(GetCustomModifier(out modifierType));
 }
 public virtual IType GetCustomModifier(out CustomModifierType modifierType)
 {
     modifierType = CustomModifierType.ModOpt;
     return(null);
 }
 ITypeSignature ITypeSignature.GetCustomModifier(out CustomModifierType modifierType)
 {
     modifierType = CustomModifierType.ModOpt;
     return(null);
 }
        private static CustomModifier LoadMod(IBinaryAccessor accessor, Module module, CustomModifierType modType)
        {
            int token = MetadataToken.DecompressTypeDefOrRef(accessor.ReadCompressedInteger());

            var modifier = Load(module, token);

            var elementType = Load(accessor, module);

            return(new CustomModifier(elementType, modifier, modType));
        }