using Esprima.Ast; using Jint.Native; namespace Jint.Runtime.Interpreter.Expressions { /// /// Constant JsValue returning expression. /// internal sealed class JintConstantExpression : JintExpression { private readonly JsValue _value; public JintConstantExpression(Engine engine, Expression expression, JsValue value) : base(engine, expression) { _value = value; } /// /// Resolves the underlying value for this expression. /// By default uses the Engine for resolving. /// /// public override JsValue GetValue() { // need to notify correct node when taking shortcut _engine._lastSyntaxNode = _expression; return _value; } protected override object EvaluateInternal() => _value; } }