use of org.eclipse.ceylon.compiler.typechecker.analyzer.SpecificationVisitor in project ceylon by eclipse.
the class PhasedUnit method analyseFlow.
public synchronized void analyseFlow() {
if (!flowAnalyzed) {
rootNode.visit(new TypeHierarchyVisitor().setExceptionHandler(this));
// System.out.println("Validate control flow for " + fileName);
rootNode.visit(new ControlFlowVisitor().setExceptionHandler(this));
// System.out.println("Validate specification for " + fileName);
for (Declaration d : unit.getDeclarations()) {
if (d.getName() != null || d instanceof Constructor) {
rootNode.visit(new SpecificationVisitor(d).setExceptionHandler(this));
if (d instanceof TypeDeclaration) {
TypeDeclaration td = (TypeDeclaration) d;
rootNode.visit(new SelfReferenceVisitor(td).setExceptionHandler(this));
}
}
}
flowAnalyzed = true;
}
}
Aggregations