#include <YStatement.h>

Public Member Functions | |
| YStatement (int line=0) | |
| YStatement (bytecodeistream &str) | |
| ~YStatement () | |
| virtual string | toString () const |
| std::ostream & | toStream (std::ostream &str) const |
| std::ostream & | toXml (std::ostream &str, int indent) const |
| virtual bool | isStatement () const |
| int | line () const |
| virtual YCPValue | evaluate (bool cse=false) |
| constTypePtr | type () const |
Private Member Functions | |
| REP_BODY (YStatement) | |
Private Attributes | |
| int | m_line |
| YStatement::YStatement | ( | int | line = 0 |
) |
| YStatement::YStatement | ( | bytecodeistream & | str | ) |
References YCode::kind(), m_line, Bytecode::readInt32(), and y2debug.
| YStatement::~YStatement | ( | ) | [inline] |
| YStatement::REP_BODY | ( | YStatement | ) | [private] |
| string YStatement::toString | ( | void | ) | const [virtual] |
Returns an ASCII representation of the YCode.
Reimplemented from YCode.
Reimplemented in YSBreak, YSContinue, YSExpression, YSBlock, YSReturn, YSTypedef, YSFunction, YSAssign, YSVariable, YSBracket, YSIf, YSWhile, YSRepeat, YSDo, YSTextdomain, YSInclude, YSImport, YSFilename, and YSSwitch.
Referenced by evaluate().
| std::ostream & YStatement::toStream | ( | std::ostream & | str | ) | const [virtual] |
writes YCode to a stream see Bytecode for read
Implements YCode.
Reimplemented in YSBreak, YSContinue, YSExpression, YSBlock, YSReturn, YSTypedef, YSFunction, YSAssign, YSBracket, YSIf, YSWhile, YSRepeat, YSDo, YSTextdomain, YSInclude, YSImport, YSFilename, and YSSwitch.
References YCode::kind(), m_line, YCode::toStream(), Bytecode::writeInt32(), and y2debug.
Referenced by YSSwitch::toStream(), YSFilename::toStream(), YSImport::toStream(), YSInclude::toStream(), YSTextdomain::toStream(), YSDo::toStream(), YSRepeat::toStream(), YSWhile::toStream(), YSIf::toStream(), YSBracket::toStream(), YSAssign::toStream(), YSTypedef::toStream(), YSFunction::toStream(), YSReturn::toStream(), YSBlock::toStream(), YSExpression::toStream(), YSContinue::toStream(), and YSBreak::toStream().
| std::ostream & YStatement::toXml | ( | std::ostream & | str, | |
| int | indent | |||
| ) | const [virtual] |
Implements YCode.
Reimplemented in YSBreak, YSContinue, YSExpression, YSBlock, YSReturn, YSTypedef, YSFunction, YSAssign, YSBracket, YSIf, YSWhile, YSRepeat, YSDo, YSTextdomain, YSInclude, YSImport, YSFilename, and YSSwitch.
References m_line.
| virtual bool YStatement::isStatement | ( | ) | const [inline, virtual] |
yes
Reimplemented from YCode.
| int YStatement::line | ( | void | ) | const [inline] |
| YCPValue YStatement::evaluate | ( | bool | cse = false |
) | [virtual] |
evaluate YCode to YCPValue if debugger == 0 called for parse time evaluation (i.e. constant subexpression elimination) else called for runtime evaluation
Reimplemented from YCode.
Reimplemented in YSBreak, YSContinue, YSExpression, YSBlock, YSReturn, YSTypedef, YSFunction, YSAssign, YSBracket, YSIf, YSWhile, YSRepeat, YSDo, YSTextdomain, YSInclude, YSImport, YSFilename, and YSSwitch.
References toString(), and y2debug.
| constTypePtr YStatement::type | ( | ) | const [inline, virtual] |
return type (interesting mostly for function calls)
Reimplemented from YCode.
Reimplemented in YSExpression, YSBlock, YSReturn, YSTypedef, YSFunction, YSBracket, YSIf, YSWhile, YSRepeat, YSDo, YSTextdomain, YSInclude, YSImport, YSFilename, and YSSwitch.
References Type::Void.
int YStatement::m_line [private] |
Referenced by line(), toStream(), toXml(), and YStatement().
1.5.5