JintThisExpression.cs 638 B

12345678910111213141516171819202122232425
  1. using Esprima.Ast;
  2. using Jint.Native;
  3. namespace Jint.Runtime.Interpreter.Expressions
  4. {
  5. internal sealed class JintThisExpression : JintExpression
  6. {
  7. public JintThisExpression(Engine engine, ThisExpression expression) : base(engine, expression)
  8. {
  9. }
  10. protected override object EvaluateInternal()
  11. {
  12. return _engine.ResolveThisBinding();
  13. }
  14. public override JsValue GetValue()
  15. {
  16. // need to notify correct node when taking shortcut
  17. _engine._lastSyntaxNode = _expression;
  18. return _engine.ResolveThisBinding();
  19. }
  20. }
  21. }