aboutsummaryrefslogtreecommitdiff
path: root/buildtools/codegen/CodegenDecl.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-05-30 15:52:19 -0700
committerrtk0c <[email protected]>2022-05-30 15:52:19 -0700
commit7d8bca09b3c4bf1418e758bd3bd0d6f85672153e (patch)
treef6e411e1ec949187889d268f2993e38cddb74d53 /buildtools/codegen/CodegenDecl.hpp
parentce9559e8c2b69d46cff064241bd9a04c014af44f (diff)
Changeset: 52 Add support for namespaced enums
Diffstat (limited to 'buildtools/codegen/CodegenDecl.hpp')
-rw-r--r--buildtools/codegen/CodegenDecl.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/buildtools/codegen/CodegenDecl.hpp b/buildtools/codegen/CodegenDecl.hpp
index b7c1ee4..32d5445 100644
--- a/buildtools/codegen/CodegenDecl.hpp
+++ b/buildtools/codegen/CodegenDecl.hpp
@@ -3,8 +3,15 @@
#include <string>
#include <vector>
+struct DeclNamespace {
+ DeclNamespace* container = nullptr;
+ std::string name;
+ std::string_view fullname; // View into storage map key
+};
+
// Structs or classes
struct DeclStruct {
+ DeclNamespace* container = nullptr;
std::string name;
};
@@ -40,6 +47,7 @@ struct DeclEnumElement {
};
struct DeclEnum {
+ DeclNamespace* container = nullptr;
std::string name;
std::vector<DeclEnumElement> elements;
EnumUnderlyingType underlyingType;
@@ -56,6 +64,7 @@ struct DeclFunctionArgument {
};
struct DeclFunction {
+ DeclNamespace* container = nullptr;
// Things like extern, static, etc. that gets written before the function return type
std::string prefix;
std::string name;