Represent a match as a formula in propositional logic that encodes whether the match matches (abstractly: we only consider types)
Interface with user-defined match monad?
if there's a
__match in scope, we use this as the match strategy, assuming it conforms to MatchStrategy as defined below:
The phase defined by this transform
A standard phase template
Is this component enabled? Default is true.
SubComponent are added to a HashSet and two phases are the same if they have the same name
True if this phase runs before all other phases.
True if this phase is not provided by a plug-in.
Create a new phase which applies transformer
The transformer factory
The phase corresponding to this subcomponent in the current compiler run
The name of the phase
New flags defined by the phase which are not valid before
New flags defined by the phase which are not valid until immediately after it
Names of phases required by this component.
Names of phases that must run after this phase.
True if this phase runs after all other phases.