Skip to content

Should not assume the include node will always be an array #322

@rcjsuen

Description

@rcjsuen

If the include node is not an array then our inter-file features will not work because of a TypeAssertionError.

include:

services:
  backend:
    image: company/usersapi
  frontend:
    image: company/frontend
    volumes:
      - volA:/mount
*runtime.TypeAssertionError interface conversion: ast.Node is *ast.NullNode, not *ast.SequenceNode 
    /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/pkg/document/dockerComposeDocument.go:133 (*composeDocument).includedPaths
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/document/dockerComposeDocument.go:90 searchForIncludedFiles
    /home/runner/work/docker-language-server/docker-language-server/internal/pkg/document/dockerComposeDocument.go:120 (*composeDocument).IncludedFiles
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/definition.go:65 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:239 volumeHover
    /home/runner/work/docker-language-server/docker-language-server/internal/compose/hover.go:49 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