summaryrefslogtreecommitdiff
path: root/src/cli/runtime/PerisistentArrayList.cs
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2006-07-28 17:58:11 +0000
committerRich Hickey <richhickey@gmail.com>2006-07-28 17:58:11 +0000
commitf6beae41f544340607bddb4a217abd249d085fc6 (patch)
tree565b0fe933fdb55899739f349a13d342d7f68791 /src/cli/runtime/PerisistentArrayList.cs
parent11a4dd18b1a472ca65870293efc5efb9759255c9 (diff)
derived from Obj
Diffstat (limited to 'src/cli/runtime/PerisistentArrayList.cs')
-rw-r--r--src/cli/runtime/PerisistentArrayList.cs16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/cli/runtime/PerisistentArrayList.cs b/src/cli/runtime/PerisistentArrayList.cs
index 5fe1bc11..06eb3d6f 100644
--- a/src/cli/runtime/PerisistentArrayList.cs
+++ b/src/cli/runtime/PerisistentArrayList.cs
@@ -75,7 +75,9 @@ public PersistentArrayList add(Object val) {
public PersistentArrayList remove() {
if(_count == 0)
throw new InvalidOperationException();
- return new PersistentArrayList(data.master, data.rev, data.baseline, data.history, _count - 1);
+ PersistentArrayList ret = new PersistentArrayList(data.master, data.rev, data.baseline, data.history, _count - 1);
+ ret._meta = _meta;
+ return ret;
}
@@ -94,12 +96,16 @@ private void grow() {
}
override internal PersistentArray create(Master master,int rev,int baseline, BitArray history){
- return new PersistentArrayList(data.master, rev, baseline, history,_count);
-}
+ PersistentArray ret = new PersistentArrayList(data.master, rev, baseline, history,_count);
+ ret._meta = _meta;
+ return ret;
+ }
override internal PersistentArray create(int size, Object defaultVal, float loadFactor) {
- return new PersistentArrayList(size, defaultVal, loadFactor,_count);
-}
+ PersistentArray ret = new PersistentArrayList(size, defaultVal, loadFactor,_count);
+ ret._meta = _meta;
+ return ret;
+ }
}
}