JintClassExpression.cs 671 B

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