$_pop$BANG_$0 method
dynamic
$_pop$BANG_$0()
override
Implementation
dc.dynamic $_pop$BANG_$0(){
if((edit!=null)){
}else{
throw dc.ArgumentError("pop! after persistent!", );
}
if((0==cnt)){
throw dc.ArgumentError("Can't pop empty vector", );
}
final dc.int cnt_1$1=(cnt-1);
final dc.int subidx$2=(cnt_1$1&31);
final dc.bool or$7505_$AUTO_$2=(0<subidx$2);
late final dc.bool $if_$3;
if(or$7505_$AUTO_$2){
$if_$3=or$7505_$AUTO_$2;
}else{
$if_$3=(0==cnt_1$1);
}
if($if_$3){
tail[subidx$2]=null;
}else{
final dc.int new_tail_length$1=(cnt_1$1-(cnt_1$1&(~31)));
tail=lcoc_core.tv_editable_array_for(this, cnt_1$1, );
if((5==shift)){
root.arr[((cnt_1$1-1)>>(31&5))]=null;
}else if(((cnt_1$1-32)==(4294967295&(1<<(31&shift))))){
root=(root.arr[0]);
shift=(shift-5);
}else{
lcoc_core.tv_pop_tail$BANG_(this, shift, root, );
}
}
cnt=(cnt-1);
return this;
}