blob: f3868e91ffa7bb8554a8a0e56341afbe5dfaed77 (
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
|
/* NSC -- new Scala compiler
* Copyright 2005-2007 LAMP/EPFL
* @author Martin Odersky
*/
// $Id$
package scala.tools.nsc
/** An nsc sub-component.
*
* @author Martin Odersky
*/
abstract class SubComponent {
/** The global environment; overridden by instantiation in Global. */
val global: Global
/** The name of the phase */
val phaseName: String
/** New flags defined by the phase which are not valid before */
def phaseNewFlags: Long = 0
/** The phase factory */
def newPhase(prev: Phase): Phase
/** A standard phase template */
abstract class StdPhase(prev: Phase) extends global.GlobalPhase(prev) {
def name = phaseName
override def newFlags = phaseNewFlags
}
}
|