#region using using Irony.Compiler; using ScriptNET.Runtime; #endregion namespace ScriptNET.Ast { /// /// Constant Expression /// internal class ScriptConstExpr : ScriptExpr { private object m_value; /// /// Value of the constant /// public object Value { get { return m_value; } set { m_value = value; } } public ScriptConstExpr(AstNodeArgs args) : base(args) { Token cons = (Token)ChildNodes[0]; Value = cons.Value; if (Value.Equals("true")) Value = true; if (Value.Equals("false")) Value = false; if (Value.Equals("null")) Value = null; } public override void Evaluate(IScriptContext context) { context.Result = m_value; } } }