File tree Expand file tree Collapse file tree 2 files changed +15
-6
lines changed Expand file tree Collapse file tree 2 files changed +15
-6
lines changed Original file line number Diff line number Diff line change 15
15
16
16
package types
17
17
18
- import "golang.org/x/exp/slices"
19
-
20
18
type UniqueSourceFileQueue []* SourceFile
21
19
22
20
func (queue UniqueSourceFileQueue ) Len () int { return len (queue ) }
23
21
func (queue UniqueSourceFileQueue ) Less (i , j int ) bool { return false }
24
22
func (queue UniqueSourceFileQueue ) Swap (i , j int ) { panic ("Who called me?!?" ) }
25
23
26
24
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 ) {
31
26
* queue = append (* queue , value )
32
27
}
33
28
}
34
29
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
+
35
39
func (queue * UniqueSourceFileQueue ) Pop () * SourceFile {
36
40
old := * queue
37
41
x := old [0 ]
Original file line number Diff line number Diff line change @@ -30,6 +30,11 @@ type SourceFile struct {
30
30
RelativePath * paths.Path
31
31
}
32
32
33
+ func (f * SourceFile ) Equals (g * SourceFile ) bool {
34
+ return f .Origin == g .Origin &&
35
+ f .RelativePath .EqualsTo (g .RelativePath )
36
+ }
37
+
33
38
// Create a SourceFile containing the given source file path within the
34
39
// given origin. The given path can be absolute, or relative within the
35
40
// origin's root source folder
You can’t perform that action at this time.
0 commit comments