From b79f0d763fbce1c92cf8beca1f9d4fc82d68ba7b Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Fri, 22 Jan 2016 10:53:59 +0100 Subject: [PATCH] vhdlpp: Implemented ExpLogical::write_to_stream() method. --- vhdlpp/expression_stream.cc | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/vhdlpp/expression_stream.cc b/vhdlpp/expression_stream.cc index 865640614..d545df69f 100644 --- a/vhdlpp/expression_stream.cc +++ b/vhdlpp/expression_stream.cc @@ -181,9 +181,32 @@ void ExpReal::write_to_stream(ostream&fd) const fd << value_; } -void ExpLogical::write_to_stream(ostream&) const +void ExpLogical::write_to_stream(ostream&out) const { - ivl_assert(*this, !"Not supported"); + peek_operand1()->write_to_stream(out); + + switch (fun_) { + case AND: + out << " and "; + break; + case OR: + out << " or "; + break; + case XOR: + out << " xor "; + break; + case NAND: + out << " nand "; + break; + case NOR: + out << " nor "; + break; + case XNOR: + out << " xnor "; + break; + } + + peek_operand2()->write_to_stream(out); } void ExpName::write_to_stream(ostream&fd) const