diff options
Diffstat (limited to 'src/sksl/ir/SkSLReturnStatement.h')
-rw-r--r-- | src/sksl/ir/SkSLReturnStatement.h | 7 |
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() + ";"; |