#include <YSymbolEntry.h>
Classes | |
union | payload |
Public Member Functions | |
YSymbolEntry (const Y2Namespace *name_space, unsigned int position, const char *name, category_t cat, constTypePtr type, YCodePtr payload=0) | |
YSymbolEntry (const char *name, constTypePtr type, declaration_t *payload, const Y2Namespace *name_space=0) | |
YSymbolEntry (const char *name, constTypePtr type, SymbolTable *payload) | |
YSymbolEntry (const char *filename) | |
YSymbolEntry (bytecodeistream &str, const Y2Namespace *name_space=0) | |
void | setCode (YCodePtr code) |
YCodePtr | code () const |
virtual bool | onlyDeclared () const |
void | setDeclaration (declaration_t *decl) |
declaration_t * | declaration () const |
void | setTable (SymbolTable *table) |
SymbolTable * | table () const |
Y2Namespace * | payloadNamespace () const |
void | setPayloadNamespace (Y2Namespace *name_space) |
virtual string | toString (bool with_type=true) const |
std::ostream & | toStream (std::ostream &str) const |
std::ostream & | toXml (std::ostream &str, int indent) const |
Private Member Functions | |
REP_BODY (YSymbolEntry) | |
Private Attributes | |
union YSymbolEntry::payload | m_payload |
YCodePtr | m_code |
YSymbolEntry::YSymbolEntry | ( | const Y2Namespace * | name_space, | |
unsigned int | position, | |||
const char * | name, | |||
category_t | cat, | |||
constTypePtr | type, | |||
YCodePtr | payload = 0 | |||
) |
YSymbolEntry::YSymbolEntry | ( | const char * | name, | |
constTypePtr | type, | |||
declaration_t * | payload, | |||
const Y2Namespace * | name_space = 0 | |||
) |
References YSymbolEntry::payload::m_decl, SymbolEntry::m_global, m_payload, and SymbolEntry::m_value.
YSymbolEntry::YSymbolEntry | ( | const char * | name, | |
constTypePtr | type, | |||
SymbolTable * | payload | |||
) |
References SymbolEntry::m_global, m_payload, YSymbolEntry::payload::m_table, and SymbolEntry::m_value.
YSymbolEntry::YSymbolEntry | ( | const char * | filename | ) |
References SymbolEntry::m_global, and SymbolEntry::m_value.
YSymbolEntry::YSymbolEntry | ( | bytecodeistream & | str, | |
const Y2Namespace * | name_space = 0 | |||
) |
References SymbolEntry::_nameHash, Ustring::asString(), SymbolEntry::c_builtin, SymbolEntry::c_variable, StaticDeclaration::findDeclaration(), SymbolEntry::m_category, m_code, YSymbolEntry::payload::m_decl, SymbolEntry::m_global, SymbolEntry::m_name, SymbolEntry::m_namespace, m_payload, SymbolEntry::m_position, SymbolEntry::m_type, SymbolEntry::m_value, Bytecode::readBool(), Bytecode::readCharp(), Bytecode::readCode(), Bytecode::readInt32(), Bytecode::readType(), static_declarations, toString(), y2debug, and y2error.
YCodePtr YSymbolEntry::code | ( | ) | const |
References SymbolEntry::c_builtin, SymbolEntry::c_module, SymbolEntry::m_category, and m_code.
declaration_t * YSymbolEntry::declaration | ( | ) | const |
References SymbolEntry::c_builtin, SymbolEntry::m_category, YSymbolEntry::payload::m_decl, and m_payload.
bool YSymbolEntry::onlyDeclared | ( | ) | const [virtual] |
Reimplemented from SymbolEntry.
References SymbolEntry::c_function, SymbolEntry::m_category, and m_code.
Y2Namespace * YSymbolEntry::payloadNamespace | ( | ) | const |
References SymbolEntry::c_module, SymbolEntry::m_category, YSymbolEntry::payload::m_namespace, and m_payload.
YSymbolEntry::REP_BODY | ( | YSymbolEntry | ) | [private] |
void YSymbolEntry::setCode | ( | YCodePtr | code | ) |
References SymbolEntry::c_builtin, SymbolEntry::c_module, SymbolEntry::m_category, m_code, toString(), and y2error.
void YSymbolEntry::setDeclaration | ( | declaration_t * | decl | ) |
References SymbolEntry::c_builtin, SymbolEntry::m_category, YSymbolEntry::payload::m_decl, m_payload, toString(), and y2error.
void YSymbolEntry::setPayloadNamespace | ( | Y2Namespace * | name_space | ) |
References SymbolEntry::c_module, SymbolEntry::m_category, YSymbolEntry::payload::m_namespace, m_payload, toString(), and y2error.
void YSymbolEntry::setTable | ( | SymbolTable * | table | ) |
References SymbolEntry::c_namespace, SymbolEntry::m_category, m_payload, YSymbolEntry::payload::m_table, toString(), and y2error.
SymbolTable * YSymbolEntry::table | ( | ) | const |
References SymbolEntry::c_namespace, SymbolEntry::m_category, m_payload, and YSymbolEntry::payload::m_table.
std::ostream & YSymbolEntry::toStream | ( | std::ostream & | str | ) | const |
string YSymbolEntry::toString | ( | bool | with_type = true |
) | const [virtual] |
Reimplemented from SymbolEntry.
References Ustring::asString(), SymbolEntry::c_builtin, SymbolEntry::c_const, SymbolEntry::c_filename, SymbolEntry::c_function, SymbolEntry::c_namespace, SymbolEntry::c_predefined, SymbolEntry::c_reference, SymbolEntry::c_self, SymbolEntry::c_typedef, SymbolEntry::c_variable, SymbolEntry::catString(), SymbolEntry::m_category, m_code, YSymbolEntry::payload::m_decl, SymbolEntry::m_global, SymbolEntry::m_name, SymbolEntry::m_namespace, m_payload, SymbolEntry::m_type, Y2Namespace::name(), declaration::type, and y2debug.
Referenced by setCode(), setDeclaration(), setPayloadNamespace(), setTable(), toStream(), and YSymbolEntry().
std::ostream & YSymbolEntry::toXml | ( | std::ostream & | str, | |
int | indent | |||
) | const |
YCodePtr YSymbolEntry::m_code [private] |
Referenced by code(), onlyDeclared(), setCode(), toString(), and YSymbolEntry().
union YSymbolEntry::payload YSymbolEntry::m_payload [private] |
the default (initial) value ('payload') of the entry -> set by YSVariable and YSFunction
It is grossly overloaded: c_builtin: declaration_t* c_module: Y2Namespace* c_namespace: SymbolTable * c_self n/a (just uses m_name) c_predefined n/a (just uses m_name) c_filename n/a (just uses m_name)
Referenced by declaration(), payloadNamespace(), setDeclaration(), setPayloadNamespace(), setTable(), table(), toStream(), toString(), and YSymbolEntry().