(statement)
| 210 | |
| 211 | |
| 212 | def generateIf(statement): |
| 213 | test = generateExpression(statement.test) |
| 214 | body = getBlockBodyFromStatements(statement.body) |
| 215 | elseblocks = [] |
| 216 | |
| 217 | orelse = statement.orelse |
| 218 | while len(orelse) == 1 and type(orelse[0]) == ast.If: |
| 219 | # It's one if in an else, make it an elif. |
| 220 | ifstatement = orelse[0] |
| 221 | elifbody = getBlockBodyFromStatements(ifstatement.body) |
| 222 | elifcondition = generateExpression(ifstatement.test) |
| 223 | elseblocks.append(SplootNode('PYTHON_ELIF_STATEMENT', {'block': elifbody, 'condition': [elifcondition]})) |
| 224 | orelse = ifstatement.orelse |
| 225 | |
| 226 | if len(orelse) != 0: |
| 227 | elsebody = getBlockBodyFromStatements(orelse) |
| 228 | elseblocks.append(SplootNode('PYTHON_ELSE_STATEMENT', {'block': elsebody})) |
| 229 | |
| 230 | return SplootNode("PYTHON_IF_STATEMENT", { |
| 231 | 'condition': [test], |
| 232 | 'trueblock': body, |
| 233 | 'elseblocks': elseblocks |
| 234 | }) |
| 235 | |
| 236 | def generateWhile(whileStatement): |
| 237 | test = generateExpression(whileStatement.test) |
no test coverage detected