From e66286ebe30afc9acc4531fc2bea29b7fb924f93 Mon Sep 17 00:00:00 2001 From: rtk0c Date: Mon, 30 May 2022 17:03:20 -0700 Subject: Changeset: 56 Buildsystem cleanup: change to layered structure for different targets --- buildtools/codegen/CodegenDecl.hpp | 74 -------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 buildtools/codegen/CodegenDecl.hpp (limited to 'buildtools/codegen/CodegenDecl.hpp') 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 -#include - -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 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 arguments; - std::string body; -}; -- cgit v1.2.3-70-g09d2