Definition at line 71 of file glue_class.cpp.
| vector<generic> contents | ( | ) | const [inline] |
Definition at line 90 of file glue_class.cpp.
{
return vector<generic> (entries (exports));
}
| module_rep | ( | const generic & | name2 ) | [inline] |
Definition at line 77 of file glue_class.cpp.
:
name (name2),
env (get_environment (current_ev)),
exports (vec<generic> ()) {}
| void overload | ( | const generic & | var, |
| const generic & | val | ||
| ) | const [inline] |
Definition at line 81 of file glue_class.cpp.
{
module_rep* me= const_cast<module_rep*> (this);
if (is<routine> (val)) {
if (!exports->contains (var) || !is<routine> (exports[var][0]))
me->exports[var]= vec<generic> ();
me->exports[var] << val;
}
else me->exports[var]= vec<generic> (val);
}
| generic resolve | ( | const generic & | var ) | const [inline] |
Definition at line 93 of file glue_class.cpp.
References mmx::overloaded_routine().
{
vector<generic> v= exports[var];
if (N(v) == 0)
return std_exception ("undefined symbol in module", var);
else if (N(v) == 1) return v[0];
else {
routine r= overloaded_routine (var, env);
for (nat i=0; i<N(v); i++)
r->overload (as<routine> (v[i]));
return as<generic> (r);
}
}
Definition at line 74 of file glue_class.cpp.
| table<vector<generic>,generic> exports |
Definition at line 75 of file glue_class.cpp.
| generic name |
Definition at line 73 of file glue_class.cpp.
1.7.2