public MutableTypeCodeGenerator( MutableType mutableType, IMutableNestedTypeCodeGeneratorFactory nestedTypeCodeGeneratorFactory, IReflectionEmitCodeGenerator codeGenerator, IEmittableOperandProvider emittableOperandProvider, IMemberEmitter memberEmitter, IInitializationBuilder initializationBuilder, IProxySerializationEnabler proxySerializationEnabler) { ArgumentUtility.CheckNotNull("mutableType", mutableType); ArgumentUtility.CheckNotNull("nestedTypeCodeGeneratorFactory", nestedTypeCodeGeneratorFactory); ArgumentUtility.CheckNotNull("codeGenerator", codeGenerator); ArgumentUtility.CheckNotNull("emittableOperandProvider", emittableOperandProvider); ArgumentUtility.CheckNotNull("memberEmitter", memberEmitter); ArgumentUtility.CheckNotNull("initializationBuilder", initializationBuilder); ArgumentUtility.CheckNotNull("proxySerializationEnabler", proxySerializationEnabler); _mutableType = mutableType; _nestedTypeCodeGeneratorFactory = nestedTypeCodeGeneratorFactory; _codeGenerator = codeGenerator; _emittableOperandProvider = emittableOperandProvider; _memberEmitter = memberEmitter; _initializationBuilder = initializationBuilder; _proxySerializationEnabler = proxySerializationEnabler; }
public virtual void SetUp() { _mockRepository = new MockRepository(); _mutableType = MutableTypeObjectMother.Create(); _nestedTypeCodeGeneratorFactoryMock = _mockRepository.StrictMock <IMutableNestedTypeCodeGeneratorFactory>(); _codeGeneratorMock = _mockRepository.StrictMock <IReflectionEmitCodeGenerator>(); _emittableOperandProviderMock = _mockRepository.StrictMock <IEmittableOperandProvider> (); _memberEmitterMock = _mockRepository.StrictMock <IMemberEmitter>(); _initializationBuilderMock = _mockRepository.StrictMock <IInitializationBuilder>(); _proxySerializationEnablerMock = _mockRepository.StrictMock <IProxySerializationEnabler>(); _generator = new MutableTypeCodeGenerator( _mutableType, _nestedTypeCodeGeneratorFactoryMock, _codeGeneratorMock, _emittableOperandProviderMock, _memberEmitterMock, _initializationBuilderMock, _proxySerializationEnablerMock); _typeBuilderMock = _mockRepository.StrictMock <ITypeBuilder>(); _debugInfoGeneratorMock = _mockRepository.StrictMock <DebugInfoGenerator>(); _fakeInitializationField = ReflectionObjectMother.GetSomeField(); _fakeInitializationMethod = ReflectionObjectMother.GetSomeMethod(); _fakeInitializationMembers = Tuple.Create(_fakeInitializationField, _fakeInitializationMethod); }
public void SetUp() { _memberEmitterFactoryMock = MockRepository.GenerateStrictMock <IMemberEmitterFactory>(); _codeGeneratorMock = MockRepository.GenerateStrictMock <IReflectionEmitCodeGenerator>(); _initializationBuilderMock = MockRepository.GenerateStrictMock <IInitializationBuilder>(); _proxySerializationEnablerMock = MockRepository.GenerateStrictMock <IProxySerializationEnabler>(); _factory = new MutableTypeCodeGeneratorFactory( _memberEmitterFactoryMock, _codeGeneratorMock, _initializationBuilderMock, _proxySerializationEnablerMock); }
public MutableTypeCodeGeneratorFactory( IMemberEmitterFactory memberEmitterFactory, IReflectionEmitCodeGenerator codeGenerator, IInitializationBuilder initializationBuilder, IProxySerializationEnabler proxySerializationEnabler) { ArgumentUtility.CheckNotNull("memberEmitterFactory", memberEmitterFactory); ArgumentUtility.CheckNotNull("codeGenerator", codeGenerator); ArgumentUtility.CheckNotNull("initializationBuilder", initializationBuilder); ArgumentUtility.CheckNotNull("proxySerializationEnabler", proxySerializationEnabler); _memberEmitterFactory = memberEmitterFactory; _codeGenerator = codeGenerator; _initializationBuilder = initializationBuilder; _proxySerializationEnabler = proxySerializationEnabler; }
public MutableNestedTypeCodeGeneratorFactory( IReflectionEmitCodeGenerator reflectionEmitCodeGenerator, IEmittableOperandProvider emittableOperandProvider, IMemberEmitter memberEmitter, IInitializationBuilder initializationBuilder, IProxySerializationEnabler proxySerializationEnabler) { ArgumentUtility.CheckNotNull("reflectionEmitCodeGenerator", reflectionEmitCodeGenerator); ArgumentUtility.CheckNotNull("emittableOperandProvider", emittableOperandProvider); ArgumentUtility.CheckNotNull("memberEmitter", memberEmitter); ArgumentUtility.CheckNotNull("initializationBuilder", initializationBuilder); ArgumentUtility.CheckNotNull("proxySerializationEnabler", proxySerializationEnabler); _reflectionEmitCodeGenerator = reflectionEmitCodeGenerator; _emittableOperandProvider = emittableOperandProvider; _memberEmitter = memberEmitter; _initializationBuilder = initializationBuilder; _proxySerializationEnabler = proxySerializationEnabler; }
public MutableNestedTypeCodeGenerator( ITypeBuilder enclosingTypeBuilder, MutableType mutableType, IMutableNestedTypeCodeGeneratorFactory nestedTypeCodeGeneratorFactory, IReflectionEmitCodeGenerator codeGenerator, IEmittableOperandProvider emittableOperandProvider, IMemberEmitter memberEmitter, IInitializationBuilder initializationBuilder, IProxySerializationEnabler proxySerializationEnabler) : base( mutableType, nestedTypeCodeGeneratorFactory, codeGenerator, emittableOperandProvider, memberEmitter, initializationBuilder, proxySerializationEnabler) { ArgumentUtility.CheckNotNull("enclosingTypeBuilder", enclosingTypeBuilder); _enclosingTypeBuilder = enclosingTypeBuilder; }
protected override ITypeBuilder DefineType(IReflectionEmitCodeGenerator codeGenerator, IEmittableOperandProvider emittableOperandProvider) { return(_enclosingTypeBuilder.DefineNestedType(MutableType.Name, MutableType.Attributes)); }
protected virtual IMutableTypeBatchCodeGenerator NewMutableTypeBatchCodeGenerator(IReflectionEmitCodeGenerator reflectionEmitCodeGenerator) { var dependentTypeSorter = NewDependentTypeSorter(); var mutableTypeCodeGeneratorFactory = NewMutableTypeCodeGeneratorFactory(reflectionEmitCodeGenerator); return(new MutableTypeBatchCodeGenerator(dependentTypeSorter, mutableTypeCodeGeneratorFactory)); }
protected virtual IMutableTypeCodeGeneratorFactory NewMutableTypeCodeGeneratorFactory(IReflectionEmitCodeGenerator reflectionEmitCodeGenerator) { var memberEmitterFactory = NewMemberEmitterFactory(); var initializationBuilder = NewInitializationBuilder(); var proxySerializationEnabler = NewProxySerializationEnabler(); return(new MutableTypeCodeGeneratorFactory(memberEmitterFactory, reflectionEmitCodeGenerator, initializationBuilder, proxySerializationEnabler)); }
protected virtual ITypeBuilder DefineType(IReflectionEmitCodeGenerator codeGenerator, IEmittableOperandProvider emittableOperandProvider) { return(codeGenerator.DefineType(_mutableType.FullName, _mutableType.Attributes, emittableOperandProvider)); }