Ensure that all symbol definitions in a tree are unique. The same symbol can initially occur in
multiple sub-trees when some part of a query is reused multiple times. This phase assigns new,
uniqe symbols, so that later phases do not have to take scopes into account for identifying the
source of a symbol. The rewriting is performed for both, term symbols and type symbols.
The phase state is a collection of flags depending on the presence or absence of certain node
types in the AST. This information can be used to selectively skip later compiler phases when
it is already known that there is nothing for them to translate.
This member is added by an implicit conversion from AssignUniqueSymbols to
any2stringadd[AssignUniqueSymbols] performed by method any2stringadd in scala.Predef.
This member is added by an implicit conversion from AssignUniqueSymbols to
ArrowAssoc[AssignUniqueSymbols] performed by method ArrowAssoc in scala.Predef.
This member is added by an implicit conversion from AssignUniqueSymbols to
StringFormat[AssignUniqueSymbols] performed by method StringFormat in scala.Predef.
This member is added by an implicit conversion from AssignUniqueSymbols to
ArrowAssoc[AssignUniqueSymbols] performed by method ArrowAssoc in scala.Predef.
Ensure that all symbol definitions in a tree are unique. The same symbol can initially occur in multiple sub-trees when some part of a query is reused multiple times. This phase assigns new, uniqe symbols, so that later phases do not have to take scopes into account for identifying the source of a symbol. The rewriting is performed for both, term symbols and type symbols.
The phase state is a collection of flags depending on the presence or absence of certain node types in the AST. This information can be used to selectively skip later compiler phases when it is already known that there is nothing for them to translate.