aboutsummaryrefslogtreecommitdiff
path: root/source/CodegenCompiler/CodegenDecl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/CodegenCompiler/CodegenDecl.cpp')
-rw-r--r--source/CodegenCompiler/CodegenDecl.cpp49
1 files changed, 0 insertions, 49 deletions
diff --git a/source/CodegenCompiler/CodegenDecl.cpp b/source/CodegenCompiler/CodegenDecl.cpp
deleted file mode 100644
index 7cf21ce..0000000
--- a/source/CodegenCompiler/CodegenDecl.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "CodegenDecl.hpp"
-
-#include <Utils.hpp>
-
-static EnumValuePattern NextPattern(EnumValuePattern val) {
- return (EnumValuePattern)(val + 1);
-}
-
-EnumValuePattern DeclEnum::CalcPattern() const {
- if (elements.empty()) return EVP_Continuous;
-
- auto pattern = EVP_Continuous;
-restart:
- auto lastVal = elements[0].value;
- for (size_t i = 1; i < elements.size(); ++i) {
- auto currVal = elements[i].value;
- switch (pattern) {
- case EVP_Continuous: {
- bool satisfy = lastVal + 1 == currVal;
- if (!satisfy) {
- pattern = NextPattern(pattern);
- goto restart;
- }
- } break;
-
- case EVP_Bits: {
- bool satisfy = (lastVal << 1) == currVal;
- if (!satisfy) {
- pattern = NextPattern(pattern);
- goto restart;
- }
- } break;
-
- // A random pattern can match anything
- case EVP_Random:
- case EVP_COUNT: break;
- }
- lastVal = currVal;
- }
-
- return pattern;
-}
-
-EnumValuePattern DeclEnum::GetPattern() const {
- if (pattern == EVP_COUNT) {
- pattern = CalcPattern();
- }
- return pattern;
-}