aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/ir/SkSLConstructor.h
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2017-09-11 13:50:14 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-11 21:45:20 +0000
commit5b5f096a038259b8d9084834f877588a0db80250 (patch)
tree1b78aa591c578a09012b1f8f8533c3fc3d9c1372 /src/sksl/ir/SkSLConstructor.h
parent9194706e8cf1ed72f07b2ed9207d81120f2135ad (diff)
Revert "Revert "Switch to the new SkSL lexer.""
This reverts commit 358515491a0d6891e6a709688a30ad087df1beb1. Bug: skia: Change-Id: I013fac0ed83774d8ae7c6ee6819045cab37f5e97 Reviewed-on: https://skia-review.googlesource.com/45180 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/ir/SkSLConstructor.h')
-rw-r--r--src/sksl/ir/SkSLConstructor.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/sksl/ir/SkSLConstructor.h b/src/sksl/ir/SkSLConstructor.h
index beed0f702d..32fc0fb2e7 100644
--- a/src/sksl/ir/SkSLConstructor.h
+++ b/src/sksl/ir/SkSLConstructor.h
@@ -16,7 +16,7 @@
namespace SkSL {
/**
- * Represents the construction of a compound type, such as "float2x, y)".
+ * Represents the construction of a compound type, such as "float2(x, y)".
*
* Vector constructors will always consist of either exactly 1 scalar, or a collection of vectors
* and scalars totalling exactly the right number of scalar components.
@@ -25,9 +25,8 @@ namespace SkSL {
* collection of vectors and scalars totalling exactly the right number of scalar components.
*/
struct Constructor : public Expression {
- Constructor(Position position, const Type& type,
- std::vector<std::unique_ptr<Expression>> arguments)
- : INHERITED(position, kConstructor_Kind, type)
+ Constructor(int offset, const Type& type, std::vector<std::unique_ptr<Expression>> arguments)
+ : INHERITED(offset, kConstructor_Kind, type)
, fArguments(std::move(arguments)) {}
std::unique_ptr<Expression> constantPropagate(const IRGenerator& irGenerator,
@@ -37,13 +36,13 @@ struct Constructor : public Expression {
// promote float(1) to 1.0
int64_t intValue = ((IntLiteral&) *fArguments[0]).fValue;
return std::unique_ptr<Expression>(new FloatLiteral(irGenerator.fContext,
- fPosition,
+ fOffset,
intValue));
} else if (fType == *irGenerator.fContext.fUInt_Type) {
// promote uint(1) to 1u
int64_t intValue = ((IntLiteral&) *fArguments[0]).fValue;
return std::unique_ptr<Expression>(new IntLiteral(irGenerator.fContext,
- fPosition,
+ fOffset,
intValue,
&fType));
}
@@ -96,8 +95,8 @@ struct Constructor : public Expression {
// a constant scalar constructor should have been collapsed down to the appropriate
// literal
ASSERT(fType.kind() == Type::kMatrix_Kind);
- const FloatLiteral fzero(context, Position(), 0);
- const IntLiteral izero(context, Position(), 0);
+ const FloatLiteral fzero(context, -1, 0);
+ const IntLiteral izero(context, -1, 0);
const Expression* zero;
if (fType.componentType() == *context.fFloat_Type) {
zero = &fzero;