diff options
Diffstat (limited to 'src/jvm/clojure/lang/APersistentMap.java')
-rw-r--r-- | src/jvm/clojure/lang/APersistentMap.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/APersistentMap.java b/src/jvm/clojure/lang/APersistentMap.java index b986358c..f43247c6 100644 --- a/src/jvm/clojure/lang/APersistentMap.java +++ b/src/jvm/clojure/lang/APersistentMap.java @@ -74,6 +74,11 @@ static public class KeySeq extends ASeq{ this.seq = seq;
}
+ private KeySeq(IPersistentMap meta, ISeq seq){
+ super(meta);
+ this.seq = seq;
+ }
+
public Object first(){
return ((IMapEntry) seq.first()).key();
}
@@ -81,6 +86,10 @@ static public class KeySeq extends ASeq{ public ISeq rest(){
return create(seq.rest());
}
+
+ public KeySeq withMeta(IPersistentMap meta){
+ return new KeySeq(meta, seq);
+ }
}
static public class ValSeq extends ASeq{
@@ -96,6 +105,11 @@ static public class ValSeq extends ASeq{ this.seq = seq;
}
+ private ValSeq(IPersistentMap meta, ISeq seq){
+ super(meta);
+ this.seq = seq;
+ }
+
public Object first(){
return ((IMapEntry) seq.first()).val();
}
@@ -103,6 +117,10 @@ static public class ValSeq extends ASeq{ public ISeq rest(){
return create(seq.rest());
}
+
+ public ValSeq withMeta(IPersistentMap meta){
+ return new ValSeq(meta, seq);
+ }
}
}
|