diff --git a/internal/shaderlister/main.go b/internal/shaderlister/main.go index 1cd431971..02e95646e 100644 --- a/internal/shaderlister/main.go +++ b/internal/shaderlister/main.go @@ -205,17 +205,6 @@ func isAsciiSpace(r rune) bool { } func appendShaderSources(shaders []Shader, pkg *packages.Package) ([]Shader, error) { - topLevelDecls := map[ast.Decl]struct{}{} - for _, file := range pkg.Syntax { - for _, decl := range file.Decls { - topLevelDecls[decl] = struct{}{} - } - } - isTopLevelDecl := func(decl ast.Decl) bool { - _, ok := topLevelDecls[decl] - return ok - } - // Resolve ebitengine:shaderfile directives. visitedPatterns := map[string]struct{}{} visitedPaths := map[string]struct{}{} @@ -279,6 +268,18 @@ func appendShaderSources(shaders []Shader, pkg *packages.Package) ([]Shader, err } } + topLevelDecls := map[ast.Decl]struct{}{} + for _, file := range pkg.Syntax { + for _, decl := range file.Decls { + topLevelDecls[decl] = struct{}{} + } + } + + isTopLevelDecl := func(decl ast.Decl) bool { + _, ok := topLevelDecls[decl] + return ok + } + // Resolve ebitengine:shadersource directives. var genDeclStack []*ast.GenDecl in := inspector.New(pkg.Syntax)