public DekiScriptExpression Visit(DekiScriptXmlConstructor expr, DekiScriptOptimizerState state) { var mode = state.Mode; var env = state.Env; DekiScriptDom value = expr.Value.VisitWith(DekiScriptDomOptimizer.Instance, state); if (!value.IsDynamic) { // we can simply take the result to an expression return(new DekiScriptXml(DekiScriptDomEvaluation.Instance.Evaluate(value, mode, true, env))); } return(new DekiScriptXmlConstructor(value)); }
public DekiScriptLiteral Visit(DekiScriptXmlConstructor expr, DekiScriptEnv env) { XDoc xml = DekiScriptDomEvaluation.Instance.Evaluate(expr.Value, DekiScriptEvalMode.Evaluate, true, env); return(new DekiScriptXml(xml, env.IsSafeMode)); }