class IDL::Delegator

def pre_parse

def pre_parse
  @root = nil
  unless @preprocess || @ignore_pidl
    IDL.backend.lookup_path.each do |be_root|
      pidl_file = File.join(be_root, ORB_PIDL)
      if File.file?(pidl_file) && File.readable?(pidl_file)
        f = File.open(pidl_file, 'r')
        begin
          @root, @includes = Marshal.load(f)
          @cur = @root
        rescue Exception => e
          IDL.error("RIDL - failed to load ORB pidlc [#{e}]\n You probably need to rebuild the bootstrap file (compile orb.idl to orb.pidlc).")
          exit(1)
        ensure
          f.close
        end
        break
      end
    end
    return if @root
  end
  @root = @cur = IDL::AST::Module.new(nil, nil, {}) # global root
  @last = nil
  @last_pos = nil
end