mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-02-10 18:13:18 +01:00
internal/shaderlister: separate File into GoFile and KageFile
Updates #3157
This commit is contained in:
parent
42125a8629
commit
5e2f2d37aa
@ -51,7 +51,8 @@ func main() {
|
||||
|
||||
type Shader struct {
|
||||
Package string
|
||||
File string
|
||||
GoFile string `json:",omitempty"`
|
||||
KageFile string `json:",omitempty"`
|
||||
Source string
|
||||
SourceHash string
|
||||
GLSL *GLSL `json:",omitempty"`
|
||||
@ -236,7 +237,8 @@ func appendShaderSources(shaders []Shader, pkg *packages.Package) ([]Shader, err
|
||||
return nil
|
||||
}
|
||||
visitedPaths[path] = struct{}{}
|
||||
shaders, err = appendShaderFromFile(shaders, pkg.PkgPath, path)
|
||||
goFile := pkg.Fset.Position(c.Pos()).Filename
|
||||
shaders, err = appendShaderFromFile(shaders, pkg.PkgPath, goFile, path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -258,7 +260,8 @@ func appendShaderSources(shaders []Shader, pkg *packages.Package) ([]Shader, err
|
||||
continue
|
||||
}
|
||||
visitedPaths[path] = struct{}{}
|
||||
shaders, err = appendShaderFromFile(shaders, pkg.PkgPath, path)
|
||||
goFile := pkg.Fset.Position(c.Pos()).Filename
|
||||
shaders, err = appendShaderFromFile(shaders, pkg.PkgPath, goFile, path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -395,7 +398,7 @@ func appendShaderSources(shaders []Shader, pkg *packages.Package) ([]Shader, err
|
||||
|
||||
shaders = append(shaders, Shader{
|
||||
Package: pkg.PkgPath,
|
||||
File: pkg.Fset.Position(spec.Pos()).Filename,
|
||||
GoFile: pkg.Fset.Position(spec.Pos()).Filename,
|
||||
Source: constant.StringVal(val),
|
||||
})
|
||||
return false
|
||||
@ -408,15 +411,16 @@ func appendShaderSources(shaders []Shader, pkg *packages.Package) ([]Shader, err
|
||||
return shaders, nil
|
||||
}
|
||||
|
||||
func appendShaderFromFile(shaders []Shader, pkgPath string, filePath string) ([]Shader, error) {
|
||||
content, err := os.ReadFile(filePath)
|
||||
func appendShaderFromFile(shaders []Shader, pkgPath string, goFile string, kageFile string) ([]Shader, error) {
|
||||
content, err := os.ReadFile(kageFile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
shaders = append(shaders, Shader{
|
||||
Package: pkgPath,
|
||||
File: filePath,
|
||||
Source: string(content),
|
||||
Package: pkgPath,
|
||||
GoFile: goFile,
|
||||
KageFile: kageFile,
|
||||
Source: string(content),
|
||||
})
|
||||
return shaders, nil
|
||||
}
|
||||
|
@ -50,7 +50,8 @@ func TestRun(t *testing.T) {
|
||||
|
||||
type shader struct {
|
||||
Package string
|
||||
File string
|
||||
GoFile string
|
||||
KageFile string
|
||||
Source string
|
||||
SourceHash string
|
||||
}
|
||||
@ -89,9 +90,10 @@ func TestRun(t *testing.T) {
|
||||
if s.shader.Package == "" {
|
||||
t.Errorf("s.Package is empty: %v", s)
|
||||
}
|
||||
if s.shader.File == "" {
|
||||
if s.shader.GoFile == "" {
|
||||
t.Errorf("s.File is empty: %v", s)
|
||||
}
|
||||
// KageFile can be empty.
|
||||
hash, err := graphics.CalcSourceHash([]byte(s.shader.Source))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
Loading…
Reference in New Issue
Block a user