Ejemplo n.º 1
0
 private void AddMissingGenericParameters(IGenericParamProvider provider, int index)
 {
     for (int i = provider.GenericParameters.Length; i <= index; i++)
     {
         provider.AddGenericParameter(new GenericParameter(provider, i));
     }
 }
Ejemplo n.º 2
0
 public GenericParameter(string name, ushort index, GenericParameterAttributes attributes, IGenericParamProvider owner)
     : base(new MetaDataRow(index, (ushort)attributes, 0U, 0U))
 {
     this._name = name;
     if (string.IsNullOrEmpty(name))
     {
         this._name = string.Format("{0}{1}", owner.ParamType == GenericParamType.Type ? "!" : "!!", index);
     }
     this._owner = owner;
 }
Ejemplo n.º 3
0
 public GenericParameter(string name, ushort index, GenericParameterAttributes attributes, IGenericParamProvider owner)
     : base(new MetaDataRow(index, (ushort)attributes, 0U, 0U))
 {
     this._name = name;
     if (string.IsNullOrEmpty(name))
     {
         this._name = string.Format("{0}{1}", owner.ParamType == GenericParamType.Type ? "!" : "!!", index);
     }
     this._owner = owner;
 }
Ejemplo n.º 4
0
        private TypeReference GetGenericParameter(GenericParamType type, int index)
        {
            if (GenericContext != null)
            {
                IGenericParamProvider paramProvider = null;
                if (type == GenericParamType.Method)
                {
                    paramProvider = GenericContext.Method;
                }
                else
                {
                    paramProvider = GenericContext.Type;
                }
                AddMissingGenericParameters(paramProvider, index);
                return(paramProvider.GenericParameters[index]);
            }

            return(new GenericParameter(string.Format("{0}{1}", type == GenericParamType.Method ? "!!" : "!", index), (ushort)index, GenericParameterAttributes.NonVariant, null));
        }
Ejemplo n.º 5
0
 private void AddMissingGenericParameters(IGenericParamProvider provider, int index)
 {
     for (int i = provider.GenericParameters.Length; i <= index; i++)
     {
         provider.AddGenericParameter(new GenericParameter(provider, i));
     }
 }
Ejemplo n.º 6
0
 public override void LoadCache()
 {
     base.LoadCache();
     _owner = Owner;
 }
Ejemplo n.º 7
0
 public GenericParameter(IGenericParamProvider owner, int index)
     : this(string.Empty, (ushort)index, GenericParameterAttributes.NonVariant, owner)
 {
 }
Ejemplo n.º 8
0
 public override void LoadCache()
 {
     base.LoadCache();
     _owner = Owner;
 }
Ejemplo n.º 9
0
 public GenericParameter(IGenericParamProvider owner, int index)
     : this(string.Empty, (ushort)index, GenericParameterAttributes.NonVariant, owner)
 {
 }