JintExportNamedDeclaration.cs 882 B

1234567891011121314151617181920212223242526272829
  1. using Jint.Native;
  2. namespace Jint.Runtime.Interpreter.Statements;
  3. internal sealed class JintExportNamedDeclaration : JintStatement<ExportNamedDeclaration>
  4. {
  5. private JintStatement? _declarationStatement;
  6. public JintExportNamedDeclaration(ExportNamedDeclaration statement) : base(statement)
  7. {
  8. }
  9. protected override void Initialize(EvaluationContext context)
  10. {
  11. if (_statement.Declaration != null)
  12. {
  13. _declarationStatement = Build(_statement.Declaration);
  14. }
  15. }
  16. /// <summary>
  17. /// https://tc39.es/ecma262/#sec-exports-runtime-semantics-evaluation
  18. /// </summary>
  19. protected override Completion ExecuteInternal(EvaluationContext context)
  20. {
  21. _declarationStatement?.Execute(context);
  22. return new Completion(CompletionType.Normal, JsValue.Undefined, ((JintStatement) this)._statement);
  23. }
  24. }