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;