thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (THRIFT-4496) Dealing with language keywords in Thrift (e.g. service method names)
Date Fri, 26 Oct 2018 07:20:00 GMT

    [ 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. The whole idea of language specidfic IDL
Keywords is .. a bad idea.


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.

> 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)

Mime
View raw message