Kyle Carter created AVRO-3305:
---------------------------------

             Summary: Avro Compiler(s) should only mangle contextual reserved 
keyword when used in reserved context
                 Key: AVRO-3305
                 URL: https://issues.apache.org/jira/browse/AVRO-3305
             Project: Apache Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.11.0
            Reporter: Kyle Carter


In AVRO-3116 it was correctly called out that new reserved keywords had been 
added to the Java language in recent versions that could lead to uncompilable 
Avro schemas in Java. While the fix developed for that issue does resolve the 
issue it treats all keywords identically. Some of the keywords (record, yield, 
var) targeted by that change are only keywords when used in particular 
contexts, specifically as a type identifier. Nevertheless, the Avro compiler 
code treats all keywords the same and will mangle them wherever they show up 
(for example in a package name) even if it would have been valid without 
mangling (ex: com.example.record).  This can be surprising and result in 
unnecessary code updates. 

I suggest that these contextual keywords only be mangled when used in the 
context they are reserved.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to