blob: ae52a5b1f627b6e8c7b9b1c967757b6b39578a51 (
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
|
/* ____ ____ ____ ____ ______ *\
** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
** /_____/\____/\___/\____/____/ **
\* */
// $Id$
package scalac.checkers;
import scalac.ast.*;
import scalac.Global;
public abstract class Checker extends Traverser {
protected final Global global;
public Checker(Global global) {
this.global = global;
}
public boolean implies(boolean b1, boolean b2) {
return (!b1) | b2;
}
public void verify(Tree tree, boolean b, String name, String message) {
if (! b) {
System.err.println("ERROR: Condition '" + name + "' violated (after "
+ global.currentPhase + ")!");
System.err.println(message);
global.debugPrinter.print(tree);
System.err.println();
}
}
abstract public void check(Tree tree);
public void traverse(Tree tree) {
check(tree);
super.traverse(tree);
}
}
|