File tree 2 files changed +12
-10
lines changed
2 files changed +12
-10
lines changed Original file line number Diff line number Diff line change @@ -19,26 +19,23 @@ import "golang.org/x/exp/slices"
19
19
20
20
type UniqueSourceFileQueue []* SourceFile
21
21
22
- func (queue UniqueSourceFileQueue ) Len () int { return len (queue ) }
23
- func (queue UniqueSourceFileQueue ) Less (i , j int ) bool { return false }
24
- func (queue UniqueSourceFileQueue ) Swap (i , j int ) { panic ("Who called me?!?" ) }
25
-
26
22
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 ) {
23
+ if ! queue .Contains (value ) {
31
24
* queue = append (* queue , value )
32
25
}
33
26
}
34
27
28
+ func (queue UniqueSourceFileQueue ) Contains (target * SourceFile ) bool {
29
+ return slices .ContainsFunc (queue , target .Equals )
30
+ }
31
+
35
32
func (queue * UniqueSourceFileQueue ) Pop () * SourceFile {
36
33
old := * queue
37
34
x := old [0 ]
38
35
* queue = old [1 :]
39
36
return x
40
37
}
41
38
42
- func (queue * UniqueSourceFileQueue ) Empty () bool {
43
- return queue . Len ( ) == 0
39
+ func (queue UniqueSourceFileQueue ) Empty () bool {
40
+ return len ( queue ) == 0
44
41
}
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