82 const char *
key ()
const;
87 SymbolEntryPtr
sentry ()
const;
93 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
110 int hash (
const char *s);
127 std::map<const char *, TableEntry *> *
m_used;
131 typedef std::stack <std::vector<TableEntry *> *>
xrefs_t;
198 SymbolEntryPtr
getXRef (
unsigned int position)
const;
225 #endif // SymbolTable_h
int size() const
Definition: SymbolTable.cc:559
SymbolTable(int prime)
Definition: SymbolTable.cc:239
void tableCopy(Y2Namespace *tofill) const
Definition: SymbolTable.cc:996
TableEntry * xref(const char *key)
Definition: SymbolTable.cc:734
Definition: SymbolEntry.h:41
void closeXRefs()
Definition: SymbolTable.cc:351
#define str
Definition: scanner.cc:997
const SymbolTable * table() const
Definition: SymbolTable.cc:119
const char * m_key
Definition: SymbolTable.h:68
void openXRefs()
Definition: SymbolTable.cc:334
TableEntry * enter(const char *key, SymbolEntryPtr entry, const Point *point)
Definition: SymbolTable.cc:566
SymbolTable * m_table
Definition: SymbolTable.h:72
TableEntry * next_overloaded() const
Definition: SymbolTable.cc:125
Definition: SymbolTable.h:100
string toString() const
Definition: SymbolTable.cc:152
const Point * m_point
Definition: SymbolTable.h:70
void endUsage()
Definition: SymbolTable.cc:413
~SymbolTable()
Definition: SymbolTable.cc:255
category_t
Definition: SymbolEntry.h:54
TableEntry * m_overloaded_prev
Definition: SymbolTable.h:53
std::ostream & toStream(std::ostream &str) const
Definition: SymbolTable.cc:166
size_t mem_size() const
Definition: SymbolTable.h:78
int hash(const char *s)
Definition: SymbolTable.cc:220
string toString() const
Definition: SymbolTable.cc:853
void disableUsage()
Definition: SymbolTable.cc:438
bool isOverloaded() const
Definition: SymbolTable.cc:131
TableEntry * m_next
Definition: SymbolTable.h:49
SymbolEntryPtr m_entry
Definition: SymbolTable.h:69
TableEntry(const char *key, SymbolEntryPtr entry, const Point *point, SymbolTable *table=0)
Definition: SymbolTable.cc:42
Definition: SymbolEntry.h:55
std::ostream & writeXmlUsage(std::ostream &str, int indent) const
Definition: SymbolTable.cc:504
string toStringSymbols() const
Definition: SymbolTable.cc:925
TableEntry * m_overloaded_next
Definition: SymbolTable.h:54
TableEntry * m_outer
Definition: SymbolTable.h:66
void forEach(EntryConsumer consumer) const
Definition: SymbolTable.cc:1025
SymbolEntryPtr getXRef(unsigned int position) const
Definition: SymbolTable.cc:369
size_t mem_size() const
Definition: SymbolTable.h:135
TableEntry * m_prev
Definition: SymbolTable.h:48
std::stack< std::vector< TableEntry * > * > xrefs_t
Definition: SymbolTable.h:131
int countUsage()
Definition: SymbolTable.cc:402
TableEntry * find(const char *key, SymbolEntry::category_t category=SymbolEntry::c_unspec)
Definition: SymbolTable.cc:688
const char * key() const
Definition: SymbolTable.cc:91
std::map< const char *, TableEntry * > * m_used
Definition: SymbolTable.h:127
std::ostream & toXml(std::ostream &str, int indent) const
Definition: SymbolTable.cc:184
void makeDefinition(int line)
Definition: SymbolTable.cc:140
~TableEntry()
Definition: SymbolTable.cc:82
TableEntry * next() const
Definition: SymbolTable.cc:112
void enableUsage()
Definition: SymbolTable.cc:428
const Point * point() const
Definition: SymbolTable.cc:105
Definition: Y2Namespace.h:43
int m_prime
Definition: SymbolTable.h:107
void startUsage()
Definition: SymbolTable.cc:388
An istream that remembers some data about the bytecode.
Definition: Bytecode.h:42
Definition: SymbolTable.h:42
xrefs_t * m_xrefs
Definition: SymbolTable.h:132
bool m_track_usage
Definition: SymbolTable.h:126
string toStringSymbols() const
TableEntry ** m_table
Definition: SymbolTable.h:122
std::ostream & writeUsage(std::ostream &str) const
Definition: SymbolTable.cc:448
Definition: MemUsage.h:37
SymbolEntryPtr sentry() const
Definition: SymbolTable.cc:98
bool(* EntryConsumer)(const SymbolEntry &)
Definition: SymbolTable.h:153