summaryrefslogtreecommitdiffstats
path: root/courgette/ensemble_create.cc
diff options
context:
space:
mode:
Diffstat (limited to 'courgette/ensemble_create.cc')
-rw-r--r--courgette/ensemble_create.cc24
1 files changed, 10 insertions, 14 deletions
diff --git a/courgette/ensemble_create.cc b/courgette/ensemble_create.cc
index 62105b9..ec33689 100644
--- a/courgette/ensemble_create.cc
+++ b/courgette/ensemble_create.cc
@@ -65,21 +65,17 @@ Status TransformationPatchGenerator::Reform(
// Element kind.
TransformationPatchGenerator* MakeGenerator(Element* old_element,
Element* new_element) {
- switch (new_element->kind()) {
- case UNKNOWN:
- break;
- case WIN32_X86: {
- TransformationPatchGenerator* generator =
- new CourgetteWin32X86PatchGenerator(
- old_element,
- new_element,
- new CourgetteWin32X86Patcher(old_element->region()));
- return generator;
- }
+ if (new_element->kind() == Element::WIN32_X86_WITH_CODE) {
+ CourgetteWin32X86PatchGenerator* generator =
+ new CourgetteWin32X86PatchGenerator(
+ old_element,
+ new_element,
+ new CourgetteWin32X86Patcher(old_element->region()));
+ return generator;
+ } else {
+ LOG(WARNING) << "Unexpected Element::Kind " << old_element->kind();
+ return NULL;
}
-
- LOG(WARNING) << "Unexpected Element::Kind " << old_element->kind();
- return NULL;
}
// Checks to see if the proposed comparison is 'unsafe'. Sometimes one element