diff options
Diffstat (limited to 'src/cli/runtime/PerisistentArrayList.cs')
-rw-r--r-- | src/cli/runtime/PerisistentArrayList.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cli/runtime/PerisistentArrayList.cs b/src/cli/runtime/PerisistentArrayList.cs index 07e65f5e..6753f4f1 100644 --- a/src/cli/runtime/PerisistentArrayList.cs +++ b/src/cli/runtime/PerisistentArrayList.cs @@ -33,6 +33,10 @@ PersistentArrayList(int size, Object defaultVal, float loadFactor, int count):ba this._count = count;
}
+public PersistentArrayList(IArray init, int initialCapacity):base(init,initialCapacity){
+ _count = Math.Min(init.count(),initialCapacity);
+}
+
override public Object nth(int i) {
if(i >= _count)
throw new IndexOutOfRangeException();
@@ -55,11 +59,7 @@ override public int count(){ return _count;
}
-public int capacity(){
- return data.master.array.Length;
-}
-
-public PersistentArrayList add(Object val) {
+override public IPersistentCollection cons(Object val) {
if(_count == data.master.array.Length) //full
{
lock(data.master){
|