@@ -149,7 +149,7 @@ func (r *Resolver) error(node ast.Node, msg string) error {
149149
150150 r .diagnostics = append (r .diagnostics , diag )
151151
152- return fmt .Errorf ("%w: %s" , ErrResolve , diag .String () )
152+ return fmt .Errorf ("%w: %s" , ErrResolve , diag .Msg )
153153}
154154
155155// errorf calls error with a formatted message, adding it to
@@ -213,7 +213,7 @@ func (r *Resolver) resolveGlobalVarStatement(env *environment, file *spec.File,
213213
214214 value , err := r .resolveExpression (env , statement .Value )
215215 if err != nil {
216- return r .errorf (statement , "failed to resolve value expression for key %s: %v" , key , err )
216+ return r .errorf (statement . Value , "failed to resolve value expression for key %s: %v" , key , err )
217217 }
218218
219219 if ! isKeyword {
@@ -223,7 +223,7 @@ func (r *Resolver) resolveGlobalVarStatement(env *environment, file *spec.File,
223223 }
224224
225225 if err := env .define (key , value ); err != nil {
226- return r .error (statement , err .Error ())
226+ return r .error (statement . Value , err .Error ())
227227 }
228228
229229 file .Vars [key ] = value
@@ -292,7 +292,7 @@ func (r *Resolver) resolveGlobalPromptStatement(
292292 //
293293 // Won't think 'id' is missing and fail because it's not defined yet.
294294 if err := env .define (name , PromptPlaceholderGlobal + name ); err != nil {
295- return r .errorf (statement , "prompt %s shadows global variable of the same name: %v" , name , err )
295+ return r .errorf (statement . Ident , "prompt %s shadows global variable of the same name: %v" , name , err )
296296 }
297297
298298 file .Prompts [name ] = prompt
@@ -386,7 +386,7 @@ func (r *Resolver) resolveRequestStatement(env *environment, in ast.Request) (sp
386386
387387 redirect , err = r .resolveExpression (env , in .ResponseRedirect .File )
388388 if err != nil {
389- return spec.Request {}, r .errorf (in .ResponseRedirect , "invalid response redirect expression: %v" , err )
389+ return spec.Request {}, r .errorf (in .ResponseRedirect . File , "invalid response redirect expression: %v" , err )
390390 }
391391
392392 request .ResponseFile = filepath .Clean (redirect )
@@ -397,7 +397,7 @@ func (r *Resolver) resolveRequestStatement(env *environment, in ast.Request) (sp
397397
398398 reference , err = r .resolveExpression (env , in .ResponseReference .File )
399399 if err != nil {
400- return spec.Request {}, r .errorf (in .ResponseReference , "invalid response reference expression: %v" , err )
400+ return spec.Request {}, r .errorf (in .ResponseReference . File , "invalid response reference expression: %v" , err )
401401 }
402402
403403 request .ResponseRef = filepath .Clean (reference )
@@ -489,7 +489,7 @@ func (r *Resolver) resolveRequestVarStatement(
489489
490490 value , err := r .resolveExpression (env , statement .Value )
491491 if err != nil {
492- return r .errorf (statement , "failed to resolve value expression for key %s: %v" , key , err )
492+ return r .errorf (statement . Value , "failed to resolve value expression for key %s: %v" , key , err )
493493 }
494494
495495 if ! isKeyword {
@@ -499,7 +499,7 @@ func (r *Resolver) resolveRequestVarStatement(
499499 }
500500
501501 if err := env .define (key , value ); err != nil {
502- return r .error (statement , err .Error ())
502+ return r .error (statement . Ident , err .Error ())
503503 }
504504
505505 request .Vars [key ] = value
@@ -547,7 +547,7 @@ func (r *Resolver) resolveRequestPromptStatement(
547547 }
548548
549549 if _ , exists := request .Prompts [name ]; exists {
550- return r .errorf (statement , "prompt %s already declared" , name )
550+ return r .errorf (statement . Ident , "prompt %s already declared" , name )
551551 }
552552
553553 // Shouldn't need this because request is declared top level with all this
@@ -567,7 +567,7 @@ func (r *Resolver) resolveRequestPromptStatement(
567567 //
568568 // Won't think 'id' is missing and fail because it's not defined yet.
569569 if err := env .define (name , PromptPlaceholderLocal + name ); err != nil {
570- return r .errorf (statement , "prompt %s shadows local variable of the same name: %v" , name , err )
570+ return r .errorf (statement . Ident , "prompt %s shadows local variable of the same name: %v" , name , err )
571571 }
572572
573573 request .Prompts [name ] = prompt
@@ -579,7 +579,7 @@ func (r *Resolver) resolveRequestPromptStatement(
579579func (r * Resolver ) resolveHeader (env * environment , in ast.Header ) (key , value string , err error ) {
580580 value , err = r .resolveExpression (env , in .Value )
581581 if err != nil {
582- return "" , "" , r .errorf (in , "invalid value expression for header %s: %v" , in .Key , err )
582+ return "" , "" , r .errorf (in . Value , "invalid value expression for header %s: %v" , in .Key , err )
583583 }
584584
585585 return in .Key , value , nil
@@ -626,17 +626,17 @@ func (r *Resolver) resolveBody(env *environment, request *spec.Request, expressi
626626func (r * Resolver ) resolveInterpolatedExpression (env * environment , expr ast.InterpolatedExpression ) (string , error ) {
627627 leftResolved , err := r .resolveExpression (env , expr .Left )
628628 if err != nil {
629- return "" , r .errorf (expr , "could not resolve LHS of interpolated expression: %v" , err )
629+ return "" , r .errorf (expr . Left , "could not resolve LHS of interpolated expression: %v" , err )
630630 }
631631
632632 interpResolved , err := r .resolveExpression (env , expr .Interp )
633633 if err != nil {
634- return "" , r .errorf (expr , "could not resolve interp of interpolated expression: %v" , err )
634+ return "" , r .errorf (expr . Interp , "could not resolve interp of interpolated expression: %v" , err )
635635 }
636636
637637 rightResolved , err := r .resolveExpression (env , expr .Right )
638638 if err != nil {
639- return "" , r .errorf (expr , "could not resolve RHS of interpolated expression: %v" , err )
639+ return "" , r .errorf (expr . Right , "could not resolve RHS of interpolated expression: %v" , err )
640640 }
641641
642642 return leftResolved + interpResolved + rightResolved , nil
0 commit comments