yast2-core
Public Member Functions | Private Member Functions | Private Attributes

YEIs Class Reference

#include <YExpression.h>

Inheritance diagram for YEIs:
YCode Rep

List of all members.

Public Member Functions

 YEIs (YCodePtr expr, constTypePtr type)
 YEIs (bytecodeistream &str)
 ~YEIs ()
virtual ykind kind () const
string toString () const
YCPValue evaluate (bool cse=false)
std::ostream & toStream (std::ostream &str) const
std::ostream & toXml (std::ostream &str, int indent) const
constTypePtr type () const

Private Member Functions

 REP_BODY (YEIs)

Private Attributes

YCodePtr m_expr
constTypePtr m_type

Constructor & Destructor Documentation

YEIs::YEIs ( YCodePtr  expr,
constTypePtr  type 
)
YEIs::YEIs ( bytecodeistream str)

References m_expr, and Bytecode::readCode().

YEIs::~YEIs ( )

Member Function Documentation

YCPValue YEIs::evaluate ( bool  cse = false) [virtual]

Execute YCP code to get the resulting YCPValue. Every inherited class of YCode should reimplement this method.

Returns:
YCPValue after executing the code
Parameters:
cseshould the evaluation be done for parse time evaluation (i.e. constant subexpression elimination)

Reimplemented from YCode.

References YCPElement::isNull(), m_expr, m_type, toString(), y2debug, YCode::ycFunction, and ycp2error.

virtual ykind YEIs::kind ( ) const [inline, virtual]

Kind of this YCode. This method must be reimplemented in the inherited classes.

Returns:
the YCode kind

Implements YCode.

References YCode::yeIs.

YEIs::REP_BODY ( YEIs  ) [private]
std::ostream & YEIs::toStream ( std::ostream &  str) const [virtual]

Write YCP code to a byte stream (bytecode implementation). Every class inheriting from YCode must reimplement this method.

Parameters:
strbyte stream to store into
Returns:
byte stream for chaining writing bytecode (str)

Implements YCode.

References m_expr, and m_type.

string YEIs::toString ( void  ) const [virtual]

Return ASCII represtation of this YCP code.

Returns:
ASCII string representation

Reimplemented from YCode.

References m_expr, and m_type.

Referenced by evaluate().

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

Write YCP code as XML representation. Every class inheriting from YCode must reimplement this method.

Parameters:
strstring stream to store into
indendindentation level for pretty print
Returns:
string stream for chaining writing XML (str)

Implements YCode.

References m_expr, and m_type.

constTypePtr YEIs::type ( ) const [inline, virtual]

Return type of this YCP code (interesting mostly for function calls).

Returns:
type of the value to be returned after calling evaluate

Reimplemented from YCode.

References Type::Boolean.


Member Data Documentation

YCodePtr YEIs::m_expr [private]

Referenced by evaluate(), toStream(), toString(), toXml(), and YEIs().

constTypePtr YEIs::m_type [private]

Referenced by evaluate(), toStream(), toString(), and toXml().


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

Generated on a sunny day for yast2-core by doxygen 1.7.3