public void SetUp() { _mutableType = MutableTypeObjectMother.Create(baseType: typeof(DomainType)); _context = new TestableBodyContextBase(_mutableType, isStatic: false); _staticContext = new TestableBodyContextBase(_mutableType, isStatic: true); }
private void CopyMethodBodyAndCheckResult(BodyContextBase context, MethodAttributes methodAttributes) { var parameter = ParameterDeclarationObjectMother.CreateMultiple(2); var constantBodyPart = ExpressionTreeObjectMother.GetSomeExpression(typeof(int)); var body = Expression.Block(parameter[0].Expression, parameter[1].Expression, constantBodyPart); var methodToCopy = MutableMethodInfoObjectMother.Create( declaringType: _mutableType, attributes: methodAttributes, returnType: typeof(int), parameters: parameter, body: body); var arguments = parameter.Select(p => ExpressionTreeObjectMother.GetSomeExpression(p.Type)).ToArray(); var result = context.CopyMethodBody(methodToCopy, arguments.AsOneTime()); var expectedBody = Expression.Block(arguments[0], arguments[1], constantBodyPart); ExpressionTreeComparer.CheckAreEqualTrees(expectedBody, result); }
public void SetUp() { _context = new TestableBodyContextBase(MutableTypeObjectMother.Create(), false); }
private Expression CreateAssignExpression(IStorage storage, Func <ThisExpression, Expression> expressionProvider, BodyContextBase ctx) { return(Expression.Assign(storage.CreateStorageExpression(null), expressionProvider(null))); }