Simplify code for handling literals in disassembler.
diff --git a/source/binary.cpp b/source/binary.cpp
index e89ff9f..707cc87 100644
--- a/source/binary.cpp
+++ b/source/binary.cpp
@@ -234,16 +234,6 @@
       index++;
       position->index++;
     } break;
-    case SPV_OPERAND_TYPE_LITERAL:
-    case SPV_OPERAND_TYPE_OPTIONAL_LITERAL:
-    case SPV_OPERAND_TYPE_LITERAL_IN_OPTIONAL_TUPLE: {
-      // TODO: Need to support multiple word literals
-      stream.get() << (color ? clr::red() : "");
-      stream.get() << spvFixWord(words[index], endian);
-      stream.get() << (color ? clr::reset() : "");
-      index++;
-      position->index++;
-    } break;
     case SPV_OPERAND_TYPE_LITERAL_NUMBER: {
       // NOTE: Special case for extended instruction use
       if (OpExtInst == opcode) {
@@ -257,11 +247,18 @@
         stream.get() << (color ? clr::red() : "");
         stream.get() << extInst->name;
         stream.get() << (color ? clr::reset() : "");
-      } else {
-        stream.get() << (color ? clr::red() : "");
-        stream.get() << spvFixWord(words[index], endian);
-        stream.get() << (color ? clr::reset() : "");
+        index++;
+        position->index++;
+        break;
       }
+    }  // Fall through for the general case.
+    case SPV_OPERAND_TYPE_LITERAL:
+    case SPV_OPERAND_TYPE_OPTIONAL_LITERAL:
+    case SPV_OPERAND_TYPE_LITERAL_IN_OPTIONAL_TUPLE: {
+      // TODO: Need to support multiple word literals
+      stream.get() << (color ? clr::red() : "");
+      stream.get() << spvFixWord(words[index], endian);
+      stream.get() << (color ? clr::reset() : "");
       index++;
       position->index++;
     } break;