blob: 87a4653648b53aa4433a285bca66532e134caa50 (
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
|
/* ____ ____ ____ ____ ______ *\
** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
** /_____/\____/\___/\____/____/ **
\* */
// $Id$
package scalac.typechecker;
import scalac.*;
import scalac.ast.*;
import scalac.symtab.*;
import scalac.checkers.*;
public class RefCheckPhase extends Phase {
/** Initializes this instance. */
public RefCheckPhase(Global global, PhaseDescriptor descriptor) {
super(global, descriptor);
}
/** Applies this phase to the given compilation units. */
public void apply(Unit[] units) {
for (int i = 0; i < units.length; i++)
new RefCheck(global).apply(units[i]);
}
public Type transformInfo(Symbol sym, Type tp) {
if (sym.isModule() && !sym.isPackage() && !sym.isGlobalModule()) {
return Type.PolyType(Symbol.EMPTY_ARRAY, tp);
}
else
return tp;
}
public Checker[] postCheckers(Global global) {
return new Checker[] {
new CheckSymbols(global),
new CheckTypes(global),
new CheckOwners(global),
new CheckNames(global)
};
}
}
|