@@ -486,6 +486,14 @@ fn addNode(mf: *MappedFile, gpa: std.mem.Allocator, opts: struct {
486486 break :free .{ free_ni , free_node };
487487 },
488488 };
489+ switch (opts .prev ) {
490+ .none = > opts .parent .get (mf ).first = free_ni ,
491+ else = > | prev_ni | prev_ni .get (mf ).next = free_ni ,
492+ }
493+ switch (opts .next ) {
494+ .none = > opts .parent .get (mf ).last = free_ni ,
495+ else = > | next_ni | next_ni .get (mf ).prev = free_ni ,
496+ }
489497 free_node .* = .{
490498 .parent = opts .parent ,
491499 .prev = opts .prev ,
@@ -535,13 +543,10 @@ pub fn addOnlyChildNode(
535543 try mf .nodes .ensureUnusedCapacity (gpa , 1 );
536544 const parent = parent_ni .get (mf );
537545 assert (parent .first == .none and parent .last == .none );
538- const ni = try mf .addNode (gpa , .{
546+ return mf .addNode (gpa , .{
539547 .parent = parent_ni ,
540548 .add_node = opts ,
541549 });
542- parent .first = ni ;
543- parent .last = ni ;
544- return ni ;
545550}
546551
547552pub fn addFirstChildNode (
@@ -552,17 +557,11 @@ pub fn addFirstChildNode(
552557) ! Node.Index {
553558 try mf .nodes .ensureUnusedCapacity (gpa , 1 );
554559 const parent = parent_ni .get (mf );
555- const ni = try mf .addNode (gpa , .{
560+ return mf .addNode (gpa , .{
556561 .parent = parent_ni ,
557562 .next = parent .first ,
558563 .add_node = opts ,
559564 });
560- switch (parent .first ) {
561- .none = > parent .last = ni ,
562- else = > | first_ni | first_ni .get (mf ).prev = ni ,
563- }
564- parent .first = ni ;
565- return ni ;
566565}
567566
568567pub fn addLastChildNode (
@@ -573,7 +572,7 @@ pub fn addLastChildNode(
573572) ! Node.Index {
574573 try mf .nodes .ensureUnusedCapacity (gpa , 1 );
575574 const parent = parent_ni .get (mf );
576- const ni = try mf .addNode (gpa , .{
575+ return mf .addNode (gpa , .{
577576 .parent = parent_ni ,
578577 .prev = parent .last ,
579578 .offset = offset : switch (parent .last ) {
@@ -585,12 +584,6 @@ pub fn addLastChildNode(
585584 },
586585 .add_node = opts ,
587586 });
588- switch (parent .last ) {
589- .none = > parent .first = ni ,
590- else = > | last_ni | last_ni .get (mf ).next = ni ,
591- }
592- parent .last = ni ;
593- return ni ;
594587}
595588
596589pub fn addNodeAfter (
@@ -603,19 +596,13 @@ pub fn addNodeAfter(
603596 try mf .nodes .ensureUnusedCapacity (gpa , 1 );
604597 const prev = prev_ni .get (mf );
605598 const prev_offset , const prev_size = prev .location ().resolve (mf );
606- const ni = try mf .addNode (gpa , .{
599+ return mf .addNode (gpa , .{
607600 .parent = prev .parent ,
608601 .prev = prev_ni ,
609602 .next = prev .next ,
610603 .offset = prev_offset + prev_size ,
611604 .add_node = opts ,
612605 });
613- switch (prev .next ) {
614- .none = > prev .parent .get (mf ).last = ni ,
615- else = > | next_ni | next_ni .get (mf ).prev = ni ,
616- }
617- prev .next = ni ;
618- return ni ;
619606}
620607
621608fn resizeNode (mf : * MappedFile , gpa : std.mem.Allocator , ni : Node.Index , requested_size : u64 ) ! void {
0 commit comments