chromium/third_party/skia/src/sksl/ir/SkSLIRNode.h

/*
 * 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_IRNODE
#define SKSL_IRNODE

#include "src/sksl/SkSLPool.h"
#include "src/sksl/SkSLPosition.h"

#include <string>

namespace SkSL {

// The fKind field of IRNode could contain any of these values.
enum class ProgramElementKind {};

enum class SymbolKind {};

enum class StatementKind {};

enum class ExpressionKind {};

/**
 * Represents a node in the intermediate representation (IR) tree. The IR is a fully-resolved
 * version of the program (all types determined, everything validated), ready for code generation.
 */
class IRNode : public Poolable {};

}  // namespace SkSL

#endif