public virtual Formula Visit(ReflectiveFieldFormula formula) { Visit((FieldFormula)formula); return visitor.Visit(formula); }
public Formula Visit(ReflectiveFieldFormula formula) { return formula; }
public static void EvalFieldInfoSetValue_object_object(MethodCallExpression exp, ExpressionToFormulaState state) { exp.Object.ConvertTo(state.InlineValueState); var fi = (FieldInfo)state.InlineValueState.Result; var instance = default(Formula); if (!fi.IsStatic) { EvalExpression(exp.Arguments[0], state); instance = state.CurrentBlock.Formulas.Pop(); } var left = new ReflectiveFieldFormula(instance, fi); EvalExpression(exp.Arguments[1], state); var right = state.CurrentBlock.Formulas.Pop(); state.CurrentBlock.Formulas.Push(new AssignFormula() { Left = left, Right = right }); }