/* * Copyright 2016 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SKSL_ASTSUFFIXEXPRESSION #define SKSL_ASTSUFFIXEXPRESSION #include "SkSLASTSuffix.h" #include "SkSLASTExpression.h" namespace SkSL { /** * An expression with an associated suffix. */ struct ASTSuffixExpression : public ASTExpression { ASTSuffixExpression(std::unique_ptr<ASTExpression> base, std::unique_ptr<ASTSuffix> suffix) : INHERITED(base->fOffset, kSuffix_Kind) , fBase(std::move(base)) , fSuffix(std::move(suffix)) {} String description() const override { return fBase->description() + fSuffix->description(); } const std::unique_ptr<ASTExpression> fBase; const std::unique_ptr<ASTSuffix> fSuffix; typedef ASTExpression INHERITED; }; } // namespace #endif