diff --git a/src/main/java/org/apache/xmlbeans/impl/values/XmlObjectBase.java b/src/main/java/org/apache/xmlbeans/impl/values/XmlObjectBase.java index 27bb65099..8c50ed351 100644 --- a/src/main/java/org/apache/xmlbeans/impl/values/XmlObjectBase.java +++ b/src/main/java/org/apache/xmlbeans/impl/values/XmlObjectBase.java @@ -3081,9 +3081,10 @@ protected static Object java_value(XmlObject obj) { case SchemaType.SIZE_BIG_DECIMAL: return base.getBigDecimalValue(); + default: assert (false) : "invalid numeric bit count"; - // fallthrough + return base.getBigDecimalValue(); } } case SchemaType.BTC_ANY_URI: @@ -3101,19 +3102,18 @@ protected static Object java_value(XmlObject obj) { case SchemaType.BTC_G_DAY: case SchemaType.BTC_G_MONTH: return base.getCalendarValue(); - case SchemaType.BTC_NOTATION: + + // NB: for string enums we just do java.lang.String + // when in the context of unions. It's easier on users. + case SchemaType.BTC_NOTATION: case SchemaType.BTC_STRING: case SchemaType.BTC_ANY_SIMPLE: - // return base.getStringValue(); return base.getStringValue(); + default: assert (false) : "encountered nonprimitive type."; - // fallthrough - - // NB: for string enums we just do java.lang.String - // when in the context of unions. It's easier on users. + return base.getStringValue(); } - return null; } /**