diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2017-09-11 13:50:14 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-11 21:45:20 +0000 |
commit | 5b5f096a038259b8d9084834f877588a0db80250 (patch) | |
tree | 1b78aa591c578a09012b1f8f8533c3fc3d9c1372 /src/sksl/ir/SkSLConstructor.h | |
parent | 9194706e8cf1ed72f07b2ed9207d81120f2135ad (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.h | 15 |
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; |