Commit 6b5c9cc7 authored by Roberto Raggi's avatar Roberto Raggi
Browse files

Cleanup

parent c4877cf6
......@@ -97,7 +97,7 @@ Macro *Environment::bind(const Macro &__macro)
else
_allocated_macros <<= 1;
_macros = (Macro **) realloc(_macros, sizeof(Macro *) * _allocated_macros);
_macros = reinterpret_cast<Macro **>(realloc(_macros, sizeof(Macro *) * _allocated_macros));
}
_macros[_macro_count] = m;
......@@ -147,7 +147,7 @@ void Environment::reset()
_hash_count = 401;
}
bool Environment::isBuiltinMacro(const QByteArray &s) const
bool Environment::isBuiltinMacro(const QByteArray &s)
{
if (s.length() != 8)
return false;
......@@ -211,6 +211,12 @@ bool Environment::isBuiltinMacro(const QByteArray &s) const
return false;
}
Environment::iterator Environment::firstMacro() const
{ return _macros; }
Environment::iterator Environment::lastMacro() const
{ return _macros + _macro_count + 1; }
Macro *Environment::resolve(const QByteArray &name) const
{
if (! _macros)
......@@ -244,10 +250,10 @@ void Environment::rehash()
_hash_count <<= 1;
}
_hash = (Macro **) calloc(_hash_count, sizeof(Macro *));
_hash = reinterpret_cast<Macro **>(calloc(_hash_count, sizeof(Macro *)));
for (Macro **it = firstMacro(); it != lastMacro(); ++it) {
Macro *m= *it;
for (iterator it = firstMacro(); it != lastMacro(); ++it) {
Macro *m = *it;
const unsigned h = m->_hashcode % _hash_count;
m->_next = _hash[h];
_hash[h] = m;
......
......@@ -61,6 +61,9 @@ class Macro;
class CPLUSPLUS_EXPORT Environment
{
public:
typedef Macro **iterator;
public:
Environment();
~Environment();
......@@ -72,23 +75,15 @@ public:
Macro *remove(const QByteArray &name);
Macro *resolve(const QByteArray &name) const;
bool isBuiltinMacro(const QByteArray &name) const;
const Macro *const *firstMacro() const
{ return _macros; }
Macro **firstMacro()
{ return _macros; }
const Macro *const *lastMacro() const
{ return _macros + _macro_count + 1; }
Macro **lastMacro()
{ return _macros + _macro_count + 1; }
iterator firstMacro() const;
iterator lastMacro() const;
void reset();
void addMacros(const QList<Macro> &macros);
static bool isBuiltinMacro(const QByteArray &name);
private:
static unsigned hashCode(const QByteArray &s);
void rehash();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment