public DekiScriptDom Visit(DekiScriptDomExpr expr, DekiScriptOptimizerState state) { DekiScriptExpression value = expr.Value.VisitWith(DekiScriptExpressionOptimizer.Instance, state); // TODO: check if expression is literal return(new DekiScriptDomExpr(expr.Location, value)); }
public Empty Visit(DekiScriptDomExpr expr, DekiScriptDomEvaluationState state) { var context = state.Context; var env = state.Env; var parent = state.Parent; try { DekiScriptLiteral value = expr.Value.VisitWith(DekiScriptExpressionEvaluation.Instance, env.NewLocalScope()); context.InsertValueBeforeNode(parent, null, value); } catch (Exception e) { EmbedExceptionMessage(expr, env, context, e, parent); } return(Empty.Value); }