[ 
https://issues.apache.org/jira/browse/THRIFT-5656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-5656:
-------------------------------
    Description: 
Currently the Delphi compiler does not differentiate between real Delphi 
*language keywords* (that can be escaped via & prefix) and *predefined 
names/types* that must be handled differently (we do this by adding a 
underscore postfix so it becomes e.g. 'System_' instead of 'System' which would 
collide with the Delphi runtime unit of that name).

This patch addresses this and handles keywords properly with '&' by 
{+}default{+}.

{*}Compatibility{*}: This may break code if one of the Delphi keywords has been 
used in the IDL. 

{*}Workaround{*}. The old behaviour can be restored via Thrift compiler switch.

  was:
Currently the Delphi compiler does not differentiate between real Delphi 
language keywords (that can be escaped via & prefix) and predefined names/types 
that must be handled differently (we do this by adding a underscore postfix so 
it becomes e.g. 'System_' instead of 'System' which would collide with the 
Delphi runtime unit of that name).

This patch addresses this and handles keywords properly with '&' by 
{+}default{+}.

{*}Compatibility{*}: This may break code if one of the Delphi keywords has been 
used in the IDL. 

{*}Workaround{*}. The old behaviour can be restored via Thrift compiler switch.


> Escape Delphi keywords with '&' prefix instead of '_' suffix
> ------------------------------------------------------------
>
>                 Key: THRIFT-5656
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5656
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Delphi - Compiler
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>            Priority: Major
>              Labels: breaking_change
>             Fix For: 0.18.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Currently the Delphi compiler does not differentiate between real Delphi 
> *language keywords* (that can be escaped via & prefix) and *predefined 
> names/types* that must be handled differently (we do this by adding a 
> underscore postfix so it becomes e.g. 'System_' instead of 'System' which 
> would collide with the Delphi runtime unit of that name).
> This patch addresses this and handles keywords properly with '&' by 
> {+}default{+}.
> {*}Compatibility{*}: This may break code if one of the Delphi keywords has 
> been used in the IDL. 
> {*}Workaround{*}. The old behaviour can be restored via Thrift compiler 
> switch.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to