thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4496) Dealing with language keywords in Thrift (e.g. service method names)
Date Wed, 27 Jun 2018 18:34:00 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-4496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16525439#comment-16525439
] 

ASF GitHub Bot commented on THRIFT-4496:
----------------------------------------

nsrtvwls commented on issue #1567: THRIFT-4496: python specific list of keywords for python
generator
URL: https://github.com/apache/thrift/pull/1567#issuecomment-400785692
 
 
   It can definitely be a problem. E.g. service function cannot be renamed transparently.
 On the other hand, a global list of keywords is hard to maintain. What if thrift decides
to support a new language with another set of keywords? Adding to the global list will break
things to people who don't even care about this new language.
   I like the idea of merging keyword lists from all active generators. Will it work if I
show a warning, not an error if an identifier is a keyword in some language that is supported
but is not used for generation?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> 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
>            Priority: Minor
>
> 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)

Mime
View raw message