aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/ir/SkSLFunctionCall.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sksl/ir/SkSLFunctionCall.h')
-rw-r--r--src/sksl/ir/SkSLFunctionCall.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sksl/ir/SkSLFunctionCall.h b/src/sksl/ir/SkSLFunctionCall.h
index 115281d63d..7047c37067 100644
--- a/src/sksl/ir/SkSLFunctionCall.h
+++ b/src/sksl/ir/SkSLFunctionCall.h
@@ -32,6 +32,15 @@ struct FunctionCall : public Expression {
return fFunction.fModifiers.fFlags & Modifiers::kHasSideEffects_Flag;
}
+ std::unique_ptr<Expression> clone() const override {
+ std::vector<std::unique_ptr<Expression>> cloned;
+ for (const auto& arg : fArguments) {
+ cloned.push_back(arg->clone());
+ }
+ return std::unique_ptr<Expression>(new FunctionCall(fOffset, fType, fFunction,
+ std::move(cloned)));
+ }
+
String description() const override {
String result = String(fFunction.fName) + "(";
String separator;