aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/ir/SkSLFunctionReference.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sksl/ir/SkSLFunctionReference.h')
-rw-r--r--src/sksl/ir/SkSLFunctionReference.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/sksl/ir/SkSLFunctionReference.h b/src/sksl/ir/SkSLFunctionReference.h
index 58fefce801..4c7f7670d0 100644
--- a/src/sksl/ir/SkSLFunctionReference.h
+++ b/src/sksl/ir/SkSLFunctionReference.h
@@ -28,6 +28,10 @@ struct FunctionReference : public Expression {
return false;
}
+ std::unique_ptr<Expression> clone() const override {
+ return std::unique_ptr<Expression>(new FunctionReference(fOffset, fFunctions, &fType));
+ }
+
String description() const override {
return String("<function>");
}
@@ -35,7 +39,12 @@ struct FunctionReference : public Expression {
const std::vector<const FunctionDeclaration*> fFunctions;
typedef Expression INHERITED;
-};
+
+private:
+ FunctionReference(int offset, std::vector<const FunctionDeclaration*> function,
+ const Type* type)
+ : INHERITED(offset, kFunctionReference_Kind, *type)
+ , fFunctions(function) {}};
} // namespace