public void SetBody(LambdaExpression body, IILGeneratorFactory ilGeneratorFactory, DebugInfoGenerator debugInfoGeneratorOrNull)
        {
            ArgumentUtility.CheckNotNull("body", body);
            ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory);

            _methodBaseBuilder.SetBody(body, ilGeneratorFactory, debugInfoGeneratorOrNull);
        }
Example #2
0
        public ConstructorBuilderForLambdaCompiler(ConstructorBuilder constructorBuilder, IILGeneratorFactory ilGeneratorFactory)
        {
            ArgumentUtility.CheckNotNull("constructorBuilder", constructorBuilder);
            ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory);

            _constructorBuilder = constructorBuilder;
            _ilGeneratorFactory = ilGeneratorFactory;
        }
Example #3
0
        public ILGeneratorDecoratorFactory(IILGeneratorFactory innerFactory, IEmittableOperandProvider emittableOperandProvider)
        {
            ArgumentUtility.CheckNotNull("innerFactory", innerFactory);
            ArgumentUtility.CheckNotNull("emittableOperandProvider", emittableOperandProvider);

            _innerFactory             = innerFactory;
            _emittableOperandProvider = emittableOperandProvider;
        }
Example #4
0
        public MemberEmitter(IExpressionPreparer expressionPreparer, IILGeneratorFactory ilGeneratorFactory)
        {
            ArgumentUtility.CheckNotNull("expressionPreparer", expressionPreparer);
            ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory);

            _expressionPreparer = expressionPreparer;
            _ilGeneratorFactory = ilGeneratorFactory;
        }
        public void SetBody(LambdaExpression body, IILGeneratorFactory ilGeneratorFactory, DebugInfoGenerator debugInfoGeneratorOrNull)
        {
            ArgumentUtility.CheckNotNull("body", body);
            ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory);

            var builderForLambdaCompiler = new MethodBuilderForLambdaCompiler(_methodBuilder, ilGeneratorFactory, true);

            LambdaCompiler.Compile(body, builderForLambdaCompiler, debugInfoGeneratorOrNull);
        }
Example #6
0
        public MethodBuilderForLambdaCompiler(MethodBuilder methodBuilder, IILGeneratorFactory ilGeneratorFactory, bool ignoreSignatureModifications)
        {
            ArgumentUtility.CheckNotNull("methodBuilder", methodBuilder);
            ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory);

            _methodBuilder                = methodBuilder;
            _ilGeneratorFactory           = ilGeneratorFactory;
            _ignoreSignatureModifications = ignoreSignatureModifications;
        }
        public void SetBody(LambdaExpression body, IILGeneratorFactory ilGeneratorFactory, DebugInfoGenerator debugInfoGeneratorOrNull)
        {
            ArgumentUtility.CheckNotNull("body", body);
            ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory);

            if (body.ReturnType != typeof(void))
            {
                throw new ArgumentException("Body must be of void type.", "body");
            }

            var builderForLambdaCompiler = new ConstructorBuilderForLambdaCompiler(_constructorBuilder, ilGeneratorFactory);

            LambdaCompiler.Compile(body, builderForLambdaCompiler, debugInfoGeneratorOrNull);
        }
Example #8
0
        public void SetUp()
        {
            _expressionPreparerMock = MockRepository.GenerateStrictMock <IExpressionPreparer>();
            _ilGeneratorFactoryStub = MockRepository.GenerateStub <IILGeneratorFactory>();

            _emitter = new MemberEmitter(_expressionPreparerMock, _ilGeneratorFactoryStub);

            _typeBuilderMock = MockRepository.GenerateStrictMock <ITypeBuilder>();
            _emittableOperandProviderMock = MockRepository.GenerateStrictMock <IEmittableOperandProvider>();

            _context = CodeGenerationContextObjectMother.GetSomeContext(
                typeBuilder: _typeBuilderMock, emittableOperandProvider: _emittableOperandProviderMock);

            _fakeBody = ExpressionTreeObjectMother.GetSomeExpression();
        }
Example #9
0
 public void SetUp()
 {
     _innerFactoryStub             = MockRepository.GenerateStub <IILGeneratorFactory>();
     _emittableOperandProviderMock = MockRepository.GenerateStrictMock <IEmittableOperandProvider>();
     _decoratorFactory             = new ILGeneratorDecoratorFactory(_innerFactoryStub, _emittableOperandProviderMock);
 }