void (int offset, ExpressionStack stack, List<Exprent> exprlist, int copyoffset) { int base = VarExprent.STACK_BASE + stack.size(); LinkedList<VarExprent> lst = new LinkedList<>(); for (int i = -1; i >= offset; i--) { Exprent varex = stack.pop(); VarExprent varnew = new VarExprent(base + i + 1, varex.getExprType(), varProcessor); varnew.setStack(true); exprlist.add(new AssignmentExprent(varnew, varex, null)); lst.add(0, (VarExprent)varnew.copy()); } Exprent exprent = lst.get(lst.size() + copyoffset).copy(); VarExprent var = new VarExprent(base + offset, exprent.getExprType(), varProcessor); var.setStack(true); exprlist.add(new AssignmentExprent(var, exprent, null)); lst.add(0, (VarExprent)var.copy()); for (VarExprent expr : lst) { stack.push(expr); } }