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