abstract class CollectingVisitor[A, R] extends AnyRef
Visitor schema that traverses an expression in depth-first left-first order.
For each node, the method preVisit
is called when descending
and the method postVisit
when returning. The visitor works
with iteration (not recursion) and is able to deal also with large
expressions
- Alphabetic
- By Inheritance
- CollectingVisitor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new CollectingVisitor()
Type Members
- abstract class PreVisitResult extends AnyRef
- case class ShortCutResult(res: R) extends PreVisitResult with Product with Serializable
Skip the call to
postVisit
and do not visit any of the sub-expressions.Skip the call to
postVisit
and do not visit any of the sub-expressions. Instead, directly returnres
as result - case class SubArgs(args: Seq[A]) extends PreVisitResult with Product with Serializable
Specify the arguments to use for the individual sub-expressions
- case class TryAgain(newT: IExpression, newArg: A) extends PreVisitResult with Product with Serializable
Call
preVisit
again with a different expression and argument - case class UniSubArgs(arg: A) extends PreVisitResult with Product with Serializable
Use
arg
for each of the direct sub-expressions
Abstract Value Members
- abstract def postVisit(t: IExpression, arg: A, subres: Seq[R]): R
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def preVisit(t: IExpression, arg: A): PreVisitResult
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def visit(expr: IExpression, arg: A): R
- def visitWithoutResult(expr: IExpression, arg: A): Unit
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object KeepArg extends PreVisitResult with Product with Serializable
Use the same argument for the direct sub-expressions as for this expression
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)