Merge: example: rosettacode 100 doors
[nit.git] / src / interpreter / debugger_socket.nit
index 07cf16d..50f98c7 100644 (file)
@@ -55,7 +55,7 @@ redef class ModelBuilder
 
                set_stdstreams
 
-               init_naive_interpreter(interpreter, mainmodule)
+               interpreter.start(mainmodule)
 
                close_stdstreams
 
@@ -73,7 +73,7 @@ redef class ModelBuilder
 
                set_stdstreams
 
-               init_naive_interpreter(interpreter, mainmodule)
+               interpreter.start(mainmodule)
 
                close_stdstreams
 
@@ -90,20 +90,23 @@ redef class ModelBuilder
        fun set_stdstreams
        do
                if self.toolcontext.opt_socket_mode.value then
-                       var sock = new Socket.server(toolcontext.opt_debug_port.value, 1)
+                       var sock = new TCPServer(toolcontext.opt_debug_port.value)
+                       sock.listen 1
                        var ns = sock.accept
+                       assert ns != null
                        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)
+                       var websock = new WebSocketListener(toolcontext.opt_debug_port.value, 1)
+                       var cli = websock.accept
+                       websock.close
+                       sys.set_io(cli,cli,cli)
                end
        end
 
        fun close_stdstreams
        do
-               if sys.stdin isa WebSocket or sys.stdin isa Socket then
+               if sys.stdin isa TCPStream then
                        sys.stdin.close
                        sys.stdout.close
                        sys.stderr.close
@@ -116,6 +119,6 @@ redef class Sys
        do
                self.stdin = istream
                self.stdout = ostream
-               self.stderr = ostream
+               self.stderr = errstream
        end
 end