Exemplo n.º 1
0
        public void RegisterWith(IEmittableOperandProvider emittableOperandProvider, MutableFieldInfo field)
        {
            ArgumentUtility.CheckNotNull("emittableOperandProvider", emittableOperandProvider);
            ArgumentUtility.CheckNotNull("field", field);

            _fieldBuilder.RegisterWith(emittableOperandProvider, field);
        }
Exemplo n.º 2
0
        public void AddMapping(MutableFieldInfo mappedField, FieldInfo emittableField)
        {
            ArgumentUtility.CheckNotNull("mappedField", mappedField);
            ArgumentUtility.CheckNotNull("emittableField", emittableField);

            AddMapping(_mappedFields, mappedField, emittableField);
        }
Exemplo n.º 3
0
        public void AddExtensionsField()
        {
            _extensionsFieldInfo = _concreteTarget.AddField("__extensions", FieldAttributes.Private, typeof(object[]));
            new AttributeGenerator().AddDebuggerBrowsableAttribute(_extensionsFieldInfo, DebuggerBrowsableState.Never);

            _extensionsField = GetFieldExpression(_extensionsFieldInfo);
        }
Exemplo n.º 4
0
        public void ConversionSucceeds()
        {
            var    prop   = new MutableFieldInfo(typeof(TestObject <int>).GetTypeInfo().GetField("Value"));
            var    obj    = new TestObject <int>();
            Action setter = () => prop.SetValue(obj, 3L);

            setter.ShouldNotThrow();
        }
Exemplo n.º 5
0
        public void ConversionFails()
        {
            var    prop   = new MutableFieldInfo(typeof(TestObject <Guid>).GetTypeInfo().GetField("Value"));
            var    obj    = new TestObject <Guid>();
            Action setter = () => prop.SetValue(obj, 3.0);

            setter.ShouldThrow <ArgumentException>();
        }
Exemplo n.º 6
0
        public void AddField(CodeGenerationContext context, MutableFieldInfo field)
        {
            ArgumentUtility.CheckNotNull("context", context);
            ArgumentUtility.CheckNotNull("field", field);

            var fieldBuilder = context.TypeBuilder.DefineField(field.Name, field.FieldType, field.Attributes);

            fieldBuilder.RegisterWith(context.EmittableOperandProvider, field);

            DefineCustomAttributes(fieldBuilder, field);
        }
Exemplo n.º 7
0
        private IMutableMember CreateMutableInfo(params CustomAttributeDeclaration[] customAttributes)
        {
            var member = new MutableFieldInfo(MutableTypeObjectMother.Create(GetType()), "member", typeof(int), FieldAttributes.Private);

            foreach (var customAttriubte in customAttributes)
            {
                member.AddCustomAttribute(customAttriubte);
            }

            return(member);
        }
Exemplo n.º 8
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();
        }
Exemplo n.º 9
0
        public void Initialization()
        {
            var declaringType = MutableTypeObjectMother.Create();
            var name          = "abc";
            var type          = ReflectionObjectMother.GetSomeType();
            var attributes    = (FieldAttributes)7;

            var field = new MutableFieldInfo(declaringType, name, type, attributes);

            Assert.That(field.DeclaringType, Is.SameAs(declaringType));
            Assert.That(field.MutableDeclaringType, Is.SameAs(declaringType));
            Assert.That(field.Name, Is.EqualTo(name));
            Assert.That(field.FieldType, Is.SameAs(type));
            Assert.That(field.Attributes, Is.EqualTo(attributes));
            Assert.That(field.AddedCustomAttributes, Is.Empty);
        }
Exemplo n.º 10
0
 public static void ModifyField(MutableFieldInfo mutableField)
 {
     mutableField.AddCustomAttribute(CustomAttributeDeclarationObjectMother.Create());
 }
 public void AddMapping(MutableFieldInfo mappedField, FieldInfo emittableField)
 {
     _emittableOperandProvider.AddMapping(mappedField, emittableField);
 }
Exemplo n.º 12
0
 public FieldInfo GetGeneratedField(MutableFieldInfo mutableField)
 {
     return((FieldInfo)GetGeneratedMember(mutableField));
 }
Exemplo n.º 13
0
 public void SetUp()
 {
     _field = MutableFieldInfoObjectMother.Create();
 }