Index: src/sksl/ir/SkSLFunctionCall.h |
diff --git a/src/sksl/ir/SkSLFunctionCall.h b/src/sksl/ir/SkSLFunctionCall.h |
index 85dba40f2ae857ac54264e33eac4321112812b68..78d25662270f1387680e11ea0704213ea2272967 100644 |
--- a/src/sksl/ir/SkSLFunctionCall.h |
+++ b/src/sksl/ir/SkSLFunctionCall.h |
@@ -17,14 +17,14 @@ |
* A function invocation. |
*/ |
struct FunctionCall : public Expression { |
- FunctionCall(Position position, const FunctionDeclaration& function, |
+ FunctionCall(Position position, std::shared_ptr<FunctionDeclaration> function, |
std::vector<std::unique_ptr<Expression>> arguments) |
- : INHERITED(position, kFunctionCall_Kind, function.fReturnType) |
+ : INHERITED(position, kFunctionCall_Kind, function->fReturnType) |
, fFunction(std::move(function)) |
, fArguments(std::move(arguments)) {} |
std::string description() const override { |
- std::string result = fFunction.fName + "("; |
+ std::string result = fFunction->fName + "("; |
std::string separator = ""; |
for (size_t i = 0; i < fArguments.size(); i++) { |
result += separator; |
@@ -35,7 +35,7 @@ |
return result; |
} |
- const FunctionDeclaration& fFunction; |
+ const std::shared_ptr<FunctionDeclaration> fFunction; |
const std::vector<std::unique_ptr<Expression>> fArguments; |
typedef Expression INHERITED; |