aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLIRGenerator.cpp
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2018-01-18 13:32:11 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-01-18 19:10:58 +0000
commita583b813b9f1e2904d6f9f6cb487b9e477d2bde4 (patch)
treed38c67e65a11215dc6d4faabffa88735f6de91e0 /src/sksl/SkSLIRGenerator.cpp
parent7b6ea19c9c42a4d24168f80fcfd44de4498604e3 (diff)
SkSL now supports ternary lvalues
Bug: skia: Change-Id: I859b756fe016f80c7a94f812623a16b4865204ba Reviewed-on: https://skia-review.googlesource.com/96680 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLIRGenerator.cpp')
-rw-r--r--src/sksl/SkSLIRGenerator.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sksl/SkSLIRGenerator.cpp b/src/sksl/SkSLIRGenerator.cpp
index dd043b304e..3388a4758d 100644
--- a/src/sksl/SkSLIRGenerator.cpp
+++ b/src/sksl/SkSLIRGenerator.cpp
@@ -2094,6 +2094,12 @@ void IRGenerator::markWrittenTo(const Expression& expr, bool readWrite) {
case Expression::kIndex_Kind:
this->markWrittenTo(*((IndexExpression&) expr).fBase, readWrite);
break;
+ case Expression::kTernary_Kind: {
+ TernaryExpression& t = (TernaryExpression&) expr;
+ this->markWrittenTo(*t.fIfTrue, readWrite);
+ this->markWrittenTo(*t.fIfFalse, readWrite);
+ break;
+ }
default:
fErrors.error(expr.fOffset, "cannot assign to '" + expr.description() + "'");
break;