JintThisExpression.cs 681 B

123456789101112131415161718192021222324
  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(ThisExpression expression) : base(expression)
  8. {
  9. }
  10. protected override object EvaluateInternal(EvaluationContext context)
  11. {
  12. return context.Engine.ResolveThisBinding();
  13. }
  14. public override JsValue GetValue(EvaluationContext context)
  15. {
  16. // need to notify correct node when taking shortcut
  17. context.LastSyntaxElement = _expression;
  18. return context.Engine.ResolveThisBinding();
  19. }
  20. }
  21. }