MCPcopy Index your code
hub / github.com/clojure/clojure / eval

Method eval

src/jvm/clojure/lang/Compiler.java:456–481  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

454 }
455
456 public Object eval() {
457 try
458 {
459 if(initProvided)
460 {
461// if(init instanceof FnExpr && ((FnExpr) init).closes.count()==0)
462// var.bindRoot(new FnLoaderThunk((FnExpr) init,var));
463// else
464 var.bindRoot(init.eval());
465 }
466 if(meta != null)
467 {
468 IPersistentMap metaMap = (IPersistentMap) meta.eval();
469 if (initProvided || true)//includesExplicitMetadata((MapExpr) meta))
470 var.setMeta(metaMap);
471 }
472 return var.setDynamic(isDynamic);
473 }
474 catch(Throwable e)
475 {
476 if(!(e instanceof CompilerException))
477 throw new CompilerException(source, line, column, Compiler.DEF, CompilerException.PHASE_EXECUTION, e);
478 else
479 throw (CompilerException) e;
480 }
481 }
482
483 public void emit(C context, ObjExpr objx, GeneratorAdapter gen){
484 objx.emitVar(gen, var);

Callers

nothing calls this directly

Calls 4

bindRootMethod · 0.80
setMetaMethod · 0.80
setDynamicMethod · 0.80
evalMethod · 0.65

Tested by

no test coverage detected