| 286 | } |
| 287 | |
| 288 | bool ExpressionCompiler::visit(Conditional const& _condition) |
| 289 | { |
| 290 | CompilerContext::LocationSetter locationSetter(m_context, _condition); |
| 291 | _condition.condition().accept(*this); |
| 292 | evmasm::AssemblyItem trueTag = m_context.appendConditionalJump(); |
| 293 | acceptAndConvert(_condition.falseExpression(), *_condition.annotation().type); |
| 294 | evmasm::AssemblyItem endTag = m_context.appendJumpToNew(); |
| 295 | m_context << trueTag; |
| 296 | int offset = static_cast<int>(_condition.annotation().type->sizeOnStack()); |
| 297 | m_context.adjustStackOffset(-offset); |
| 298 | acceptAndConvert(_condition.trueExpression(), *_condition.annotation().type); |
| 299 | m_context << endTag; |
| 300 | return false; |
| 301 | } |
| 302 | |
| 303 | bool ExpressionCompiler::visit(Assignment const& _assignment) |
| 304 | { |
nothing calls this directly
no test coverage detected