Hi, I've been dipping my toe in using Avro and I had a question about
the compiler-generated Java classes.
I notice that something like
{"name": "Request",
"type": "record",
"fields": [{"name": "params", "type": {"type":"map", "values": "string"}}]}
will generate a Request.java with a field like:
Map<CharSequence,CharSequence> params;
which is annoying in many common uses of this class. For example this
code won't compile:
Map<String,String> map = ... something I got from somewhere else...
request.params = map; // compile error
This could be avoided by instead declaring the type of params as:
Map<? extends CharSequence, ? extends CharSequence> params;
and I think is more accurate. It looks like this is a straightforward
change in SpecificCompiler.javaType(). If this seems desirable, I'll
log a bug and submit a patch.