Index: src/sksl/ir/SkSLFunctionDefinition.h |
diff --git a/src/sksl/ir/SkSLFunctionDefinition.h b/src/sksl/ir/SkSLFunctionDefinition.h |
index ace27a3ed8e26ca678df4568b37868adbd00d164..fceb5474cb7137ea355e6dc0d39ae4427dbebe30 100644 |
--- a/src/sksl/ir/SkSLFunctionDefinition.h |
+++ b/src/sksl/ir/SkSLFunctionDefinition.h |
@@ -18,17 +18,17 @@ |
* A function definition (a declaration plus an associated block of code). |
*/ |
struct FunctionDefinition : public ProgramElement { |
- FunctionDefinition(Position position, const FunctionDeclaration& declaration, |
+ FunctionDefinition(Position position, std::shared_ptr<FunctionDeclaration> declaration, |
std::unique_ptr<Block> body) |
: INHERITED(position, kFunction_Kind) |
- , fDeclaration(declaration) |
+ , fDeclaration(std::move(declaration)) |
, fBody(std::move(body)) {} |
std::string description() const override { |
- return fDeclaration.description() + " " + fBody->description(); |
+ return fDeclaration->description() + " " + fBody->description(); |
} |
- const FunctionDeclaration& fDeclaration; |
+ const std::shared_ptr<FunctionDeclaration> fDeclaration; |
const std::unique_ptr<Block> fBody; |
typedef ProgramElement INHERITED; |