Esempio n. 1
0
        public void AddMapping(MutableGenericParameter mappedGenericParameter, Type emittableGenericParameter)
        {
            ArgumentUtility.CheckNotNull("mappedGenericParameter", mappedGenericParameter);
            ArgumentUtility.CheckNotNull("emittableGenericParameter", emittableGenericParameter);

            AddMapping(_mappedTypes, mappedGenericParameter, emittableGenericParameter);
        }
        public void RegisterWith(IEmittableOperandProvider emittableOperandProvider, MutableGenericParameter genericParameter)
        {
            ArgumentUtility.CheckNotNull("emittableOperandProvider", emittableOperandProvider);
            ArgumentUtility.CheckNotNull("genericParameter", genericParameter);

            _genericTypeParameterBuilder.RegisterWith(emittableOperandProvider, genericParameter);
        }
Esempio n. 3
0
        public void SetUp()
        {
            _delegateProviderMock = new Mock <IDelegateProvider> (MockBehavior.Strict);

            _provider = new EmittableOperandProvider(_delegateProviderMock.Object);

            _mutableType             = MutableTypeObjectMother.Create();
            _mutableGenericParameter = MutableGenericParameterObjectMother.Create();
            _mutableField            = MutableFieldInfoObjectMother.Create();
            _mutableConstructor      = MutableConstructorInfoObjectMother.Create();
            _mutableMethod           = MutableMethodInfoObjectMother.Create();

            _emittableType = ReflectionObjectMother.GetSomeType();
        }
Esempio n. 4
0
        public void SetUp()
        {
            _position  = 7;
            _name      = "_parameter";
            _namespace = "namespace";
            _genericParameterAttributes = (GenericParameterAttributes)7;

            _parameter = new MutableGenericParameter(_position, _name, _namespace, _genericParameterAttributes);

            _baseTypeConstraint  = typeof(DomainType);
            _interfaceConstraint = ReflectionObjectMother.GetSomeInterfaceType();

            _constrainedParameter = MutableGenericParameterObjectMother.Create(constraints: new[] { _baseTypeConstraint, _interfaceConstraint }.AsOneTime());
        }
Esempio n. 5
0
        public static MutableGenericParameter Create(
            int position      = 7,
            string name       = "T",
            string @namespace = "MyNs",
            GenericParameterAttributes genericParameterAttributes = GenericParameterAttributes.None,
            IEnumerable <Type> constraints = null,
            IMemberSelector memberSelector = null)
        {
            constraints    = constraints ?? Type.EmptyTypes;
            memberSelector = memberSelector ?? new MemberSelector(new BindingFlagsEvaluator());

            var genericParameter = new MutableGenericParameter(position, name, @namespace, genericParameterAttributes);

            genericParameter.SetGenericParameterConstraints(constraints);

            return(genericParameter);
        }
 public void AddMapping(MutableGenericParameter mappedGenericParameter, Type emittableGenericParameter)
 {
     _emittableOperandProvider.AddMapping(mappedGenericParameter, emittableGenericParameter);
 }
Esempio n. 7
0
        public void SetUp()
        {
            _declaringType = MutableGenericParameterObjectMother.Create();

            _constructor = new GenericParameterDefaultConstructor(_declaringType);
        }
Esempio n. 8
0
        private void DefineGenericParameter(IGenericTypeParameterBuilder genericTypeParameterBuilder, MutableGenericParameter genericParameter)
        {
            // The following differs from just calling genericParameter.GetInterfaces() as it does not repeat the interfaces of the base type.
            var interfaceConstraints = genericParameter.GetGenericParameterConstraints().Where(g => g.IsInterface).ToArray();

            genericTypeParameterBuilder.SetGenericParameterAttributes(genericParameter.GenericParameterAttributes);
            genericTypeParameterBuilder.SetBaseTypeConstraint(genericParameter.BaseType);
            genericTypeParameterBuilder.SetInterfaceConstraints(interfaceConstraints);

            DefineCustomAttributes(genericTypeParameterBuilder, genericParameter);
        }