// the java bytecode generator, phase 3
CompilerVisitor cv = new CompilerVisitor(cw, repo);
// the type analysis, phase 2
BeamTypeAnalysis analysis = new BeamTypeAnalysis(cv);
// the module analyzer, phase 1 (not chained to phase 2)
ModuleAnalyzer ma = new ModuleAnalyzer();
data.accept(ma);