Packages

sealed trait DebugFrontend extends AnyRef

A common interface for a debug frontend for a debugger to present the debug tree. Inherit from one of the two provided subtraits to use.

Any compliant implementation that handles all nodes of a parsley.debugger.DebugTree can be used in place of any other implementation (e.g. a serialiser to JSON, a GUI, etc.).

If a frontend is reusable, one can implement it as either an object or a class, but an object is recommended. Either way, it should inherit ReusableFrontend.

If a frontend is single-use (e.g. it has some non-reusable state), never implement it as an object. Always implement single-use frontends as a class of some sort inheriting from SingleUseFrontend.

If the results of some processing of a tree are needed out of a frontend, create a frontend class that accepts some continuation parameter of ReturnType => Unit and call it somewhere within the implementation.

Source
DebugFrontend.scala
Since

4.5.0

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DebugFrontend
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def processImpl(input: => String, tree: => DebugTree): Unit

    The actual method that does the processing of the tree.

    The actual method that does the processing of the tree. Override this to process a tree in a custom way.

    Attributes
    protected
  2. abstract val reusable: Boolean
    Attributes
    protected[frontend]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def process(input: => String, tree: => DebugTree): Unit

    Process a debug tree using whatever the frontend is doing to present the tree in some way.

    Process a debug tree using whatever the frontend is doing to present the tree in some way.

    input

    The full input of the parse.

    tree

    Debug tree to process.

  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped