From cea24e9d2de20aec9ec173a1d131f3efbf2f9a29 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 11 Mar 2026 16:44:40 +0800 Subject: internal/commitquery: Unexport priority queue --- internal/commitquery/merge_bases.go | 4 ++-- internal/commitquery/priority_queue.go | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) (limited to 'internal') diff --git a/internal/commitquery/merge_bases.go b/internal/commitquery/merge_bases.go index c4b942f6..62ab9bd6 100644 --- a/internal/commitquery/merge_bases.go +++ b/internal/commitquery/merge_bases.go @@ -44,7 +44,7 @@ func paintDownToCommon(ctx *Context, left NodeIndex, rights []NodeIndex, minGene return nil } - queue := NewPriorityQueue(ctx) + queue := newPriorityQueue(ctx) queue.PushNode(left) for _, right := range rights { @@ -87,7 +87,7 @@ func paintDownToCommon(ctx *Context, left NodeIndex, rights []NodeIndex, minGene return nil } -func queueHasNonStale(ctx *Context, queue *PriorityQueue) bool { +func queueHasNonStale(ctx *Context, queue *priorityQueue) bool { for _, idx := range queue.items { if !ctx.HasAnyMarks(idx, markStale) { return true diff --git a/internal/commitquery/priority_queue.go b/internal/commitquery/priority_queue.go index a7a4876e..d6dbf54f 100644 --- a/internal/commitquery/priority_queue.go +++ b/internal/commitquery/priority_queue.go @@ -2,37 +2,37 @@ package commitquery import "container/heap" -// PriorityQueue orders internal nodes using one query context's comparator. -type PriorityQueue struct { +// priorityQueue orders internal nodes using one query context's comparator. +type priorityQueue struct { ctx *Context items []NodeIndex } -// NewPriorityQueue builds one empty priority queue over one query context. -func NewPriorityQueue(ctx *Context) *PriorityQueue { - queue := &PriorityQueue{ctx: ctx} +// newPriorityQueue builds one empty priority queue over one query context. +func newPriorityQueue(ctx *Context) *priorityQueue { + queue := &priorityQueue{ctx: ctx} heap.Init(queue) return queue } // Len reports the number of queued items. -func (queue *PriorityQueue) Len() int { +func (queue *priorityQueue) Len() int { return len(queue.items) } // Less reports whether one heap slot sorts ahead of another. -func (queue *PriorityQueue) Less(left, right int) bool { +func (queue *priorityQueue) Less(left, right int) bool { return queue.ctx.Compare(queue.items[left], queue.items[right]) > 0 } // Swap exchanges two heap slots. -func (queue *PriorityQueue) Swap(left, right int) { +func (queue *priorityQueue) Swap(left, right int) { queue.items[left], queue.items[right] = queue.items[right], queue.items[left] } // Push appends one heap element. -func (queue *PriorityQueue) Push(item any) { +func (queue *priorityQueue) Push(item any) { idx, ok := item.(NodeIndex) if !ok { panic("commitquery: heap push item is not a NodeIndex") @@ -42,7 +42,7 @@ func (queue *PriorityQueue) Push(item any) { } // Pop removes one heap element. -func (queue *PriorityQueue) Pop() any { +func (queue *priorityQueue) Pop() any { last := len(queue.items) - 1 item := queue.items[last] queue.items = queue.items[:last] @@ -51,12 +51,12 @@ func (queue *PriorityQueue) Pop() any { } // PushNode inserts one internal node. -func (queue *PriorityQueue) PushNode(idx NodeIndex) { +func (queue *priorityQueue) PushNode(idx NodeIndex) { heap.Push(queue, idx) } // PopNode removes the highest-priority internal node. -func (queue *PriorityQueue) PopNode() NodeIndex { +func (queue *priorityQueue) PopNode() NodeIndex { item := heap.Pop(queue) idx, ok := item.(NodeIndex) -- cgit v1.3.1-10-gc9f91