diff options
Diffstat (limited to 'src/sksl/ir/SkSLConstructor.h')
-rw-r--r-- | src/sksl/ir/SkSLConstructor.h | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/sksl/ir/SkSLConstructor.h b/src/sksl/ir/SkSLConstructor.h index 145e117453..5e7c3d0d79 100644 --- a/src/sksl/ir/SkSLConstructor.h +++ b/src/sksl/ir/SkSLConstructor.h @@ -43,7 +43,8 @@ struct Constructor : public Expression { fType == *irGenerator.fContext.fUShort_Type) { // promote uint(1) to 1u int64_t intValue = ((IntLiteral&) *fArguments[0]).fValue; - return std::unique_ptr<Expression>(new IntLiteral(fOffset, + return std::unique_ptr<Expression>(new IntLiteral(irGenerator.fContext, + fOffset, intValue, &fType)); } @@ -60,14 +61,6 @@ struct Constructor : public Expression { return false; } - std::unique_ptr<Expression> clone() const override { - std::vector<std::unique_ptr<Expression>> cloned; - for (const auto& arg : fArguments) { - cloned.push_back(arg->clone()); - } - return std::unique_ptr<Expression>(new Constructor(fOffset, fType, std::move(cloned))); - } - String description() const override { String result = fType.description() + "("; String separator; |