public void initCompiler(Compiler compiler) {
    this.compiler = compiler;
    jobs = new HashMap();
    worklist = new LinkedList();

    // Register the extension with the compiler.
    compiler.addExtension(this);

    currentJob = null;

    // Create the type system and node factory.
    typeSystem();
    nodeFactory();

    initTypeSystem();
  }