Clean up redundant code
This commit is contained in:
parent
fe8f8a89a7
commit
b594043eef
@ -629,14 +629,13 @@ namespace chaiscript
|
|||||||
{fun(&AST_Node::start), "start"},
|
{fun(&AST_Node::start), "start"},
|
||||||
{fun(&AST_Node::end), "end"},
|
{fun(&AST_Node::end), "end"},
|
||||||
{fun(&AST_Node::to_string), "to_string"},
|
{fun(&AST_Node::to_string), "to_string"},
|
||||||
{fun(std::function<std::vector<Boxed_Value> (const chaiscript::AST_Node &t_node)>([](const chaiscript::AST_Node &t_node) -> std::vector<Boxed_Value> {
|
{fun([](const chaiscript::AST_Node &t_node) -> std::vector<Boxed_Value> {
|
||||||
std::vector<Boxed_Value> retval;
|
std::vector<Boxed_Value> retval;
|
||||||
std::transform(t_node.children.begin(), t_node.children.end(),
|
std::transform(t_node.children.begin(), t_node.children.end(),
|
||||||
std::back_inserter(retval),
|
std::back_inserter(retval),
|
||||||
&chaiscript::var<const std::shared_ptr<chaiscript::AST_Node> &>);
|
&chaiscript::var<const std::shared_ptr<chaiscript::AST_Node> &>);
|
||||||
return retval;
|
return retval;
|
||||||
})), "children"},
|
}), "children"}
|
||||||
{fun(&AST_Node::replace_child), "replace_child"}
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -508,11 +508,6 @@ namespace chaiscript
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void replace_child(const AST_NodePtr &t_child, const AST_NodePtr &t_new_child)
|
|
||||||
{
|
|
||||||
std::replace(children.begin(), children.end(), t_child, t_new_child);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual ~AST_Node() = default;
|
virtual ~AST_Node() = default;
|
||||||
AST_Node(AST_Node &&) = default;
|
AST_Node(AST_Node &&) = default;
|
||||||
AST_Node &operator=(AST_Node &&) = default;
|
AST_Node &operator=(AST_Node &&) = default;
|
||||||
|
@ -619,16 +619,14 @@ namespace chaiscript
|
|||||||
|
|
||||||
std::string errstring;
|
std::string errstring;
|
||||||
|
|
||||||
for (std::vector<exception::load_module_error>::const_iterator itr = errors.begin();
|
for (const auto &err : errors)
|
||||||
itr != errors.end();
|
|
||||||
++itr)
|
|
||||||
{
|
{
|
||||||
if (!errstring.empty())
|
if (!errstring.empty())
|
||||||
{
|
{
|
||||||
errstring += "; ";
|
errstring += "; ";
|
||||||
}
|
}
|
||||||
|
|
||||||
errstring += itr->what();
|
errstring += err.what();
|
||||||
}
|
}
|
||||||
|
|
||||||
throw chaiscript::exception::load_module_error("Unable to find module: " + t_module_name + " Errors: " + errstring);
|
throw chaiscript::exception::load_module_error("Unable to find module: " + t_module_name + " Errors: " + errstring);
|
||||||
@ -668,14 +666,7 @@ namespace chaiscript
|
|||||||
/// \throw chaiscript::exception::eval_error In the case that evaluation fails.
|
/// \throw chaiscript::exception::eval_error In the case that evaluation fails.
|
||||||
Boxed_Value operator()(const std::string &t_script, const Exception_Handler &t_handler = Exception_Handler())
|
Boxed_Value operator()(const std::string &t_script, const Exception_Handler &t_handler = Exception_Handler())
|
||||||
{
|
{
|
||||||
try {
|
return eval(t_script, t_handler);
|
||||||
return do_eval(t_script);
|
|
||||||
} catch (Boxed_Value &bv) {
|
|
||||||
if (t_handler) {
|
|
||||||
t_handler->handle(bv, m_engine);
|
|
||||||
}
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief Evaluates a string and returns a typesafe result.
|
/// \brief Evaluates a string and returns a typesafe result.
|
||||||
@ -694,14 +685,7 @@ namespace chaiscript
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
T eval(const std::string &t_input, const Exception_Handler &t_handler = Exception_Handler(), const std::string &t_filename="__EVAL__")
|
T eval(const std::string &t_input, const Exception_Handler &t_handler = Exception_Handler(), const std::string &t_filename="__EVAL__")
|
||||||
{
|
{
|
||||||
try {
|
return m_engine.boxed_cast<T>(eval(t_input, t_handler, t_filename));
|
||||||
return m_engine.boxed_cast<T>(do_eval(t_input, t_filename));
|
|
||||||
} catch (Boxed_Value &bv) {
|
|
||||||
if (t_handler) {
|
|
||||||
t_handler->handle(bv, m_engine);
|
|
||||||
}
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief casts an object while applying any Dynamic_Conversion available
|
/// \brief casts an object while applying any Dynamic_Conversion available
|
||||||
@ -740,14 +724,7 @@ namespace chaiscript
|
|||||||
/// \return result of the script execution
|
/// \return result of the script execution
|
||||||
/// \throw chaiscript::exception::eval_error In the case that evaluation fails.
|
/// \throw chaiscript::exception::eval_error In the case that evaluation fails.
|
||||||
Boxed_Value eval_file(const std::string &t_filename, const Exception_Handler &t_handler = Exception_Handler()) {
|
Boxed_Value eval_file(const std::string &t_filename, const Exception_Handler &t_handler = Exception_Handler()) {
|
||||||
try {
|
return eval(load_file(t_filename), t_handler, t_filename);
|
||||||
return do_eval(load_file(t_filename), t_filename);
|
|
||||||
} catch (Boxed_Value &bv) {
|
|
||||||
if (t_handler) {
|
|
||||||
t_handler->handle(bv, m_engine);
|
|
||||||
}
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief Loads the file specified by filename, evaluates it, and returns the type safe result.
|
/// \brief Loads the file specified by filename, evaluates it, and returns the type safe result.
|
||||||
@ -760,14 +737,7 @@ namespace chaiscript
|
|||||||
/// to the requested type.
|
/// to the requested type.
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T eval_file(const std::string &t_filename, const Exception_Handler &t_handler = Exception_Handler()) {
|
T eval_file(const std::string &t_filename, const Exception_Handler &t_handler = Exception_Handler()) {
|
||||||
try {
|
return m_engine.boxed_cast<T>(eval_file(t_filename, t_handler));
|
||||||
return m_engine.boxed_cast<T>(do_eval(load_file(t_filename), t_filename));
|
|
||||||
} catch (Boxed_Value &bv) {
|
|
||||||
if (t_handler) {
|
|
||||||
t_handler->handle(bv, m_engine);
|
|
||||||
}
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user