Fix some additional warnings on MacOS

This commit is contained in:
Jason Turner 2013-04-25 12:21:41 -06:00
parent e68599920a
commit 12d842ca5a
2 changed files with 10 additions and 10 deletions

View File

@ -78,7 +78,7 @@ namespace chaiscript
virtual bool call_match(const std::vector<Boxed_Value> &vals, const Dynamic_Cast_Conversions &t_conversions) const virtual bool call_match(const std::vector<Boxed_Value> &vals, const Dynamic_Cast_Conversions &t_conversions) const
{ {
if (dynamic_object_typename_match(vals, m_type_name, m_ti)) if (dynamic_object_typename_match(vals, m_type_name, m_ti, t_conversions))
{ {
return m_func->call_match(vals, t_conversions); return m_func->call_match(vals, t_conversions);
} else { } else {
@ -108,7 +108,7 @@ namespace chaiscript
protected: protected:
virtual Boxed_Value do_call(const std::vector<Boxed_Value> &params, const Dynamic_Cast_Conversions &t_conversions) const virtual Boxed_Value do_call(const std::vector<Boxed_Value> &params, const Dynamic_Cast_Conversions &t_conversions) const
{ {
if (dynamic_object_typename_match(params, m_type_name, m_ti)) if (dynamic_object_typename_match(params, m_type_name, m_ti, t_conversions))
{ {
return (*m_func)(params, t_conversions); return (*m_func)(params, t_conversions);
} else { } else {
@ -116,9 +116,9 @@ namespace chaiscript
} }
} }
virtual bool compare_first_type(const Boxed_Value &bv) const virtual bool compare_first_type(const Boxed_Value &bv, const Dynamic_Cast_Conversions &t_conversions) const
{ {
return dynamic_object_typename_match(bv, m_type_name, m_ti); return dynamic_object_typename_match(bv, m_type_name, m_ti, t_conversions);
} }
private: private:
@ -139,13 +139,13 @@ namespace chaiscript
} }
static bool dynamic_object_typename_match(const Boxed_Value &bv, const std::string &name, static bool dynamic_object_typename_match(const Boxed_Value &bv, const std::string &name,
const boost::optional<Type_Info> &ti) const boost::optional<Type_Info> &ti, const Dynamic_Cast_Conversions &t_conversions)
{ {
static Type_Info doti = user_type<Dynamic_Object>(); static Type_Info doti = user_type<Dynamic_Object>();
if (bv.get_type_info().bare_equal(doti)) if (bv.get_type_info().bare_equal(doti))
{ {
try { try {
const Dynamic_Object &d = boxed_cast<const Dynamic_Object &>(bv); const Dynamic_Object &d = boxed_cast<const Dynamic_Object &>(bv, &t_conversions);
return name == "Dynamic_Object" || d.get_type_name() == name; return name == "Dynamic_Object" || d.get_type_name() == name;
} catch (const std::bad_cast &) { } catch (const std::bad_cast &) {
return false; return false;
@ -162,11 +162,11 @@ namespace chaiscript
} }
static bool dynamic_object_typename_match(const std::vector<Boxed_Value> &bvs, const std::string &name, static bool dynamic_object_typename_match(const std::vector<Boxed_Value> &bvs, const std::string &name,
const boost::optional<Type_Info> &ti) const boost::optional<Type_Info> &ti, const Dynamic_Cast_Conversions &t_conversions)
{ {
if (bvs.size() > 0) if (bvs.size() > 0)
{ {
return dynamic_object_typename_match(bvs[0], name, ti); return dynamic_object_typename_match(bvs[0], name, ti, t_conversions);
} else { } else {
return false; return false;
} }

View File

@ -88,7 +88,7 @@ namespace chaiscript
*/ */
template<typename Ret BOOST_PP_COMMA_IF(n) BOOST_PP_ENUM_PARAMS(n, typename Param)> template<typename Ret BOOST_PP_COMMA_IF(n) BOOST_PP_ENUM_PARAMS(n, typename Param)>
Ret call_func(const boost::function<Ret (BOOST_PP_ENUM_PARAMS(n, Param))> &f, Ret call_func(const boost::function<Ret (BOOST_PP_ENUM_PARAMS(n, Param))> &f,
const std::vector<Boxed_Value> &params, const Dynamic_Cast_Conversions & BOOST_PP_IF(n, t_conversions, )) const std::vector<Boxed_Value> &params, const Dynamic_Cast_Conversions & BOOST_PP_IF(n, t_conversions, BOOST_PP_EMPTY))
{ {
if (params.size() != n) if (params.size() != n)
{ {
@ -105,7 +105,7 @@ namespace chaiscript
*/ */
template<typename Ret BOOST_PP_COMMA_IF(n) BOOST_PP_ENUM_PARAMS(n, typename Param)> template<typename Ret BOOST_PP_COMMA_IF(n) BOOST_PP_ENUM_PARAMS(n, typename Param)>
bool compare_types_cast(Ret (*)(BOOST_PP_ENUM_PARAMS(n, Param)), bool compare_types_cast(Ret (*)(BOOST_PP_ENUM_PARAMS(n, Param)),
const std::vector<Boxed_Value> & BOOST_PP_IF(n, params, ), const Dynamic_Cast_Conversions &t_conversions) const std::vector<Boxed_Value> & BOOST_PP_IF(n, params, BOOST_PP_EMPTY), const Dynamic_Cast_Conversions &t_conversions)
{ {
try { try {
BOOST_PP_REPEAT(n, trycast, ~); BOOST_PP_REPEAT(n, trycast, ~);