You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Nathan Marz (JIRA)" <ji...@apache.org> on 2010/04/21 12:10:50 UTC
[jira] Created: (THRIFT-763) Variable capture bug in generated
struct compareTo
Variable capture bug in generated struct compareTo
--------------------------------------------------
Key: THRIFT-763
URL: https://issues.apache.org/jira/browse/THRIFT-763
Project: Thrift
Issue Type: Bug
Reporter: Nathan Marz
Priority: Minor
Attachments: struct_compare.patch
In the generated compareTo for structs, any field named "other" gets shadowed by the local variable other. I've attached a patch to refer to the local field explicitly using "this.".
FYI, this is the second time I've run into a variable capture bug. We need to be more careful w.r.t. generating local variables.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (THRIFT-763) Variable capture bug in generated
struct compareTo
Posted by "Nathan Marz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/THRIFT-763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nathan Marz updated THRIFT-763:
-------------------------------
Attachment: struct_compare.patch
> Variable capture bug in generated struct compareTo
> --------------------------------------------------
>
> Key: THRIFT-763
> URL: https://issues.apache.org/jira/browse/THRIFT-763
> Project: Thrift
> Issue Type: Bug
> Reporter: Nathan Marz
> Priority: Minor
> Attachments: struct_compare.patch
>
>
> In the generated compareTo for structs, any field named "other" gets shadowed by the local variable other. I've attached a patch to refer to the local field explicitly using "this.".
> FYI, this is the second time I've run into a variable capture bug. We need to be more careful w.r.t. generating local variables.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (THRIFT-763) Variable capture bug in generated
struct compareTo
Posted by "Nathan Marz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/THRIFT-763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nathan Marz updated THRIFT-763:
-------------------------------
Component/s: Compiler (Java)
> Variable capture bug in generated struct compareTo
> --------------------------------------------------
>
> Key: THRIFT-763
> URL: https://issues.apache.org/jira/browse/THRIFT-763
> Project: Thrift
> Issue Type: Bug
> Components: Compiler (Java)
> Reporter: Nathan Marz
> Priority: Minor
> Attachments: struct_compare.patch
>
>
> In the generated compareTo for structs, any field named "other" gets shadowed by the local variable other. I've attached a patch to refer to the local field explicitly using "this.".
> FYI, this is the second time I've run into a variable capture bug. We need to be more careful w.r.t. generating local variables.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (THRIFT-763) Variable capture bug in generated
struct compareTo
Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/THRIFT-763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Duxbury resolved THRIFT-763.
----------------------------------
Assignee: Nathan Marz
Fix Version/s: 0.3
Resolution: Fixed
I just committed this patch. Good catch.
More generally, I think the problem is that we don't take more care to be sure that the field value instance variables are named in a unique and reliable way. Ideally, we could prefix all the vars with something like "__field_value_", but since we allow people to generate Java classes that don't have accessor methods, this would introduce some additional compiler work.
I think it's about that time when I recommend (again) that we stop offering a generator that doesn't hide the variables behind accessors in Java.
> Variable capture bug in generated struct compareTo
> --------------------------------------------------
>
> Key: THRIFT-763
> URL: https://issues.apache.org/jira/browse/THRIFT-763
> Project: Thrift
> Issue Type: Bug
> Components: Compiler (Java)
> Reporter: Nathan Marz
> Assignee: Nathan Marz
> Priority: Minor
> Fix For: 0.3
>
> Attachments: struct_compare.patch
>
>
> In the generated compareTo for structs, any field named "other" gets shadowed by the local variable other. I've attached a patch to refer to the local field explicitly using "this.".
> FYI, this is the second time I've run into a variable capture bug. We need to be more careful w.r.t. generating local variables.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.