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

Jeffrey Han updated THRIFT-5417:
--------------------------------
    External issue URL: https://github.com/apache/thrift/pull/2394

> Fix Lua compiler omitting default values in Lua service functions
> -----------------------------------------------------------------
>
>                 Key: THRIFT-5417
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5417
>             Project: Thrift
>          Issue Type: Bug
>          Components: Lua - Compiler
>    Affects Versions: 0.13.0
>            Reporter: Jeffrey Han
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add missing default argument values for service client functions in generated 
> Lua code.
> *Example Thrift definition:*
> {{const string kTestStr = "0"}}
> {{service SomeService {}}
> {{  void someMethod(1: string a, 2: string b = kTestStr)}}
> {{    throws (1: SomeError error)}}
> {{}}}
> *Generated code before:*
> {{function SomeServiceClient:send_someMethod(a, b)}}
> {{  self.oprot:writeMessageBegin('someMethod', TMessageType.CALL, 
> self._seqid)}}
> {{  local args = someMethod_args:new{}}}
> {{  args.a = a}}
> {{  args.b = b}}
> {{  args:write(self.oprot)}}
> {{  self.oprot:writeMessageEnd()}}
> {{  self.oprot.trans:flush()}}
> {{end}}
>  
> *Generated code after:*
> {{function SomeServiceClient:send_someMethod(a, b)}}
> {{  self.oprot:writeMessageBegin('someMethod', TMessageType.CALL, 
> self._seqid)}}
> {{  local args = someMethod_args:new{}}}
> {{  args.a = a}}
> {{  if b ~= nil then}}
> {{    args.b = b}}
> {{  else}}
> {{    args.b = '0'}}
> {{  end}}
> {{  args:write(self.oprot)}}
> {{  self.oprot:writeMessageEnd()}}
> {{  self.oprot.trans:flush()}}
> {{end}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to