#include <Type.h>

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 |
| BlockType::BlockType | ( | constTypePtr | type, | |
| bool | as_const = false | |||
| ) |
| BlockType::BlockType | ( | bytecodeistream & | str | ) |
| BlockType::~BlockType | ( | ) |
| bool BlockType::canCast | ( | constTypePtr | to | ) | const [virtual] |
| TypePtr BlockType::clone | ( | ) | const [virtual] |
| bool BlockType::equals | ( | constTypePtr | expected | ) | const [virtual] |
| 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] |
| 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.
const constTypePtr BlockType::m_type [private] |
Referenced by canCast(), clone(), equals(), match(), matchFlex(), returnType(), toStream(), toString(), and unflex().
1.5.9