$_conj$BANG_$1 method

dynamic $_conj$BANG_$1(
  1. dynamic o$1
)
override

Implementation

dc.dynamic $_conj$BANG_$1(dc.dynamic o$1, ){
if((edit!=null)){
}else{
throw dc.ArgumentError("conj! after persistent!", );
}
final dc.int tail_len$1=(cnt&31);
final dc.bool or$7505_$AUTO_$1=(0<tail_len$1);
late final dc.bool $if_$1;
if(or$7505_$AUTO_$1){
$if_$1=or$7505_$AUTO_$1;
}else{
$if_$1=(0==cnt);
}
if($if_$1){
final dc.dynamic v$8083_$AUTO_$1=o$1;
tail[tail_len$1]=v$8083_$AUTO_$1;
}else{
final lcoc_core.VectorNode tail_node$1=lcoc_core.VectorNode(edit, tail, );
final dc.List<dc.dynamic> new_tail$1=(dc.List<dc.dynamic>.filled(32, null, ));
final dc.dynamic v$8083_$AUTO_$2=o$1;
new_tail$1[0]=v$8083_$AUTO_$2;
tail=new_tail$1;
if(((4294967295&(1<<(31&shift)))<(cnt>>(31&5)))){
final dc.List<dc.dynamic> new_root_array$1=(dc.List<dc.dynamic>.filled(32, null, ));
final dc.int new_shift$1=(shift+5);
final lcoc_core.VectorNode v$8083_$AUTO_$3=root;
new_root_array$1[0]=v$8083_$AUTO_$3;
final lcoc_core.VectorNode v$8083_$AUTO_$4=lcoc_core.tv_new_path(edit, shift, tail_node$1, );
new_root_array$1[1]=v$8083_$AUTO_$4;
root=lcoc_core.VectorNode(edit, new_root_array$1, );
shift=new_shift$1;
}else{
root=lcoc_core.tv_push_tail(this, shift, root, tail_node$1, );
}
}
cnt=(1+cnt);
return this;
}