@@ -93,10 +93,11 @@ func (s *ElasticServer) RunElasticServer(ctx context.Context) error {
93
93
func (s * ElasticServer ) EDefinition (ctx context.Context , params * protocol.TextDocumentPositionParams ) ([]protocol.SymbolLocator , error ) {
94
94
uri := span .NewURI (params .TextDocument .URI )
95
95
view := s .session .ViewOf (uri )
96
- f , m , err := getGoFile (ctx , view , uri )
96
+ f , err := getGoFile (ctx , view , uri )
97
97
if err != nil {
98
98
return nil , err
99
99
}
100
+ m , err := getMapper (ctx , f )
100
101
spn , err := m .PointSpan (params .Position )
101
102
if err != nil {
102
103
return nil , err
@@ -117,15 +118,19 @@ func (s *ElasticServer) EDefinition(ctx context.Context, params *protocol.TextDo
117
118
}
118
119
qname := getQName (ctx , f , declObj , kind )
119
120
120
- declSpan , err := ident .DeclarationRange ().Span ()
121
+ decSpan , err := ident .DeclarationRange ().Span ()
121
122
if err != nil {
122
123
return nil , err
123
124
}
124
- _ , decM , err := getSourceFile (ctx , view , declSpan .URI ())
125
+ decFile , err := getGoFile (ctx , view , decSpan .URI ())
125
126
if err != nil {
126
127
return nil , err
127
128
}
128
- loc , err := decM .Location (declSpan )
129
+ decM , err := getMapper (ctx , decFile )
130
+ if err != nil {
131
+ return nil , err
132
+ }
133
+ loc , err := decM .Location (decSpan )
129
134
if err != nil {
130
135
return nil , err
131
136
}
@@ -156,15 +161,16 @@ func (s *ElasticServer) Full(ctx context.Context, fullParams *protocol.FullParam
156
161
return fullResponse , nil
157
162
}
158
163
view := s .session .ViewOf (uri )
159
- f , _ , err := getGoFile (ctx , view , uri )
164
+ f , err := getGoFile (ctx , view , uri )
160
165
if err != nil {
161
166
return fullResponse , err
162
167
}
163
168
path := f .URI ().Filename ()
164
- if f .GetPackage (ctx ) == nil {
169
+ pkg , err := f .GetPackage (ctx )
170
+ if err != nil {
165
171
return fullResponse , err
166
172
}
167
- pkgLocator , _ := collectPkgMetadata (f . GetPackage ( ctx ) .GetTypes (), view .Folder ().Filename (), s , path )
173
+ pkgLocator , _ := collectPkgMetadata (pkg .GetTypes (), view .Folder ().Filename (), s , path )
168
174
169
175
detailSyms , err := constructDetailSymbol (s , ctx , & params , & pkgLocator )
170
176
if err != nil {
@@ -605,7 +611,12 @@ func getDeclObj(ctx context.Context, f source.GoFile, pos token.Pos) types.Objec
605
611
case * ast.SelectorExpr :
606
612
astIdent = node .Sel
607
613
}
608
- return f .GetPackage (ctx ).GetTypesInfo ().ObjectOf (astIdent )
614
+ pkg , err := f .GetPackage (ctx )
615
+ if err != nil {
616
+ return nil
617
+ }
618
+
619
+ return pkg .GetTypesInfo ().ObjectOf (astIdent )
609
620
}
610
621
611
622
func constructDetailSymbol (s * ElasticServer , ctx context.Context , params * protocol.DocumentSymbolParams , pkgLocator * protocol.PackageLocator ) (detailSyms []protocol.DetailSymbolInformation , err error ) {
0 commit comments