public void initComponent()

in src/java/org/jetbrains/plugins/clojure/ClojureLoader.java [17:45]


  public void initComponent() {
    ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();

    try {
      ClassLoader loader = ClojureLoader.class.getClassLoader();
      Thread.currentThread().setContextClassLoader(loader);

      StringWriter writer = new StringWriter();

      Class.forName("clojure.lang.RT");

      Var.pushThreadBindings(RT.map(clojure.lang.Compiler.LOADER, loader,
          RT.var("clojure.core", "*warn-on-reflection*"), true,
          RT.ERR, writer));

      RT.var("clojure.core", "require").invoke(Symbol.intern(INIT_CLOJURE));
      Var.find(Symbol.intern(INIT_CLOJURE + "/init")).invoke();

      String result = writer.toString();
      if (result.length() > 0) {
        LOG.error("Reflection warnings:\n" + result);
      }
    } catch (Exception e) {
      LOG.error(e.getMessage(), e);
    } finally {
      Var.popThreadBindings();
      Thread.currentThread().setContextClassLoader(oldLoader);
    }
  }