tv_editable_array_for function
dynamic
tv_editable_array_for(
- dynamic tv$1,
- dynamic i$1
Implementation
dc.dynamic tv_editable_array_for(dc.dynamic tv$1, dc.dynamic i$1, ){
final lcoc_core.TransientVector arg$2=(tv$1 as lcoc_core.TransientVector);
final lcoc_core.VectorNode arg$1=lcoc_core.tv_ensure_editable((tv$1 as lcoc_core.TransientVector).edit, (tv$1 as lcoc_core.TransientVector).root, );
arg$2.root=arg$1;
lcoc_core.VectorNode node$1=arg$1;
dc.int level$1=(tv$1 as lcoc_core.TransientVector).shift;
do {
if((0<level$1)){
final dc.List arr$1=node$1.arr;
final dc.int j$1=(((i$1 as dc.int)>>(31&level$1))&31);
final lcoc_core.VectorNode v$8086_$AUTO_$1=lcoc_core.tv_ensure_editable((tv$1 as lcoc_core.TransientVector).edit, (arr$1[j$1]), );
arr$1[j$1]=v$8086_$AUTO_$1;
node$1=v$8086_$AUTO_$1;
level$1=(level$1-5);
continue;
}
return node$1.arr;
} while(true);
}