[tools][gen] Fix nil-deref on non-existent include
File() used to get-or-create. Now you need to call AddFile() first.
Change-Id: I5166258abe80f192bfec48e823d94459668af01b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/146900
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/tools/src/cmd/gen/build/build.go b/tools/src/cmd/gen/build/build.go
index 9e8395c..fc3554e 100644
--- a/tools/src/cmd/gen/build/build.go
+++ b/tools/src/cmd/gen/build/build.go
@@ -233,10 +233,10 @@
if strings.HasPrefix(include.path, srcTint) {
// #include "src/tint/..."
include.path = include.path[len(srcTint)+1:] // Strip 'src/tint/'
- includeFile := p.File(include.path)
- if _, err := os.Stat(includeFile.AbsPath()); err != nil {
- return fmt.Errorf(`%v:%v includes non-existent file '%v'`, file.Path(), include.line, includeFile.AbsPath())
+ includeFile := p.File(include.path)
+ if includeFile == nil {
+ return fmt.Errorf(`%v:%v includes non-existent file '%v'`, file.Path(), include.line, include.path)
}
dependencyKind := targetKindFromFilename(include.path)