summaryrefslogtreecommitdiff
path: root/i/marvin/src/interpreter/interpreter.cc
diff options
context:
space:
mode:
authorhaller2006-05-21 20:14:02 +0000
committerhaller2006-05-21 20:14:02 +0000
commit080f4918a072c8677c52d33eda2c32d087889209 (patch)
treeb3603fcfde2f9ee310e4d9e51624dc49dda61a84 /i/marvin/src/interpreter/interpreter.cc
parentf04316bb1b0bab00bd08a355ca0e3d0ab996ec4a (diff)
* Ajout d'une fonction exists dans Interpreter (Ni)
* Patch de InterpreterParser::call, vérifie que la fonction _postcall existe avant d'essayer de la lancer * Refonte de test_proto en utilisant un AnyList dans TestProto::send
Diffstat (limited to 'i/marvin/src/interpreter/interpreter.cc')
-rw-r--r--i/marvin/src/interpreter/interpreter.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/i/marvin/src/interpreter/interpreter.cc b/i/marvin/src/interpreter/interpreter.cc
index a160002..bbf4767 100644
--- a/i/marvin/src/interpreter/interpreter.cc
+++ b/i/marvin/src/interpreter/interpreter.cc
@@ -54,6 +54,15 @@ Interpreter::add (const std::string &s, Func *f)
add (s, f, "");
}
+/// Test if a function is defined.
+bool
+Interpreter::exists (const std::string &s) const
+{
+ Funcs::const_iterator i;
+ i = funcs_.find (s);
+ return i != funcs_.end ();
+}
+
/// Call a function by name.
void
Interpreter::call (const std::string &s, const Args &a,