Index: src/sksl/ir/SkSLIRNode.h |
diff --git a/src/sksl/ir/SkSLIRNode.h b/src/sksl/ir/SkSLIRNode.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8c433cfc6b49da58f83773aea2ac45917cb8a09e |
--- /dev/null |
+++ b/src/sksl/ir/SkSLIRNode.h |
@@ -0,0 +1,32 @@ |
+/* |
+ * 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 "../SkSLPosition.h" |
+ |
+namespace SkSL { |
+ |
+/** |
+ * 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. |
+ */ |
+struct IRNode { |
+ IRNode(Position position) |
+ : fPosition(position) {} |
+ |
+ virtual ~IRNode() {} |
+ |
+ virtual std::string description() const = 0; |
+ |
+ const Position fPosition; |
+}; |
+ |
+} // namespace |
+ |
+#endif |