shithub: furgit

Download patch

ref: cea24e9d2de20aec9ec173a1d131f3efbf2f9a29
parent: 1734207266752b9464f42c31f7728a7e3c692c50
author: Runxi Yu <me@runxiyu.org>
date: Wed Mar 11 12:44:40 EDT 2026

internal/commitquery: Unexport priority queue

--- a/internal/commitquery/merge_bases.go
+++ b/internal/commitquery/merge_bases.go
@@ -44,7 +44,7 @@
 		return nil
 	}
 
-	queue := NewPriorityQueue(ctx)
+	queue := newPriorityQueue(ctx)
 	queue.PushNode(left)
 
 	for _, right := range rights {
@@ -87,7 +87,7 @@
 	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
--- a/internal/commitquery/priority_queue.go
+++ b/internal/commitquery/priority_queue.go
@@ -2,15 +2,15 @@
 
 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
@@ -17,22 +17,22 @@
 }
 
 // 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 @@
 }
 
 // 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 @@
 }
 
 // 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)
--