do_assoc function

VectorNode do_assoc(
  1. dynamic level$1,
  2. dynamic node$1,
  3. dynamic n$1,
  4. dynamic val$1,
)

Implementation

lcoc_core.VectorNode do_assoc(dc.dynamic level$1, dc.dynamic node$1, dc.dynamic n$1, dc.dynamic val$1, ){
final dc.List<dc.dynamic> cloned_node$1=(dc.List.from((node$1 as lcoc_core.VectorNode).arr, growable: false, ));
if((0==(level$1 as dc.int))){
final dc.dynamic v$8086_$AUTO_$1=val$1;
cloned_node$1[((n$1 as dc.int)&31)]=v$8086_$AUTO_$1;
return lcoc_core.VectorNode(null, cloned_node$1, );
}
final dc.int subidx$1=(((n$1 as dc.int)>>(31&(level$1 as dc.int)))&31);
final lcoc_core.VectorNode new_child$1=lcoc_core.do_assoc(((level$1 as dc.int)-5), ((node$1 as lcoc_core.VectorNode).arr[subidx$1]), (n$1 as dc.int), val$1, );
final lcoc_core.VectorNode v$8086_$AUTO_$2=new_child$1;
cloned_node$1[subidx$1]=v$8086_$AUTO_$2;
return lcoc_core.VectorNode(null, cloned_node$1, );
}