-
- redef fun run_naive_interpreter(mmod, args)
- do
- set_stdstreams
- super
- end
-
- fun set_stdstreams
- do
- if self.toolcontext.opt_socket_mode.value then
- var sock = new Socket.server(toolcontext.opt_debug_port.value, 1)
- var ns = sock.accept
- sock.close
- sys.set_io(ns,ns,ns)
- else if self.toolcontext.opt_websocket_mode.value then
- var websock = new WebSocket(toolcontext.opt_debug_port.value, 1)
- websock.accept
- sys.set_io(websock,websock,websock)
- end
- end
-
- fun close_stdstreams
- do
- if sys.stdin isa WebSocket or sys.stdin isa Socket then
- sys.stdin.close
- sys.stdout.close
- sys.stderr.close
- end
- end
-end
-
-redef class Sys
- private fun set_io(istream: PollableIStream, ostream: OStream, errstream: OStream)
- do
- self.stdin = istream
- self.stdout = ostream
- self.stderr = ostream
- end