aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/ir/SkSLReturnStatement.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sksl/ir/SkSLReturnStatement.h')
-rw-r--r--src/sksl/ir/SkSLReturnStatement.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sksl/ir/SkSLReturnStatement.h b/src/sksl/ir/SkSLReturnStatement.h
index 1b479b8097..774d803011 100644
--- a/src/sksl/ir/SkSLReturnStatement.h
+++ b/src/sksl/ir/SkSLReturnStatement.h
@@ -24,6 +24,13 @@ struct ReturnStatement : public Statement {
: INHERITED(expression->fOffset, kReturn_Kind)
, fExpression(std::move(expression)) {}
+ std::unique_ptr<Statement> clone() const override {
+ if (fExpression) {
+ return std::unique_ptr<Statement>(new ReturnStatement(fExpression->clone()));
+ }
+ return std::unique_ptr<Statement>(new ReturnStatement(fOffset));
+ }
+
String description() const override {
if (fExpression) {
return "return " + fExpression->description() + ";";