Line data Source code
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_IRNODE
9 : #define SKSL_IRNODE
10 :
11 : #include "../SkSLPosition.h"
12 :
13 : namespace SkSL {
14 :
15 : /**
16 : * Represents a node in the intermediate representation (IR) tree. The IR is a fully-resolved
17 : * version of the program (all types determined, everything validated), ready for code generation.
18 : */
19 : struct IRNode {
20 0 : IRNode(Position position)
21 0 : : fPosition(position) {}
22 :
23 0 : virtual ~IRNode() {}
24 :
25 : virtual String description() const = 0;
26 :
27 : const Position fPosition;
28 : };
29 :
30 : } // namespace
31 :
32 : #endif
|