JintMetaPropertyExpression.cs 695 B

12345678910111213141516171819202122232425
  1. using Esprima.Ast;
  2. namespace Jint.Runtime.Interpreter.Expressions
  3. {
  4. internal sealed class JintMetaPropertyExpression : JintExpression
  5. {
  6. private readonly bool _newTarget;
  7. public JintMetaPropertyExpression(Engine engine, MetaProperty expression) : base(engine, expression)
  8. {
  9. _newTarget = expression.Meta.Name == "new" && expression.Property.Name == "target";
  10. }
  11. protected override object EvaluateInternal()
  12. {
  13. if (_newTarget)
  14. {
  15. return _engine.GetNewTarget();
  16. }
  17. ExceptionHelper.ThrowNotImplementedException();
  18. return null;
  19. }
  20. }
  21. }