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:

  1. A list of valid AST node types for which the processor should be executed
  2. A generic function that may perform more complex checks against the current processing context

Implementation

classDiagram
	class ExecutionCondition {
		+List~AstNodeType~ currentNodeTypes
		+Predicate~ProcessingContext~ check
	}