in core/src/main/java/com/twitter/elephantbird/thrift/ThriftBinaryProtocol.java [40:64]
public static void checkContainerElemType(byte type) throws TException {
// only valid types for an element in a container (List, Map, Set)
// are the ones that are considered in TProtocolUtil.skip()
switch (type) {
case TType.BOOL:
case TType.BYTE:
case TType.I16:
case TType.I32:
case TType.I64:
case TType.DOUBLE:
case TType.STRING:
case TType.STRUCT:
case TType.MAP:
case TType.SET:
case TType.LIST:
break;
// list other known types, but not expected
case TType.STOP:
case TType.VOID:
case TType.ENUM: // would be I32 on the wire
default:
throw new TException("Unexpected type " + type + " in a container");
}
}