blob: 03f8273c178caf06cc2aa82b8d20e1afd600fd77 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
phase name id description
---------- -- -----------
parser 1 parse source into ASTs, perform simple desugaring
namer 2 resolve names, attach symbols to named trees
packageobjects 3 load package objects
typer 4 the meat and potatoes: type the trees
patmat 5 translate match expressions
superaccessors 6 add super accessors in traits and nested classes
extmethods 7 add extension methods for inline classes
pickler 8 serialize symbol tables
refchecks 9 reference/override checking, translate nested objects
uncurry 10 uncurry, translate function values to anonymous classes
fields 11 synthesize accessors and fields
tailcalls 12 replace tail calls by jumps
specialize 13 @specialized-driven class and method specialization
explicitouter 14 this refs to outer pointers
erasure 15 erase types, add interfaces for traits
posterasure 16 clean up erased inline classes
lazyvals 17 allocate bitmaps, translate lazy vals into lazified defs
lambdalift 18 move nested functions to top level
constructors 19 move field definitions into constructors
flatten 20 eliminate inner classes
mixin 21 mixin composition
cleanup 22 platform-specific cleanups, generate reflective calls
delambdafy 23 remove lambdas
jvm 24 generate JVM bytecode
terminal 25 the last phase during a compilation run
|