gfx/angle/src/compiler/preprocessor/Macro.h

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:256f2afbc120
1 //
2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6
7 #ifndef COMPILER_PREPROCESSOR_MACRO_H_
8 #define COMPILER_PREPROCESSOR_MACRO_H_
9
10 #include <map>
11 #include <string>
12 #include <vector>
13
14 namespace pp
15 {
16
17 struct Token;
18
19 struct Macro
20 {
21 enum Type
22 {
23 kTypeObj,
24 kTypeFunc
25 };
26 typedef std::vector<std::string> Parameters;
27 typedef std::vector<Token> Replacements;
28
29 Macro() : predefined(false), disabled(false), type(kTypeObj) { }
30 bool equals(const Macro& other) const;
31
32 bool predefined;
33 mutable bool disabled;
34
35 Type type;
36 std::string name;
37 Parameters parameters;
38 Replacements replacements;
39 };
40
41 typedef std::map<std::string, Macro> MacroSet;
42
43 } // namespace pp
44 #endif // COMPILER_PREPROCESSOR_MACRO_H_

mercurial