BlockType Class Reference

YCP type Block <type> More...

#include <Type.h>

Inheritance diagram for BlockType:
Type Rep

List of all members.

Public Member Functions

string toString () const
bool isBasetype () const
constTypePtr matchFlex (constTypePtr type, unsigned int number=0) const
int match (constTypePtr expected) const
bool equals (constTypePtr expected) const
bool canCast (constTypePtr to) const
TypePtr clone () const
constTypePtr unflex (constTypePtr type, unsigned int number=0) const
constTypePtr returnType () const
std::ostream & toStream (std::ostream &str) const
 BlockType (constTypePtr type, bool as_const=false)
 BlockType (bytecodeistream &str)
 ~BlockType ()

Private Member Functions

 REP_BODY (BlockType)

Private Attributes

const constTypePtr m_type

Detailed Description

YCP type Block <type>


Constructor & Destructor Documentation

BlockType::BlockType ( constTypePtr  type,
bool  as_const = false 
)
BlockType::BlockType ( bytecodeistream str  ) 
BlockType::~BlockType (  ) 

Member Function Documentation

bool BlockType::canCast ( constTypePtr  to  )  const [virtual]

check, if the type can be casted (at runtime considered to be - similar to dynamic_cast) to another type

Reimplemented from Type.

References m_type.

TypePtr BlockType::clone (  )  const [virtual]

clone this type

Reimplemented from Type.

References m_type.

bool BlockType::equals ( constTypePtr  expected  )  const [virtual]

check equality of the types, without any assumptions like any == unspec

Reimplemented from Type.

References m_type.

bool BlockType::isBasetype (  )  const [inline, virtual]

Reimplemented from Type.

int BlockType::match ( constTypePtr  expected  )  const [virtual]

check match with expected type <0: no match, ==0: full match, >0: propagated match

Reimplemented from Type.

References Type::basematch(), m_type, toString(), and y2debug.

constTypePtr BlockType::matchFlex ( constTypePtr  type,
unsigned int  number = 0 
) const [virtual]

Reimplemented from Type.

References m_type, toString(), and y2debug.

BlockType::REP_BODY ( BlockType   )  [private]
constTypePtr BlockType::returnType (  )  const [inline]

References m_type.

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

write bytecode out to stream

write out to bytecode stream

Reimplemented from Type.

References m_type, and Bytecode::writeType().

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

Converts a type code to its YCP notation.

Reimplemented from Type.

References m_type, Type::postToString(), and Type::preToString().

Referenced by match(), matchFlex(), and unflex().

constTypePtr BlockType::unflex ( constTypePtr  type,
unsigned int  number = 0 
) const [virtual]

replace any 'FlexT' (number == 0) or 'NFlexT' (number != 0) with 'type'

Reimplemented from Type.

References m_type, toString(), and y2debug.


Member Data Documentation

const constTypePtr BlockType::m_type [private]

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

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