blob: 1b34506c643c328840b675b724e240ded475e1bd [file] [log] [blame]
include "spec/spec.td"
class MacroDef<string name> {
string Name = name;
string Defn = "";
}
class SimpleMacroDef<string name, string value> : MacroDef<name> {
let Defn = !strconcat("#define ", name, " ", value);
}
class MacroDefineIfNot<string name, string value> : MacroDef<name> {
let Defn = !strconcat("#ifndef ", name, "\n",
"#define " , name, " ", value, "\n",
"#endif // ", name);
}
class PublicAPI<string name> {
string HeaderName = name;
list<MacroDef> Macros = [];
list<string> Types = [];
list<string> Enumerations = [];
list<string> Structs = [];
list<string> Functions = [];
list<string> Objects = [];
}