JintClassExpression.cs 617 B

12345678910111213141516171819
  1. using Jint.Native.Function;
  2. namespace Jint.Runtime.Interpreter.Expressions;
  3. internal sealed class JintClassExpression : JintExpression
  4. {
  5. private readonly ClassDefinition _classDefinition;
  6. public JintClassExpression(ClassExpression expression) : base(expression)
  7. {
  8. _classDefinition = new ClassDefinition(expression.Id?.Name, expression.SuperClass, expression.Body);
  9. }
  10. protected override object EvaluateInternal(EvaluationContext context)
  11. {
  12. var env = context.Engine.ExecutionContext.LexicalEnvironment;
  13. return _classDefinition.BuildConstructor(context, env);
  14. }
  15. }