Skip to content

Inter-file definition lookup returns an error if the dependency is declared incorrectly #324

@rcjsuen

Description

@rcjsuen

If we try to open other which is declared in the other file, a TypeAssertionError will be hit.

include:
  - compose.other.yaml
services:
  test:
    networks:
      - other
networks: string
*runtime.TypeAssertionError interface conversion: ast.Node is *ast.StringNode, not *ast.MappingNode 
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/server/server.go:218 (*Server).handleRecovered
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/server/server.go:131 NewServer.func1
    /home/runner/work/docker-language-server/docker-language-server/internal/tliron/glsp/protocol/handler.go:100 (*Handler).Handle.func1
    runtime/panic.go:792 gopanic
    runtime/iface.go:285 panicdottypeI
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/definition.go:71 dependencyLookup
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/hover.go:165 createDependencyHover
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/hover.go:146 networkHover
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/hover.go:37 Hover
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/server/hover.go:26 (*Server).TextDocumentHover
    /home/runner/work/docker-language-server/docker-language-server/internal/tliron/glsp/protocol/handler.go:408 (*Handler).Handle
    /home/runner/work/docker-language-server/docker-language-server/internal/tliron/glsp/server/handler.go:48 (*Server).handle
    github.com/sourcegraph/jsonrpc2@v0.2.0/handler_with_error.go:21 (*HandlerWithErrorConfigurer).Handle
    github.com/sourcegraph/jsonrpc2@v0.2.0/conn.go:205 (*Conn).readMessages

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions