Home | History | Annotate | Download | only in ast
      1 /*
      2  * Copyright 2016 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #ifndef SKSL_ASTMODIFIERDECLARATION
      9 #define SKSL_ASTMODIFIERDECLARATION
     10 
     11 #include "SkSLASTDeclaration.h"
     12 #include "../ir/SkSLModifiers.h"
     13 
     14 namespace SkSL {
     15 
     16 /**
     17  * A declaration that consists only of modifiers, e.g.:
     18  *
     19  * layout(blend_support_all_equations) out;
     20  */
     21 struct ASTModifiersDeclaration : public ASTDeclaration {
     22     ASTModifiersDeclaration(Modifiers modifiers)
     23     : INHERITED(-1, kModifiers_Kind)
     24     , fModifiers(modifiers) {}
     25 
     26     String description() const {
     27         return fModifiers.description() + ";";
     28     }
     29 
     30     Modifiers fModifiers;
     31 
     32     typedef ASTDeclaration INHERITED;
     33 };
     34 
     35 } // namespace
     36 
     37 #endif
     38