aboutsummaryrefslogtreecommitdiff
path: root/buildtools/codegen/CodegenDecl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'buildtools/codegen/CodegenDecl.hpp')
-rw-r--r--buildtools/codegen/CodegenDecl.hpp74
1 files changed, 0 insertions, 74 deletions
diff --git a/buildtools/codegen/CodegenDecl.hpp b/buildtools/codegen/CodegenDecl.hpp
deleted file mode 100644
index 32d5445..0000000
--- a/buildtools/codegen/CodegenDecl.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#pragma once
-
-#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;
-};
-
-enum EnumUnderlyingType {
- EUT_Int8,
- EUT_Int16,
- EUT_Int32,
- EUT_Int64,
- EUT_Uint8,
- EUT_Uint16,
- EUT_Uint32,
- EUT_Uint64,
- EUT_COUNT,
-};
-
-enum EnumValuePattern {
- // The numbers cover n..m with no gaps
- EVP_Continuous,
- // The numbers cover for i in n..m, 1 << i
- // e.g. [0] = 1 << 0,
- // [1] = 1 << 1.
- // [2] = 1 << 2. etc.
- EVP_Bits,
- // The numbesr don't have a particular pattern
- EVP_Random,
- EVP_COUNT,
-};
-
-struct DeclEnumElement {
- std::string name;
- // TODO support int64_t, etc. enum underlying types
- uint64_t value;
-};
-
-struct DeclEnum {
- DeclNamespace* container = nullptr;
- std::string name;
- std::vector<DeclEnumElement> elements;
- EnumUnderlyingType underlyingType;
- // Start with invalid value, calculate on demand
- mutable EnumValuePattern pattern = EVP_COUNT;
-
- EnumValuePattern CalcPattern() const;
- EnumValuePattern GetPattern() const;
-};
-
-struct DeclFunctionArgument {
- std::string type;
- std::string name;
-};
-
-struct DeclFunction {
- DeclNamespace* container = nullptr;
- // Things like extern, static, etc. that gets written before the function return type
- std::string prefix;
- std::string name;
- std::string returnType;
- std::vector<DeclFunctionArgument> arguments;
- std::string body;
-};