You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Vadim Chekan (JIRA)" <ji...@apache.org> on 2011/06/21 19:03:47 UTC
[jira] [Issue Comment Edited] (THRIFT-1212) Members capital case
conflict
[ https://issues.apache.org/jira/browse/THRIFT-1212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052658#comment-13052658 ]
Vadim Chekan edited comment on THRIFT-1212 at 6/21/11 5:02 PM:
---------------------------------------------------------------
After some thinking, may be we can come up with a method which would satisfy everybody.
If conflict is detected in C# generator, it throws an exception. But there would be an option (or several of them) which would allow to resolve conflict in some way.
For example "-conflict-strategy-preserve-case" and "-conflict-strategy-use-underscore".
This way there is no implicit operation yet user can deal with the situation without too much effort.
How that sounds?
was (Author: vchekan):
After some thinking, may be we can come up with a method which would satisfy everybody.
If conflict is detected in C# generator, it throws an exception. But there would be an option (or several of them) which would allow to resolve conflict in some way.
For example "--conflict-strategy-preserve-case" and "--conflict-strategy-use-underscore".
This way there is no implicit operation yet user can deal with the situation without too much effort.
How that sounds?
> Members capital case conflict
> -----------------------------
>
> Key: THRIFT-1212
> URL: https://issues.apache.org/jira/browse/THRIFT-1212
> Project: Thrift
> Issue Type: Bug
> Components: C# - Compiler
> Affects Versions: 0.6.1
> Environment: Windows 7
> Reporter: Vadim Chekan
> Priority: Minor
>
> When generating "csharp" target off the following structure:
> ===
> struct Order {
> 1: string col, // sort column name
> 2: i32 order // asc(1) or desc(0)
> }
> ===
> the code is generated:
> class Order { public int Order ...
> This code fails to compile in C# compiler because member name is the same as containing clsss name, which is invalid in C#.
> Perhaps there must be a check when generating members and if capitalized member name turns out to be the same as containing class name, then prepend it with underscore.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira