Make IRGenerator::call propagate poison
This fixes redundant "not a function" errors when we have already
produced an error resolving the target of a call.
Change-Id: I94876ec09feac399108033d1b850e78c7750dd1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443411
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/sksl/SkSLIRGenerator.cpp b/src/sksl/SkSLIRGenerator.cpp
index 663ac2a..7a4486a 100644
--- a/src/sksl/SkSLIRGenerator.cpp
+++ b/src/sksl/SkSLIRGenerator.cpp
@@ -1196,6 +1196,8 @@
}
return this->call(offset, *functions[0], std::move(arguments));
}
+ case Expression::Kind::kPoison:
+ return functionValue;
default:
this->errorReporter().error(offset, "not a function");
return nullptr;