Patrick Mahoney created THRIFT-3338:
---------------------------------------

             Summary: 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
            Priority: Minor


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