Improved DSLType constructor signatures
Being able to Construct() arbitrary types is necessary for the upcoming
DSLParser.
Change-Id: I2d439b4a1db7a460043efa5f0e9207b6073e9f1f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403696
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/include/sksl/DSLType.h b/include/sksl/DSLType.h
index fba8ab9..aeefe82 100644
--- a/include/sksl/DSLType.h
+++ b/include/sksl/DSLType.h
@@ -75,14 +75,14 @@
: fSkSLType(type) {}
template<typename... Args>
- static DSLExpression Construct(TypeConstant type, Args&&... args) {
+ static DSLExpression Construct(DSLType type, Args&&... args) {
SkTArray<DSLExpression> argArray;
argArray.reserve_back(sizeof...(args));
CollectArgs(argArray, std::forward<Args>(args)...);
return Construct(type, std::move(argArray));
}
- static DSLExpression Construct(TypeConstant type, SkTArray<DSLExpression> argArray);
+ static DSLExpression Construct(DSLType type, SkTArray<DSLExpression> argArray);
private:
const SkSL::Type& skslType() const;
diff --git a/src/sksl/dsl/DSLType.cpp b/src/sksl/dsl/DSLType.cpp
index 9c8fa81..4f74101 100644
--- a/src/sksl/dsl/DSLType.cpp
+++ b/src/sksl/dsl/DSLType.cpp
@@ -108,8 +108,8 @@
}
}
-DSLExpression DSLType::Construct(TypeConstant type, SkTArray<DSLExpression> argArray) {
- return DSLWriter::Construct(DSLType(type).skslType(), std::move(argArray));
+DSLExpression DSLType::Construct(DSLType type, SkTArray<DSLExpression> argArray) {
+ return DSLWriter::Construct(type.skslType(), std::move(argArray));
}
DSLType Array(const DSLType& base, int count) {