$_pop$0 method

dynamic $_pop$0()
override

Implementation

dc.dynamic $_pop$0(){
if((0==cnt)){
throw dc.ArgumentError("Can't pop empty vector", );
}
final dc.int cnt_1$1=(cnt-1);
if((0==cnt_1$1)){
final lcoc_core.PersistentVector o7797$1=lcoc_core.$_EMPTY_VECTOR;
final dc.dynamic meta7798$1=meta;
if((o7797$1 is lcoc_core.IWithMeta$iface)){
return ((o7797$1 as lcoc_core.IWithMeta$iface).$_with_meta$1(meta7798$1, ));
}
return ((lcoc_core.IWithMeta.extensions(o7797$1, ) as lcoc_core.IWithMeta$ext).$_with_meta$1(o7797$1, meta7798$1, ));
}
final dc.int new_tail_length$1=(cnt_1$1-(cnt_1$1&(~31)));
if((0<new_tail_length$1)){
return lcoc_core.PersistentVector(meta, cnt_1$1, shift, root, lcoc_core.ashrink(tail, new_tail_length$1, ), -1, );
}
if((5==shift)){
final dc.int new_root_length$1=((cnt_1$1>>(31&5))-1);
final dc.List arr$1=root.arr;
return lcoc_core.PersistentVector(meta, cnt_1$1, 5, lcoc_core.VectorNode(null, lcoc_core.ashrink(arr$1, new_root_length$1, ), ), ((arr$1[new_root_length$1]) as lcoc_core.VectorNode).arr, -1, );
}
if(((cnt_1$1-32)==(4294967295&(1<<(31&shift))))){
return lcoc_core.PersistentVector(meta, cnt_1$1, (shift-5), ((root.arr[0]) as lcoc_core.VectorNode), lcoc_core.unchecked_array_for(root, shift, (cnt_1$1-1), ), -1, );
}
return lcoc_core.PersistentVector(meta, cnt_1$1, shift, (lcoc_core.pop_tail(this, shift, root, ) as lcoc_core.VectorNode), lcoc_core.unchecked_array_for(root, shift, (cnt_1$1-1), ), -1, );
}