Meta-ordering constraint:
Meta-ordering constraint:
DenotTransformers that change the signature of their denotation's info must go after erasure. The reason is that denotations are permanently referred to by TermRefs which contain a signature. If the signature of a symbol would change, all refs to it would become outdated - they could not be dereferenced in the new phase.
After erasure, signature changing denot-transformers are OK because erasure will make sure that only term refs with fixed SymDenotations survive beyond it. This is possible because:
Produces the following contexts, from outermost to innermost
Produces the following contexts, from outermost to innermost
bootStrap: A context with next available runId and a scope consisting of the RootPackage _root_ start A context with RootClass as owner and the necessary initializations for type checking. imports For each element of RootImports, an import context
The central class of the dotc compiler. The job of a compiler is to create runs, which process given
phases
in a givenrootContext
.