public void SetBody(LambdaExpression body, IILGeneratorFactory ilGeneratorFactory, DebugInfoGenerator debugInfoGeneratorOrNull) { ArgumentUtility.CheckNotNull("body", body); ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory); _methodBaseBuilder.SetBody(body, ilGeneratorFactory, debugInfoGeneratorOrNull); }
public ConstructorBuilderForLambdaCompiler(ConstructorBuilder constructorBuilder, IILGeneratorFactory ilGeneratorFactory) { ArgumentUtility.CheckNotNull("constructorBuilder", constructorBuilder); ArgumentUtility.CheckNotNull("ilGeneratorFactory", ilGeneratorFactory); _constructorBuilder = constructorBuilder; _ilGeneratorFactory = ilGeneratorFactory; }
public ILGeneratorDecoratorFactory(IILGeneratorFactory innerFactory, IEmittableOperandProvider emittableOperandProvider) { ArgumentUtility.CheckNotNull("innerFactory", innerFactory); ArgumentUtility.CheckNotNull("emittableOperandProvider", emittableOperandProvider); _innerFactory = innerFactory; _emittableOperandProvider = emittableOperandProvider; }
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); }
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); }
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(); }
public void SetUp() { _innerFactoryStub = MockRepository.GenerateStub <IILGeneratorFactory>(); _emittableOperandProviderMock = MockRepository.GenerateStrictMock <IEmittableOperandProvider>(); _decoratorFactory = new ILGeneratorDecoratorFactory(_innerFactoryStub, _emittableOperandProviderMock); }