method.column = columnDeref(); PathNode pnode = new PathNode(PATHTYPE.PATH, (PathNode) CLEAR_PATH.get()); Var.pushThreadBindings( RT.mapUniqueKeys(
pnode = new PathNode(PATHTYPE.PATH,null); Var.pushThreadBindings( RT.mapUniqueKeys(
method.indexlocals = backupMethodIndexLocals; PathNode looproot = new PathNode(PATHTYPE.PATH, (PathNode) CLEAR_PATH.get()); PathNode clearroot = new PathNode(PATHTYPE.PATH,looproot); PathNode clearpath = new PathNode(PATHTYPE.PATH,looproot); if(isLoop) dynamicBindings = dynamicBindings.assoc(LOOP_LOCALS, null);
method.column = (Integer) COLUMN.deref(); PathNode pnode = new PathNode(PATHTYPE.PATH, (PathNode) CLEAR_PATH.get()); Var.pushThreadBindings( RT.mapUniqueKeys(
pnode = new PathNode(PATHTYPE.PATH,null); Var.pushThreadBindings( RT.mapUniqueKeys(
HashMap<Integer,Expr> thens = new HashMap(); PathNode branch = new PathNode(PATHTYPE.BRANCH, (PathNode) CLEAR_PATH.get()); try { Var.pushThreadBindings( RT.map(CLEAR_PATH, new PathNode(PATHTYPE.PATH,branch))); thenExpr = analyze(context, RT.second(pair)); try { Var.pushThreadBindings( RT.map(CLEAR_PATH, new PathNode(PATHTYPE.PATH,branch))); defaultExpr = analyze(context, args.nth(3));
else if(form.count() < 3) throw Util.runtimeException("Too few arguments to if"); PathNode branch = new PathNode(PATHTYPE.BRANCH, (PathNode) CLEAR_PATH.get()); Expr testexpr = analyze(context == C.EVAL ? context : C.EXPRESSION, RT.second(form)); Expr thenexpr, elseexpr; try { Var.pushThreadBindings( RT.map(CLEAR_PATH, new PathNode(PATHTYPE.PATH,branch))); thenexpr = analyze(context, RT.third(form)); RT.map(CLEAR_PATH, new PathNode(PATHTYPE.PATH,branch))); elseexpr = analyze(context, RT.fourth(form));