blob: eb29dad289346e6f4864109a60871428c346507d (
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
47
48
49
50
|
/* NSC -- new scala compiler
* Copyright 2005 LAMP/EPFL
* @author Martin Odersky
*/
// $Id$
package scala.tools.nsc.symtab;
import util._;
abstract class SymbolTable extends Names
with Symbols
with Types
with Scopes
with Definitions
with Constants
with InfoTransformers
with StdNames {
def settings: Settings;
def rootLoader: LazyType;
def log(msg: Object): unit;
private var ph: Phase = NoPhase;
def phase: Phase = ph;
def phase_=(p: Phase): unit = {
//System.out.println("setting phase to " + p);
assert(p != null && p != NoPhase);
ph = p
}
final val NoRun = null;
/** The current compiler run. */
def currentRun: CompilerRun;
def atPhase[T](ph: Phase)(op: => T): T = {
val current = phase;
phase = ph;
val result = op;
phase = current;
result
}
var infoTransformers = new InfoTransformer {
val pid = NoPhase.id;
val changesBaseClasses = true;
def transform(sym: Symbol, tpe: Type): Type = tpe;
}
val phaseWithId: Array[Phase];
}
|