public DekiScriptDom Visit(DekiScriptDomJson expr, DekiScriptOptimizerState state) { DekiScriptExpression value = expr.Value.VisitWith(DekiScriptExpressionOptimizer.Instance, state); if (value is DekiScriptLiteral) { return(new DekiScriptDomText(expr.Location, DekiScriptLibrary.JsonEmit(((DekiScriptLiteral)value).NativeValue))); } return(new DekiScriptDomJson(expr.Location, value)); }
public Empty Visit(DekiScriptDomJson expr, DekiScriptDomEvaluationState state) { var context = state.Context; var env = state.Env; var parent = state.Parent; try { DekiScriptLiteral value = expr.Value.VisitWith(DekiScriptExpressionEvaluation.Instance, env); XmlText result = context.CreateTextNode(DekiScriptLibrary.JsonEmit(value.NativeValue)); parent.AppendChild(result); } catch (Exception e) { EmbedExceptionMessage(expr, env, context, e, parent); } return(Empty.Value); }