vector<t_field*>::const_iterator m_iter;
for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
- if (!is_comparable((*m_iter)->get_type())) {
+ if (!is_comparable(get_true_type((*m_iter)->get_type()))) {
return false;
}
}
bool t_java_generator::is_comparable(t_type* type) {
if (type->is_container()) {
if (type->is_list()) {
- return is_comparable(((t_list*)type)->get_elem_type());
+ return is_comparable(get_true_type(((t_list*)type)->get_elem_type()));
} else {
return false;
}
vector<t_field*>::const_iterator m_iter;
for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
- if (!type_can_be_null((*m_iter)->get_type())) {
+ if (!type_can_be_null(get_true_type((*m_iter)->get_type()))) {
return true;
}
}
- return false;
+ return false;
}
THRIFT_REGISTER_GENERATOR(java, "Java",
</target>
<target name="generate">
- <exec executable="../../compiler/cpp/thrift">
+ <exec executable="../../compiler/cpp/thrift" failonerror="true">
<arg line="--gen java:hashcode ${test.thrift.home}/ThriftTest.thrift" />
</exec>
- <exec executable="../../compiler/cpp/thrift">
+ <exec executable="../../compiler/cpp/thrift" failonerror="true">
<arg line="--gen java:hashcode ${test.thrift.home}/DebugProtoTest.thrift" />
</exec>
- <exec executable="../../compiler/cpp/thrift">
+ <exec executable="../../compiler/cpp/thrift" failonerror="true">
<arg line="--gen java:hashcode ${test.thrift.home}/OptionalRequiredTest.thrift" />
</exec>
- <exec executable="../../compiler/cpp/thrift">
+ <exec executable="../../compiler/cpp/thrift" failonerror="true">
<arg line="--gen java:beans,nocamel ${test.thrift.home}/JavaBeansTest.thrift" />
</exec>
</target>
1: i32 blah;
2: i32 blah2;
3: Backwards bw;
+}
+
+typedef map<i32,i32> SomeMap
+
+struct StructWithASomemap {
+ 1: required SomeMap somemap_field;
}
\ No newline at end of file