diff options
author | 2016-10-12 06:39:56 -0700 | |
---|---|---|
committer | 2016-10-12 06:39:56 -0700 | |
commit | 5961bc9278a00e56dacdd9408d0744b5a0a3b493 (patch) | |
tree | d491a2df69b12eb937788951d726e72168572fdb /src/sksl/ast/SkSLASTIndexSuffix.h | |
parent | 5772eaa91d6a10d74959d7732513c5ab9c057e03 (diff) |
Turned on SkSL->GLSL compiler
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003
Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3
Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310
Committed: https://skia.googlesource.com/skia/+/f008b0a59f45c0d4bea3e66faf3b01805009ec89
Committed: https://skia.googlesource.com/skia/+/08b2ccf398e2b81bc05d2c105837e5419899469b
Committed: https://skia.googlesource.com/skia/+/dcfe6dba4a335e50e86ff68e3252065d4197432c
Committed: https://skia.googlesource.com/skia/+/ccb1dd8f267f9d7fe7c9d0ce222ebc81b41853b3
Review-Url: https://codereview.chromium.org/2288033003
Diffstat (limited to 'src/sksl/ast/SkSLASTIndexSuffix.h')
-rw-r--r-- | src/sksl/ast/SkSLASTIndexSuffix.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/sksl/ast/SkSLASTIndexSuffix.h b/src/sksl/ast/SkSLASTIndexSuffix.h index 44d91fa4c4..755029b0a2 100644 --- a/src/sksl/ast/SkSLASTIndexSuffix.h +++ b/src/sksl/ast/SkSLASTIndexSuffix.h @@ -14,17 +14,27 @@ namespace SkSL { /** - * A bracketed expression, as in '[0]', indicating an array access. + * A bracketed expression, as in '[0]', indicating an array access. Empty brackets (as occur in + * 'float[](5, 6)' are represented with a null fExpression. */ struct ASTIndexSuffix : public ASTSuffix { + ASTIndexSuffix(Position position) + : INHERITED(position, ASTSuffix::kIndex_Kind) + , fExpression(nullptr) {} + ASTIndexSuffix(std::unique_ptr<ASTExpression> expression) - : INHERITED(expression->fPosition, ASTSuffix::kIndex_Kind) + : INHERITED(expression ? expression->fPosition : Position(), ASTSuffix::kIndex_Kind) , fExpression(std::move(expression)) {} std::string description() const override { - return "[" + fExpression->description() + "]"; + if (fExpression) { + return "[" + fExpression->description() + "]"; + } else { + return "[]"; + } } + // may be null std::unique_ptr<ASTExpression> fExpression; typedef ASTSuffix INHERITED; |