summaryrefslogtreecommitdiff
path: root/src/cli/runtime/PersistentListMap.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli/runtime/PersistentListMap.cs')
-rw-r--r--src/cli/runtime/PersistentListMap.cs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cli/runtime/PersistentListMap.cs b/src/cli/runtime/PersistentListMap.cs
index a3896c97..a2d621a7 100644
--- a/src/cli/runtime/PersistentListMap.cs
+++ b/src/cli/runtime/PersistentListMap.cs
@@ -243,12 +243,14 @@ internal class Link : PersistentListMap {
readonly Object _key;
readonly Object _val;
readonly PersistentListMap _rest;
+ readonly int _count;
internal Link(Object key,Object val,PersistentListMap next,IPersistentMap meta){
this._key = key;
this._val = val;
this._rest = next;
this._meta = meta;
+ this._count = 1 + next.count();
}
override public Object key(){
@@ -264,7 +266,7 @@ internal class Link : PersistentListMap {
}
override public int count(){
- return 1 + _rest.count();
+ return _count;
}
override public bool contains(Object key){