Engine.Advanced.cs 925 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. namespace Jint;
  2. public partial class Engine
  3. {
  4. public AdvancedOperations Advanced { get; }
  5. }
  6. public class AdvancedOperations
  7. {
  8. private readonly Engine _engine;
  9. public AdvancedOperations(Engine engine)
  10. {
  11. _engine = engine;
  12. }
  13. /// <summary>
  14. /// Gets current stack trace that is active in engine.
  15. /// </summary>
  16. public string StackTrace
  17. {
  18. get
  19. {
  20. var lastSyntaxElement = _engine._lastSyntaxElement;
  21. if (lastSyntaxElement is null)
  22. {
  23. return string.Empty;
  24. }
  25. return _engine.CallStack.BuildCallStackString(lastSyntaxElement.Location);
  26. }
  27. }
  28. /// <summary>
  29. /// Forcefully processes the current task queues (micro and regular), this API may break and change behavior!
  30. /// </summary>
  31. public void ProcessTasks()
  32. {
  33. _engine.RunAvailableContinuations();
  34. }
  35. }