Definition at line 28 of file overload.cpp.
exception_routine_rep | ( | ) | [inline] |
Definition at line 31 of file overload.cpp.
00031 : routine_rep (GEN_ERROR) {}
exception_routine_rep | ( | const generic & | f | ) | [inline] |
Definition at line 32 of file overload.cpp.
00032 : 00033 routine_rep (GEN_ERROR), ex_name (f) {} generic apply (const vector<generic>& v) const {
Reimplemented from routine_rep.
Definition at line 34 of file overload.cpp.
References mmx::error_message(), mmx::flatten_as_mmx(), mmx::gen(), mmx::N(), routine_rep::name, and mmx::type_name().
00034 { 00035 vector<generic> t (generic (), N(v)); 00036 for (nat i=0; i<N(v); i++) 00037 if (is<exception> (v[i])) return v[i]; 00038 for (nat i=0; i<N(v); i++) 00039 t[i]= type_name (v[i]); 00040 string msg= string ("invalid function application ") 00041 * flatten_as_mmx (gen (name, gen (ex_name, t))); 00042 #ifdef BASIX_ENABLE_EXCEPTIONS 00043 throw error_message (msg); 00044 #else 00045 assert (false); 00046 #endif 00047 return gen (name, gen (ex_name, v)); }
Reimplemented from routine_rep.
Definition at line 48 of file overload.cpp.