blob: 98f0f840ff655caf1e20ce2ea4ae18478709fd16 (
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
/* NSC -- new Scala compiler
* Copyright 2005-2010 LAMP/EPFL
* @author Martin Odersky
*/
// $Id$
package scala.tools.nsc
import symtab.Flags
abstract class Phase(val prev: Phase) {
type Id = Int
val id: Id = if (prev eq null) 0 else prev.id + 1
/** New flags visible after this phase has completed */
def nextFlags: Long = 0l
/** New flags visible once this phase has started */
def newFlags: Long = 0l
private var fmask: Long =
if (prev eq null) Flags.InitialFlags else prev.flagMask | prev.nextFlags | newFlags
def flagMask: Long = fmask
private var nx: Phase = this
if (prev ne null) prev.nx = this
def next: Phase = nx
def name: String
def description: String = name
// Will running with -Ycheck:name work?
def checkable: Boolean = true
def devirtualized: Boolean = false
def specialized: Boolean = false
def erasedTypes: Boolean = false
def flatClasses: Boolean = false
def keepsTypeParams = true
def run: Unit
override def toString() = name
}
|