Execution Conditions
→ represents the conditions under which a processor is executed by the traverser
- every processor has exactly one defined execution condition
There are two levels of checks:
- A list of valid AST node types for which the processor should be executed
- used as a fast pre-check by traversers
- A generic function that may perform more complex checks against the current processing context
Implementation
classDiagram
class ExecutionCondition {
+List~AstNodeType~ currentNodeTypes
+Predicate~ProcessingContext~ check
}