internal/shaderlister: refactoring

This commit is contained in:
Hajime Hoshi 2025-02-08 23:59:04 +09:00
parent 5db5346272
commit 42125a8629

View File

@ -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)