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

Jens Geyer resolved THRIFT-3338.
--------------------------------
       Resolution: Fixed
    Fix Version/s: 0.9.3

Committed.

> Stray underscore in generated go when service name starts with "New"
> --------------------------------------------------------------------
>
>                 Key: THRIFT-3338
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3338
>             Project: Thrift
>          Issue Type: Bug
>          Components: Go - Compiler
>    Affects Versions: 1.0
>         Environment: OS X, go1.4.2
>            Reporter: Patrick Mahoney
>            Assignee: Jens Geyer
>            Priority: Minor
>             Fix For: 0.9.3
>
>         Attachments: 
> 0001-THRIFT-3338-Stray-underscore-in-generated-go-when-se.patch
>
>
> Running against Thrift master branch at revision 
> [ff4a8ed|https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=commit;h=ff4a8edd50621fb6aab7dbbf6968d4322700ed7d],
>  a service with a name starting with "New" results in some generated code 
> having an extra underscore, and thus not correctly referring to a defined 
> datatype.
> In the example below, to simple services are created, one names "Something" 
> and the other "Newsomething".
> Note in the "Newsomething" service, the generated type is 
> {{newsomethingProcessorFunc}} while in {{NewNewsomething_Processor}} it is 
> referred to as {{newsomething_ProcessorFunc}} which fails to compile.
> {code}
> ################################
> # file s.thrift
> service Something {
>   void func(1: i64 i)
> }
> service Newsomething {
>   void func(1: i64 i)
> }
> ################################
> $ thrift thrift -out gen --gen go s.thrift 
> ################################
> #  file gen/s/something.go
> func NewSomethingProcessor(handler Something) *SomethingProcessor {
>       ...
>       self7.processorMap["func"] = &somethingProcessorFunc{handler: handler}
>       ...
> }
> type somethingProcessorFunc struct {
> ...
> ################################
> # file gen/s/newsomething.go
> func NewNewsomething_Processor(handler Newsomething_) *Newsomething_Processor 
> {
>       ...
>       self2.processorMap["func"] = &newsomething_ProcessorFunc{handler: 
> handler}
>       ...
> }
> type newsomethingProcessorFunc struct {
> ...
> {code}
> {code}
> $ thrift --version
> Thrift version 1.0.0-dev
> $ go version
> go version go1.4.2 darwin/amd64
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to