Factor out SingleArgumentConstructor base class.
This is intended to reduce boilerplate across future constructors which
can only take a single argument (matrix-resize, typecasting, etc).
Change-Id: I3f55928d83925d0770934dcb4bece193c5d51605
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391304
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
diff --git a/src/sksl/SkSLMetalCodeGenerator.cpp b/src/sksl/SkSLMetalCodeGenerator.cpp
index ee87d9b..2e70ff9 100644
--- a/src/sksl/SkSLMetalCodeGenerator.cpp
+++ b/src/sksl/SkSLMetalCodeGenerator.cpp
@@ -172,7 +172,7 @@
this->writeConstructor(expr.as<Constructor>(), parentPrecedence);
break;
case Expression::Kind::kConstructorDiagonalMatrix:
- this->writeConstructorDiagonalMatrix(expr.as<ConstructorDiagonalMatrix>(),
+ this->writeSingleArgumentConstructor(expr.as<ConstructorDiagonalMatrix>(),
parentPrecedence);
break;
case Expression::Kind::kIntLiteral:
@@ -1108,7 +1108,7 @@
this->write(constructorType.isArray() ? "}" : ")");
}
-void MetalCodeGenerator::writeConstructorDiagonalMatrix(const ConstructorDiagonalMatrix& c,
+void MetalCodeGenerator::writeSingleArgumentConstructor(const SingleArgumentConstructor& c,
Precedence parentPrecedence) {
this->writeType(c.type());
this->write("(");