You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2021/09/11 12:31:02 UTC

[jira] [Closed] (THRIFT-5417) Fix Lua compiler omitting default values in Lua service functions

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

Jens Geyer closed THRIFT-5417.
------------------------------

> 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
>            Assignee: Jeffrey Han
>            Priority: Major
>             Fix For: 0.15.0
>
>          Time Spent: 1h 20m
>  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)