Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Examples

SymbolEntry Class Reference

#include <SymbolEntry.h>

Inheritance diagram for SymbolEntry:

Rep List of all members.

Public Types

enum  category_t {
  c_unspec = 0, c_global, c_module, c_variable,
  c_reference, c_function, c_builtin, c_typedef,
  c_const, c_namespace, c_self, c_predefined,
  c_filename
}

Public Member Functions

 SymbolEntry (const Y2Namespace *name_space, unsigned int position, const char *name, category_t cat, constTypePtr type, YCodePtr payload=0)
 SymbolEntry (const char *name, constTypePtr type, declaration_t *payload, const Y2Namespace *name_space=0)
 SymbolEntry (const char *name, constTypePtr type, SymbolTable *payload)
 SymbolEntry (const char *filename)
 SymbolEntry (std::istream &str, const Y2Namespace *name_space=0)
virtual ~SymbolEntry ()
const Y2NamespacenameSpace () const
void setNamespace (const Y2Namespace *name_space)
bool onlyDeclared () const
void setCode (YCodePtr code)
YCodePtr code () const
void setDeclaration (declaration_t *decl)
declaration_tdeclaration () const
void setTable (SymbolTable *table)
SymbolTabletable () const
Y2NamespacepayloadNamespace () const
void setPayloadNamespace (Y2Namespace *name_space)
unsigned int position () const
void setPosition (unsigned int position)
bool isGlobal () const
bool isModule () const
bool isVariable () const
bool isReference () const
bool isFunction () const
bool isBuiltin () const
bool isNamespace () const
bool isSelf () const
bool isFilename () const
bool isPredefined () const
bool likeNamespace () const
const char * name () const
category_t category () const
void setCategory (category_t cat)
constTypePtr type () const
string catString () const
void setType (constTypePtr type)
YCPValue setValue (YCPValue value)
YCPValue value () const
void push ()
void pop ()
string toString (bool with_type=true) const
std::ostream & toStream (std::ostream &str) const

Static Public Attributes

UstringHash _nameHash
Ustring emptyUstring = Ustring (SymbolEntry::_nameHash, "")

Private Member Functions

 REP_BODY (SymbolEntry)

Private Attributes

bool m_global
const Y2Namespacem_namespace
unsigned int m_position
Ustring m_name
category_t m_category
constTypePtr m_type
SymbolEntry::payload m_payload
YCodePtr m_code
YCPValue m_value
stack< YCPValuem_recurse_stack

Member Enumeration Documentation

enum SymbolEntry::category_t
 

Enumeration values:
c_unspec 
c_global 
c_module 
c_variable 
c_reference 
c_function 
c_builtin 
c_typedef 
c_const 
c_namespace 
c_self 
c_predefined 
c_filename 


Constructor & Destructor Documentation

SymbolEntry::SymbolEntry const Y2Namespace name_space,
unsigned int  position,
const char *  name,
category_t  cat,
constTypePtr  type,
YCodePtr  code = 0
 

constructor

SymbolEntry::SymbolEntry const char *  name,
constTypePtr  type,
declaration_t payload,
const Y2Namespace name_space = 0
 

SymbolEntry::SymbolEntry const char *  name,
constTypePtr  type,
SymbolTable payload
 

SymbolEntry::SymbolEntry const char *  filename  ) 
 

SymbolEntry::SymbolEntry std::istream &  str,
const Y2Namespace name_space = 0
 

SymbolEntry::~SymbolEntry  )  [virtual]
 


Member Function Documentation

SymbolEntry::category_t SymbolEntry::category  )  const
 

string SymbolEntry::catString  )  const
 

YCodePtr SymbolEntry::code  )  const
 

declaration_t * SymbolEntry::declaration  )  const
 

bool SymbolEntry::isBuiltin  )  const [inline]
 

bool SymbolEntry::isFilename  )  const [inline]
 

bool SymbolEntry::isFunction  )  const [inline]
 

bool SymbolEntry::isGlobal  )  const
 

bool SymbolEntry::isModule  )  const [inline]
 

bool SymbolEntry::isNamespace  )  const [inline]
 

bool SymbolEntry::isPredefined  )  const [inline]
 

bool SymbolEntry::isReference  )  const [inline]
 

bool SymbolEntry::isSelf  )  const [inline]
 

bool SymbolEntry::isVariable  )  const [inline]
 

bool SymbolEntry::likeNamespace  )  const [inline]
 

const char * SymbolEntry::name  )  const
 

const Y2Namespace * SymbolEntry::nameSpace  )  const
 

bool SymbolEntry::onlyDeclared  )  const
 

Y2Namespace * SymbolEntry::payloadNamespace  )  const
 

void SymbolEntry::pop  ) 
 

unsigned int SymbolEntry::position  )  const
 

void SymbolEntry::push  ) 
 

SymbolEntry::REP_BODY SymbolEntry   )  [private]
 

void SymbolEntry::setCategory category_t  cat  ) 
 

void SymbolEntry::setCode YCodePtr  code  ) 
 

void SymbolEntry::setDeclaration declaration_t decl  ) 
 

void SymbolEntry::setNamespace const Y2Namespace name_space  ) 
 

void SymbolEntry::setPayloadNamespace Y2Namespace name_space  ) 
 

void SymbolEntry::setPosition unsigned int  position  ) 
 

void SymbolEntry::setTable SymbolTable table  ) 
 

void SymbolEntry::setType constTypePtr  type  ) 
 

YCPValue SymbolEntry::setValue YCPValue  value  ) 
 

SymbolTable * SymbolEntry::table  )  const
 

std::ostream & SymbolEntry::toStream std::ostream &  str  )  const
 

string SymbolEntry::toString bool  with_type = true  )  const
 

constTypePtr SymbolEntry::type  )  const
 

YCPValue SymbolEntry::value  )  const
 


Member Data Documentation

UstringHash SymbolEntry::_nameHash [static]
 

Ustring SymbolEntry::emptyUstring = Ustring (SymbolEntry::_nameHash, "") [static]
 

category_t SymbolEntry::m_category [private]
 

YCodePtr SymbolEntry::m_code [private]
 

bool SymbolEntry::m_global [private]
 

Ustring SymbolEntry::m_name [private]
 

const Y2Namespace* SymbolEntry::m_namespace [private]
 

union SymbolEntry::payload SymbolEntry::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)

unsigned int SymbolEntry::m_position [private]
 

stack<YCPValue> SymbolEntry::m_recurse_stack [private]
 

constTypePtr SymbolEntry::m_type [private]
 

YCPValue SymbolEntry::m_value [private]
 


The documentation for this class was generated from the following files:
Generated on Fri Nov 9 18:15:24 2007 for yast2-core by doxygen 1.3.6