[
https://issues.apache.org/jira/browse/AVRO-4237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18066522#comment-18066522
]
Martin Tzvetanov Grigorov commented on AVRO-4237:
-------------------------------------------------
https://lists.apache.org/thread/nqyjjv8h9fm2xj86g3x9wk4xdcq6l94r
> Compiling a record schema with field name result fails
> ------------------------------------------------------
>
> Key: AVRO-4237
> URL: https://issues.apache.org/jira/browse/AVRO-4237
> Project: Apache Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.12.1
> Reporter: Philipp Schirmer
> Priority: Major
> Attachments: MyRecord.java
>
>
> When compiling a SpecificRecord from a record schema with a field called
> "result", the generated Java code does not compile.
> {code:java}
> final Schema schema = SchemaBuilder.record("MyRecord")
> .fields()
> .nullableString("result", null)
> .endRecord();
> final SpecificCompiler compiler = new SpecificCompiler(schema);
> compiler.compileToDestination(null, new File("src/test/java")); {code}
> The generated hashCode method cannot be compiled because the field accessor
> is not prefixed with this and is thus mistaken for the local variable.
> {code:java}
> @Override
> public int hashCode() {
> int result = 1;
> result = 31 * result + (result == null ? 0 : result.hashCode());
> return result;
> } {code}
> This problem does not occur in 1.12.0 because hashCode is not generated but
> inherited from a super class instead. The behavior also does not change if
> the result field is non-nullable. The null check is still generated.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)