blob: 7d0d9a18d324eaa3bdedaef3bb4f9698d39587a9 (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package reachability
import (
"fmt"
"codeberg.org/lindenii/furgit/objectid"
"codeberg.org/lindenii/furgit/objecttype"
)
// ErrObjectMissing indicates that a referenced object is absent from the store.
type ErrObjectMissing struct {
OID objectid.ObjectID
}
func (e *ErrObjectMissing) Error() string {
return fmt.Sprintf("reachability: missing object %s", e.OID)
}
// ErrObjectType indicates that a referenced object has a different type than
// what traversal expected on that edge.
type ErrObjectType struct {
OID objectid.ObjectID
Got objecttype.Type
Want objecttype.Type
}
func (e *ErrObjectType) Error() string {
gotName, gotOK := objecttype.Name(e.Got)
if !gotOK {
gotName = fmt.Sprintf("type(%d)", e.Got)
}
wantName, wantOK := objecttype.Name(e.Want)
if !wantOK {
wantName = fmt.Sprintf("type(%d)", e.Want)
}
return fmt.Sprintf("reachability: object %s has type %s, want %s", e.OID, gotName, wantName)
}
|