@@ -122,67 +122,76 @@ scalacOptions ++= Seq(
122122### Compilation Phases
123123
124124<dl class =" definition-list " >
125- <dt >initial</dt >
126- <dd >initializing compiler</dd >
127-
128- <dt >parse</dt >
129- <dd >parse source files</dd >
125+ <dt >parser</dt >
126+ <dd >parse source into ASTs, perform simple desugaring</dd >
130127
131128<dt >namer</dt >
132- <dd >create symbols</dd >
129+ <dd >resolve names, attach symbols to named trees</dd >
130+
131+ <dt >packageobjects</dt >
132+ <dd >load package objects</dd >
133+
134+ <dt >typer</dt >
135+ <dd >the meat and potatoes: type the trees</dd >
136+
137+ <dt >superaccessors</dt >
138+ <dd >add super accessors in traits and nested classes</dd >
139+
140+ <dt >extmethods</dt >
141+ <dd >add extension methods for inline classes</dd >
142+
143+ <dt >pickler</dt >
144+ <dd >serialize symbol tables</dd >
133145
134- <dt >analyze </dt >
135- <dd >name and type analysis </dd >
146+ <dt >refchecks </dt >
147+ <dd >reference/override checking, translate nested objects </dd >
136148
137- <dt >refcheck </dt >
138- <dd >reference checking </dd >
149+ <dt >patmat </dt >
150+ <dd >translate match expressions </dd >
139151
140152<dt >uncurry</dt >
141- <dd >uncurry function types and applications </dd >
153+ <dd >uncurry, translate function values to anonymous classes </dd >
142154
143- <dt >lambdalift </dt >
144- <dd >lambda lifter </dd >
155+ <dt >fields </dt >
156+ <dd >synthesize accessors and fields, add bitmaps for lazy vals </dd >
145157
146- <dt >typesasvalues </dt >
147- <dd >represent types as values </dd >
158+ <dt >tailcalls </dt >
159+ <dd >replace tail calls by jumps </dd >
148160
149- <dt >addaccessors </dt >
150- <dd >add accessors for constructor arguments </dd >
161+ <dt >specialize </dt >
162+ <dd >@specialized-driven class and method specialization </dd >
151163
152- <dt >explicitouterclasses </dt >
153- <dd >make links from inner classes to enclosing one explicit </dd >
164+ <dt >explicitouter </dt >
165+ <dd >this refs to outer pointers </dd >
154166
155- <dt >addconstructors </dt >
156- <dd >add explicit constructor for each class </dd >
167+ <dt >erasure </dt >
168+ <dd >erase types, add interfaces for traits </dd >
157169
158- <dt >tailcall </dt >
159- <dd >add tail-calls </dd >
170+ <dt >posterasure </dt >
171+ <dd >clean up erased inline classes </dd >
160172
161- <dt >wholeprog </dt >
162- <dd >perform whole program analysis </dd >
173+ <dt >lambdalift </dt >
174+ <dd >move nested functions to top level </dd >
163175
164- <dt >addinterfaces </dt >
165- <dd >add one interface per class </dd >
176+ <dt >constructors </dt >
177+ <dd >move field definitions into constructors </dd >
166178
167- <dt >expandmixins </dt >
168- <dd >expand mixins by code copying </dd >
179+ <dt >flatten </dt >
180+ <dd >eliminate inner classes </dd >
169181
170- <dt >boxing </dt >
171- <dd >makes boxing explicit </dd >
182+ <dt >mixin </dt >
183+ <dd >mixin composition </dd >
172184
173- <dt >erasure </dt >
174- <dd >type eraser </dd >
185+ <dt >cleanup </dt >
186+ <dd >platform-specific cleanups, generate reflective calls </dd >
175187
176- <dt >icode </dt >
177- <dd >generate icode </dd >
188+ <dt >delambdafy </dt >
189+ <dd >remove lambdas </dd >
178190
179- <dt >codegen </dt >
180- <dd >enable code generation </dd >
191+ <dt >jvm </dt >
192+ <dd >generate JVM bytecode </dd >
181193
182194<dt >terminal</dt >
183- <dd >compilation terminated</dd >
184-
185- <dt >all</dt >
186- <dd >matches all phases</dd >
195+ <dd >the last phase during a compilation run</dd >
187196</dl >
188197
0 commit comments