summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/Var.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Var.java b/src/jvm/clojure/lang/Var.java
index 598a5785..e9286c36 100644
--- a/src/jvm/clojure/lang/Var.java
+++ b/src/jvm/clojure/lang/Var.java
@@ -309,6 +309,19 @@ public static void releaseThreadBindings(){
dvals.set(null);
}
+public static Associative getThreadBindings(){
+ Frame f = dvals.get();
+ IPersistentMap ret = PersistentHashMap.EMPTY;
+ for(ISeq bs = f.bindings.seq(); bs != null; bs = bs.next())
+ {
+ IMapEntry e = (IMapEntry) bs.first();
+ Var v = (Var) e.key();
+ Box b = (Box) e.val();
+ ret = ret.assoc(v, b.val);
+ }
+ return ret;
+}
+
final Box getThreadBinding(){
if(count.get() > 0)
{