diff options
Diffstat (limited to 'src/sksl/ir/SkSLSymbol.h')
-rw-r--r-- | src/sksl/ir/SkSLSymbol.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/sksl/ir/SkSLSymbol.h b/src/sksl/ir/SkSLSymbol.h new file mode 100644 index 0000000000..d736516bc4 --- /dev/null +++ b/src/sksl/ir/SkSLSymbol.h @@ -0,0 +1,40 @@ +/* + * 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_SYMBOL +#define SKSL_SYMBOL + +#include "SkSLIRNode.h" + +namespace SkSL { + +/** + * Represents a symboltable entry. + */ +struct Symbol : public IRNode { + enum Kind { + kFunctionDeclaration_Kind, + kUnresolvedFunction_Kind, + kType_Kind, + kVariable_Kind, + kField_Kind + }; + + Symbol(Position position, Kind kind, std::string name) + : INHERITED(position) + , fKind(kind) + , fName(std::move(name)) {} + + const Kind fKind; + const std::string fName; + + typedef IRNode INHERITED; +}; + +} // namespace + +#endif |