Beispiel #1
0
 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 });
 }