 controller = null
 editor = null
 progress = null
-jvm.classpath = [ "./", "/home/doppio/vendor/classes/", "/home/doppio/" ]
 
 class_cache = {}
 raw_cache = {}

    disassembler.disassemble process_bytecode raw_data
    return null  # no reprompt, because we handle it ourselves
  rhino: (args, cb) ->
    rs = new runtime.RuntimeState(stdout, user_input, read_classfile)
    jvm.run_class(rs, '!rhino', args, -> controller.reprompt())
    return null  # no reprompt, because we handle it ourselves

    if !args[0]? or (args[0] == '-classpath' and args.length < 3)
      return "Usage: java [-classpath path1:path2...] class [args...]"
    if args[0] == '-classpath'
      jvm.classpath = args[1].split(':')
      jvm.classpath.push "/home/doppio/vendor/classes/"
      class_name = args[2]
      class_args = args[3..]
    else
      jvm.classpath = [ "./", "/home/doppio/vendor/classes/" ]
      class_name = args[0]
      class_args = args[1..]
    rs = new runtime.RuntimeState(stdout, user_input, read_classfile)
    jvm.run_class(rs, class_name, class_args, -> controller.reprompt())
    return null  # no reprompt, because we handle it ourselves
  javap: (args) ->
    return "Usage: javap class" unless args[0]?
