Skip to content

Commit 03d9873

Browse files
committed
Factored sliceContainsSourceFile into a proper method
1 parent 5f6bcb1 commit 03d9873

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

legacy/builder/types/accessories.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,27 @@
1515

1616
package types
1717

18-
import "golang.org/x/exp/slices"
19-
2018
type UniqueSourceFileQueue []*SourceFile
2119

2220
func (queue UniqueSourceFileQueue) Len() int { return len(queue) }
2321
func (queue UniqueSourceFileQueue) Less(i, j int) bool { return false }
2422
func (queue UniqueSourceFileQueue) Swap(i, j int) { panic("Who called me?!?") }
2523

2624
func (queue *UniqueSourceFileQueue) Push(value *SourceFile) {
27-
equals := func(elem *SourceFile) bool {
28-
return elem.Origin == value.Origin && elem.RelativePath.EqualsTo(value.RelativePath)
29-
}
30-
if !slices.ContainsFunc(*queue, equals) {
25+
if !queue.Contains(value) {
3126
*queue = append(*queue, value)
3227
}
3328
}
3429

30+
func (queue UniqueSourceFileQueue) Contains(target *SourceFile) bool {
31+
for _, elem := range queue {
32+
if elem.Equals(target) {
33+
return true
34+
}
35+
}
36+
return false
37+
}
38+
3539
func (queue *UniqueSourceFileQueue) Pop() *SourceFile {
3640
old := *queue
3741
x := old[0]

legacy/builder/types/types.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ type SourceFile struct {
3030
RelativePath *paths.Path
3131
}
3232

33+
func (f *SourceFile) Equals(g *SourceFile) bool {
34+
return f.Origin == g.Origin &&
35+
f.RelativePath.EqualsTo(g.RelativePath)
36+
}
37+
3338
// Create a SourceFile containing the given source file path within the
3439
// given origin. The given path can be absolute, or relative within the
3540
// origin's root source folder

0 commit comments

Comments
 (0)