package net.djpowell.liverepl.server;
import java.net.InetAddress;
import java.lang.instrument.Instrumentation;
import clojure.lang.Namespace;
import clojure.lang.PersistentArrayMap;
import clojure.lang.RT;
import clojure.lang.Symbol;
import clojure.lang.Var;
public class Repl {
private final static Symbol REPL_NS = Symbol.create("net.djpowell.liverepl.server.repl");
private final static Namespace NS = Namespace.findOrCreate(REPL_NS);
private final static Var REQUIRE = Var.intern(RT.CLOJURE_NS, Symbol.create("require"));
private final static Var REPL = Var.intern(NS, Symbol.create("repl"));
private final static Symbol AGENT_NS_NAME = Symbol.create("jvm.agent");
private final static Namespace AGENT_NS = Namespace.findOrCreate(AGENT_NS_NAME);
public static void main(InetAddress host, int port, Instrumentation inst)
throws Exception {
final Var instv = Var.intern(AGENT_NS, Symbol.create("instrumentation"));
instv.bindRoot(inst);
REQUIRE.invoke(REPL_NS);
REPL.invoke(port, 0, host);
}
}