- unsigned char base = 10;
- if (literal->base.kind == EXPR_LITERAL_INTEGER_OCTAL) {
- base = 8;
- } else if (literal->base.kind == EXPR_LITERAL_INTEGER_HEXADECIMAL) {
- base = 16;
- } else {
- assert(literal->base.kind == EXPR_LITERAL_INTEGER);
+ unsigned base;
+ switch (literal->base.kind) {
+ case EXPR_LITERAL_INTEGER_OCTAL: base = 8; break;
+ case EXPR_LITERAL_INTEGER: base = 10; break;
+ case EXPR_LITERAL_INTEGER_HEXADECIMAL: base = 16; break;
+ default: panic("invalid literal kind");