YECompare Class Reference

#include <YExpression.h>

Inheritance diagram for YECompare:

YCode List of all members.

Public Types

enum  cmp_op {
  C_NOT = 1, C_EQ = 2, C_LT = 4, C_NEQ = C_NOT|C_EQ,
  C_LE = C_EQ|C_LT, C_GE = C_NOT|C_LT, C_GT = C_NOT|C_EQ|C_LT
}
typedef cmp_op c_op

Public Member Functions

 YECompare (YCodePtr left, c_op op, YCodePtr right)
 YECompare (bytecodeistream &str)
 ~YECompare ()
virtual ykind kind () const
string toString () const
YCPValue evaluate (bool cse=false)
std::ostream & toStream (std::ostream &str) const
constTypePtr type () const

Private Member Functions

 REP_BODY (YECompare)

Private Attributes

YCodePtr m_left
c_op m_op
YCodePtr m_right

Member Typedef Documentation

typedef cmp_op YECompare::c_op


Member Enumeration Documentation

enum YECompare::cmp_op

Enumerator:
C_NOT 
C_EQ 
C_LT 
C_NEQ 
C_LE 
C_GE 
C_GT 


Constructor & Destructor Documentation

YECompare::YECompare ( YCodePtr  left,
c_op  op,
YCodePtr  right 
)

YECompare::YECompare ( bytecodeistream str  ) 

YECompare::~YECompare (  ) 


Member Function Documentation

YECompare::REP_BODY ( YECompare   )  [private]

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

Returns the YCode kind

Implements YCode.

string YECompare::toString (  )  const [virtual]

Returns an ASCII representation of the YCode.

Reimplemented from YCode.

YCPValue YECompare::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.

std::ostream & YECompare::toStream ( std::ostream &  str  )  const [virtual]

writes YCode to a stream see Bytecode for read

Implements YCode.

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

return type (interesting mostly for function calls)

Reimplemented from YCode.


Member Data Documentation

YCodePtr YECompare::m_left [private]

c_op YECompare::m_op [private]

YCodePtr YECompare::m_right [private]


The documentation for this class was generated from the following files:
Generated on Tue Nov 6 01:20:23 2007 for yast2-core by  doxygen 1.5.0