The immutable state of the phase that can also be accessed by other phases.
The immutable state of the phase that can also be accessed by other phases.
Run the phase
Run the phase
Flatten a projection into a StructNode.
The unique name of the phase
The unique name of the phase
Split a path into the shortest part with a NominalType and the rest on top of it.
Split a path into the shortest part with a NominalType and the rest on
top of it. Returns None
if there is no NominalType with one of the
candidate TypeSymbols in the path, otherwise returns Some(base, rest, tsym)
where tsym
is the symbol that was found and base
is the Node in the path
which has a NominalType of that symbol. If the NominalType occurs inside a
CollectionType, rest
is None
, otherwise it is Some(path)
with a
(possibly empty) path of symbols on top of base
.
Flatten all Pure node contents into a single StructNode.