[
https://issues.apache.org/jira/browse/THRIFT-4496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16663949#comment-16663949
]
Vera Filippova edited comment on THRIFT-4496 at 10/25/18 4:04 PM:
------------------------------------------------------------------
This PR made it possible to define a language-specific list of keywords (if the
language generator overrides lang_keywords()). By default, all generators use
the same list of keywords that has been in thrift.ll. I defined language
specific keywords only for python generator.
was (Author: nsrtvwls):
This PR made it possible to define a language-specific list of keywords (if the
language generator overrides lang_keywords()). By default, all generators use
the same list of keywords that has been in thrift.ll. I defined a language
specific keywords only for python generator.
> 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)