/* * 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_ASTDECLARATION #define SKSL_ASTDECLARATION #include "SkSLASTPositionNode.h" namespace SkSL { /** * Abstract supertype of declarations such as variables and functions. */ struct ASTDeclaration : public ASTPositionNode { enum Kind { kVar_Kind, kFunction_Kind, kInterfaceBlock_Kind, kExtension_Kind, kPrecision_Kind, kModifiers_Kind, kSection_Kind, kEnum_Kind }; ASTDeclaration(int offset, Kind kind) : INHERITED(offset) , fKind(kind) {} Kind fKind; typedef ASTPositionNode INHERITED; }; } // namespace #endif