YStatement Class Reference

#include <YStatement.h>

Inheritance diagram for YStatement:

YCode Rep YSAssign YSBlock YSBracket YSBreak YSContinue YSDo YSExpression YSFilename YSFunction YSIf YSImport YSInclude YSRepeat YSReturn YSSwitch YSTextdomain YSTypedef YSWhile

List of all members.

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


Detailed Description

statement (-> statement, next statement)

Constructor & Destructor Documentation

YStatement::YStatement ( int  line = 0  ) 

YStatement::YStatement ( bytecodeistream str  ) 

YStatement::~YStatement (  )  [inline]


Member Function Documentation

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]

std::ostream & YStatement::toXml ( std::ostream &  str,
int  indent 
) const [virtual]

virtual bool YStatement::isStatement (  )  const [inline, virtual]

yes

Reimplemented from YCode.

int YStatement::line ( void   )  const [inline]

References m_line.

Referenced by YSBlock::evaluate(), and YSExpression::evaluate().

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.


Member Data Documentation

int YStatement::m_line [private]

Referenced by line(), toStream(), toXml(), and YStatement().


The documentation for this class was generated from the following files:

Generated on Fri Jun 6 23:42:13 2008 for yast2-core by  doxygen 1.5.5