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

Jens Geyer updated THRIFT-3584:
-------------------------------
    Description: 
To check element of self whether nil or not,avoid the value(false) of BOOL is 
lost.

eg.
{code:title=Before}
  if self.argBool then
    oprot:writeFieldBegin('argBool', TType.BOOL, 13)
    oprot:writeBool(self.argBool)
    oprot:writeFieldEnd()
  end
{code}

{code:title=After}
  if self.argBool ~= nil then
    oprot:writeFieldBegin('argBool', TType.BOOL, 13)
    oprot:writeBool(self.argBool)
    oprot:writeFieldEnd()
  end
{code}

Why:
  the value(false) for parameter self.argBool will be lost when condition is 
'if self.argBool then' as before.

  was:
To check element of self whether nil or not,avoid the value(false) of BOOL is 
lost.

eg.
Before:
  if self.argBool then
    oprot:writeFieldBegin('argBool', TType.BOOL, 13)
    oprot:writeBool(self.argBool)
    oprot:writeFieldEnd()
  end

After:
  if self.argBool ~= nil then
    oprot:writeFieldBegin('argBool', TType.BOOL, 13)
    oprot:writeBool(self.argBool)
    oprot:writeFieldEnd()
  end

Why:
  the value(false) for parameter self.argBool will be lost when condition is 
'if self.argBool then' as before.


> the value(false) for parameter self.argBool will be lost when condition is 
> 'if self.argBool then' .
> ---------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-3584
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3584
>             Project: Thrift
>          Issue Type: Bug
>          Components: Lua - Compiler
>    Affects Versions: 0.9.3
>         Environment: Linux Windows
>            Reporter: WangYaofu
>             Fix For: 0.9.4
>
>
> To check element of self whether nil or not,avoid the value(false) of BOOL is 
> lost.
> eg.
> {code:title=Before}
>   if self.argBool then
>     oprot:writeFieldBegin('argBool', TType.BOOL, 13)
>     oprot:writeBool(self.argBool)
>     oprot:writeFieldEnd()
>   end
> {code}
> {code:title=After}
>   if self.argBool ~= nil then
>     oprot:writeFieldBegin('argBool', TType.BOOL, 13)
>     oprot:writeBool(self.argBool)
>     oprot:writeFieldEnd()
>   end
> {code}
> Why:
>   the value(false) for parameter self.argBool will be lost when condition is 
> 'if self.argBool then' as before.



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

Reply via email to