Skip to content

Commit 3c10120

Browse files
authored
Quit panicking on named types over error (#258)
1 parent 3477502 commit 3c10120

6 files changed

Lines changed: 71 additions & 7 deletions

File tree

internal/lookup/lookup.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,7 @@ func (p *Global) GetSymbolOfObject(obj types.Object) (*scip.SymbolInformation, b
151151
case *types.Builtin:
152152
return nil, false, nil
153153
case *types.Func:
154-
if orig := obj.Origin(); orig != nil {
155-
name := orig.FullName()
156-
switch name {
157-
case "(error).Error":
158-
return nil, false, nil
159-
}
160-
}
154+
return nil, false, nil
161155
}
162156

163157
panic(fmt.Sprintf("failed to create symbol for builtin obj: %T %+v | %s", obj, obj, obj.Id()))
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package consumer
2+
3+
import "github.com/example/deplib"
4+
5+
var Sentinel deplib.CustomErr
6+
7+
func New() deplib.CustomErr { return nil }
8+
9+
type Wrapper struct {
10+
Err deplib.CustomErr
11+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package deplib
2+
3+
type CustomErr error
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module github.com/example/deplib
2+
3+
go 1.22
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module sg/pr258
2+
3+
go 1.22
4+
5+
require github.com/example/deplib v0.0.0
6+
7+
replace github.com/example/deplib => ./deplib
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package consumer
2+
// ^^^^^^^^ definition 0.1.test `sg/pr258`/
3+
// kind Package
4+
// display_name consumer
5+
// signature_documentation
6+
// > package consumer
7+
8+
import "github.com/example/deplib"
9+
// ^^^^^^^^^^^^^^^^^^^^^^^^^ reference github.com/example/deplib 0.1.test `github.com/example/deplib`/
10+
11+
var Sentinel deplib.CustomErr
12+
// ^^^^^^^^ definition 0.1.test `sg/pr258`/Sentinel.
13+
// kind Variable
14+
// display_name Sentinel
15+
// signature_documentation
16+
// > var Sentinel deplib.CustomErr
17+
// ^^^^^^ reference github.com/example/deplib 0.1.test `github.com/example/deplib`/
18+
// ^^^^^^^^^ reference github.com/example/deplib 0.1.test `github.com/example/deplib`/CustomErr#
19+
20+
//⌄ enclosing_range_start 0.1.test `sg/pr258`/New().
21+
func New() deplib.CustomErr { return nil }
22+
// ^^^ definition 0.1.test `sg/pr258`/New().
23+
// kind Function
24+
// display_name New
25+
// signature_documentation
26+
// > func New() deplib.CustomErr
27+
// ^^^^^^ reference github.com/example/deplib 0.1.test `github.com/example/deplib`/
28+
// ^^^^^^^^^ reference github.com/example/deplib 0.1.test `github.com/example/deplib`/CustomErr#
29+
// ⌃ enclosing_range_end 0.1.test `sg/pr258`/New().
30+
31+
type Wrapper struct {
32+
// ^^^^^^^ definition 0.1.test `sg/pr258`/Wrapper#
33+
// kind Struct
34+
// display_name Wrapper
35+
// signature_documentation
36+
// > type Wrapper struct{ Err deplib.CustomErr }
37+
Err deplib.CustomErr
38+
// ^^^ definition 0.1.test `sg/pr258`/Wrapper#Err.
39+
// kind Field
40+
// display_name Err
41+
// signature_documentation
42+
// > struct field Err deplib.CustomErr
43+
// ^^^^^^ reference github.com/example/deplib 0.1.test `github.com/example/deplib`/
44+
// ^^^^^^^^^ reference github.com/example/deplib 0.1.test `github.com/example/deplib`/CustomErr#
45+
}
46+

0 commit comments

Comments
 (0)