[
https://issues.apache.org/jira/browse/THRIFT-4496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16664780#comment-16664780
]
Jens Geyer edited comment on THRIFT-4496 at 10/26/18 7:19 AM:
--------------------------------------------------------------
from the other ticket:
> {color:#333333}I suggest you use a different name for your structure
member. {color}
That is exactly the kind of advise we should not be required to give. That's
also why I argued against a workaround solution like forbidding names that are
not genuine IDL keywords instead of actually trying to solve the underlying
issue.
was (Author: jensg):
from the other ticket:
> {color:#333333}I suggest you use a different name for your structure
member. {color}
That is exactly the kind of advise we should not be required to give. That's
also why I argued against a workaround solution like forbidding names that are
not genuine IDL keywords instead of actually trying to solve the underlying
issue. The whole idea of language specidfic IDL Keywords is .. a bad idea.
> Dealing with language keywords in Thrift (e.g. service method names)
> --------------------------------------------------------------------
>
> Key: THRIFT-4496
> URL: https://issues.apache.org/jira/browse/THRIFT-4496
> Project: Thrift
> Issue Type: New Feature
> Components: Compiler (General)
> Reporter: Vera Filippova
> Assignee: James E. King III
> Priority: Minor
> Fix For: 0.12.0
>
>
> Apache Thrift compiler doesn't allow to use keywords in any of supported
> languages as field names. However, there are other compilers, like Scrooge,
> which do allow using some keywords as field identifiers, which leads to
> incompatibility.
> Assume we had a service with 'delete' method, with Java code generated by
> Scrooge. Now we'd like to generate Python code with Apache Thrift, but
> encounter an error because of the 'delete' keyword.
> I understand that using only Apache Thrift compiler, a user will never
> encounter this problem, but I think enabling keywords by request seems
> feasible.
> h1. Proposal
> It's possible to tweak keywords on code generation stage, e.g. use 'delete_'
> as a name of a generated function instead of 'delete', then use the original
> method name for a protocol message: writeMethodBegin('delete').
> This feature could be enabled with an additional flag, e.g. --screen-keywords.
> I have a draft for python generator here [https://github.com/nsrtvwls/thrift]
> The questions are, is this functionality welcome? If yes, would it require to
> have it supported for all languages?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)