clojure.lang.Var.bindRoot()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(4.4k)|赞(0)|评价(0)|浏览(141)

本文整理了Java中clojure.lang.Var.bindRoot()方法的一些代码示例,展示了Var.bindRoot()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Var.bindRoot()方法的具体详情如下:
包路径:clojure.lang.Var
类名称:Var
方法名:bindRoot

Var.bindRoot介绍

暂无

代码示例

代码示例来源:origin: videlalvaro/clochure

public Object doReset(Object val)  {
  bindRoot(val);
  return val;
  }

代码示例来源:origin: org.dunaj/clojure

public Object doReset(Object val)  {
  bindRoot(val);
  return val;
  }

代码示例来源:origin: org.dunaj/clojure

public static List<String> processCommandLine(String[] args){
  List<String> arglist = Arrays.asList(args);
  int split = arglist.indexOf("--");
  if(split >= 0) {
    CMD_LINE_ARGS.bindRoot(RT.seq(arglist.subList(split + 1, args.length)));
    return arglist.subList(0, split);
  }
  return arglist;
}

代码示例来源:origin: videlalvaro/clochure

public static List<String> processCommandLine(String[] args){
  List<String> arglist = Arrays.asList(args);
  int split = arglist.indexOf("--");
  if(split >= 0) {
    CMD_LINE_ARGS.bindRoot(RT.seq(arglist.subList(split + 1, args.length)));
    return arglist.subList(0, split);
  }
  return arglist;
}

代码示例来源:origin: org.dunaj/clojure

public static Var intern(Namespace ns, Symbol sym, Object root, boolean replaceRoot){
  Var dvout = ns.intern(sym);
  if(!dvout.hasRoot() || replaceRoot)
    dvout.bindRoot(root);
  return dvout;
}

代码示例来源:origin: projectodd/shimdandy

public void init() {
  ClassLoader origLoader = preInvoke();
  try {
    Field dvalField = Var.class.getDeclaredField("dvals");
    dvalField.setAccessible(true);
    this.dvals = (ThreadLocal)dvalField.get(null);
    
    this.require = RT.var("clojure.core", "require");
    this.resolve = RT.var("clojure.core", "resolve");
    clojure.lang.Compiler.LOADER.bindRoot(this.classLoader);
  } catch (Exception e) {
    throw new RuntimeException("Failed to initialize ClojureRuntimeShimImpl", e);
  } finally {
    postInvoke(origLoader);
  }
}

代码示例来源:origin: org.projectodd.shimdandy/shimdandy-impl

public void init() {
  ClassLoader origLoader = preInvoke();
  try {
    Field dvalField = Var.class.getDeclaredField("dvals");
    dvalField.setAccessible(true);
    this.dvals = (ThreadLocal)dvalField.get(null);
    
    this.require = RT.var("clojure.core", "require");
    this.resolve = RT.var("clojure.core", "resolve");
    clojure.lang.Compiler.LOADER.bindRoot(this.classLoader);
  } catch (Exception e) {
    throw new RuntimeException("Failed to initialize ClojureRuntimeShimImpl", e);
  } finally {
    postInvoke(origLoader);
  }
}

代码示例来源:origin: org.projectodd.wunderboss/wunderboss-clojure

@Override
public void initialize() {
  this.runtime = new LoaderWrapper(WunderBoss.classLoader());
  // we have to touch Clojure.class so it will init clojure enough for
  // binding the loader's root to work. Without this, we'll NPE
  Clojure.var("clojure.core", "require");
  // we have to bind the loader for cases where the TCCL is the wrong
  // module inside WildFly (this happens for web requests). If LOADER isn't
  // bound, clojure.lang.RT will fall back to the TCCL.
  Compiler.LOADER.bindRoot(WunderBoss.classLoader());
}

代码示例来源:origin: cosmin/IClojure

private void createNecessaryThreadBindings() {
  var("user", "input").bindRoot(ioCache.getInputLookupFn());
  var("user", "output").bindRoot(ioCache.getOutputLookupFn());
  Var.pushThreadBindings(map(
      var("clojure.core", "*out*"), writer,
      ns, ns.deref(),
      output1, null,
      output2, null,
      output3, null,
      lastError, null
  ));
}

代码示例来源:origin: videlalvaro/clochure

public Object eval() {
    try
      {
      if(initProvided)
        {
//            if(init instanceof FnExpr && ((FnExpr) init).closes.count()==0)
//                var.bindRoot(new FnLoaderThunk((FnExpr) init,var));
//            else
        var.bindRoot(init.eval());
        }
      if(meta != null)
        {
        IPersistentMap metaMap = (IPersistentMap) meta.eval();
        if (initProvided || true)//includesExplicitMetadata((MapExpr) meta))
          var.setMeta((IPersistentMap) meta.eval());
        }
      return var.setDynamic(isDynamic);
      }
    catch(Throwable e)
      {
      if(!(e instanceof CompilerException))
        throw new CompilerException(source, line, column, e);
      else
        throw (CompilerException) e;
      }
  }

代码示例来源:origin: org.dunaj/clojure

public Object eval() {
    try
      {
      if(initProvided)
        {
//            if(init instanceof FnExpr && ((FnExpr) init).closes.count()==0)
//                var.bindRoot(new FnLoaderThunk((FnExpr) init,var));
//            else
        var.bindRoot(init.eval());
        }
      if(meta != null)
        {
        IPersistentMap metaMap = (IPersistentMap) meta.eval();
        if (initProvided || true)//includesExplicitMetadata((MapExpr) meta))
          var.setMeta((IPersistentMap) meta.eval());
        }
      return var.setDynamic(isDynamic);
      }
    catch(Throwable e)
      {
      if(!(e instanceof CompilerException))
        throw new CompilerException(source, line, column, e);
      else
        throw (CompilerException) e;
      }
  }

相关文章