Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/stan/lang/generator/generate_catch_throw_located.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ void generate_catch_throw_located(int indent, std::ostream& o) {
generate_indent(indent, o);
o << "} catch (const std::exception& e) {" << EOL;
generate_indent(indent + 1, o);
o << "stan::lang::rethrow_located(e, current_statement_begin__"
o << "stan::model::rethrow_located(e, current_statement_begin__"
<< ", prog_reader__());" << EOL;
generate_comment("Next line prevents compiler griping about no return",
indent + 1, o);
Expand Down
4 changes: 2 additions & 2 deletions src/stan/lang/generator/generate_transform_inits_method.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ void generate_transform_inits_method(const std::vector<block_var_decl>& vs,
generate_indent(indent, o);
o << "if (!(context__.contains_r(\"" << var_name << "\")))" << EOL;
generate_indent(indent + 1, o);
o << "stan::lang::rethrow_located("
o << "stan::model::rethrow_located("
<< "std::runtime_error(std::string(\"Variable " << var_name
<< " missing\")), current_statement_begin__, prog_reader__());" << EOL;
// init context position
Expand Down Expand Up @@ -157,7 +157,7 @@ void generate_transform_inits_method(const std::vector<block_var_decl>& vs,
generate_indent(indent + vtype.array_dims(), o);
o << "} catch (const std::exception& e) {" << EOL;
generate_indent(indent + vtype.array_dims() + 1, o);
o << "stan::lang::rethrow_located("
o << "stan::model::rethrow_located("
<< "std::runtime_error(std::string(\"Error transforming variable "
<< var_name
<< ": \") + e.what()), current_statement_begin__, prog_reader__());"
Expand Down
2 changes: 1 addition & 1 deletion src/stan/lang/generator/generate_validate_tparam_inits.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ void generate_validate_tparam_inits(const block_var_decl decl, int indent,
o << ";" << EOL;

generate_indent(indent + decl.bare_type().num_dims() + 1, o);
o << "stan::lang::rethrow_located("
o << "stan::model::rethrow_located("
<< "std::runtime_error(std::string(\"Error initializing variable "
<< decl.name()
<< ": \") + msg__.str()), current_statement_begin__, prog_reader__());"
Expand Down
2 changes: 1 addition & 1 deletion src/stan/model/model_header.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <stan/io/reader.hpp>
#include <stan/io/writer.hpp>

#include <stan/lang/rethrow_located.hpp>
#include <stan/model/rethrow_located.hpp>
#include <stan/model/model_base.hpp>
#include <stan/model/model_base_crtp.hpp>
#include <stan/model/prob_grad.hpp>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef STAN_LANG_RETHROW_LOCATED_HPP
#define STAN_LANG_RETHROW_LOCATED_HPP
#ifndef STAN_MODEL_RETHROW_LOCATED_HPP
#define STAN_MODEL_RETHROW_LOCATED_HPP

#include <stan/io/program_reader.hpp>
#include <exception>
Expand All @@ -12,7 +12,7 @@

namespace stan {

namespace lang {
namespace model {

/**
* Returns true if the specified exception can be dynamically
Expand Down Expand Up @@ -161,8 +161,37 @@ inline void rethrow_located(const std::exception& e, int line,
rethrow_located(e, s);
}

} // namespace lang
} // namespace model

namespace lang {
/**
* Rethrow an exception of type specified by the dynamic type of
* the specified exception, adding the specified source file location to
* the specified exception's message.
*
* @param[in] e original exception
* @param[in] location string representing the source file location
*/
inline void rethrow_located(const std::exception& e, std::string location) {
stan::model::rethrow_located(e, location);
}

/**
* Rethrow an exception of type specified by the dynamic type of
* the specified exception, adding the specified line number to
* the specified exception's message.
*
* @param[in] e original exception
* @param[in] line line number in Stan source program where
* exception originated
* @param[in] reader trace of how program was included from files
*/
inline void rethrow_located(const std::exception& e, int line,
const io::program_reader& reader
= stan::io::program_reader()) {
stan::model::rethrow_located(e, line, reader);
}
} // namespace lang
} // namespace stan

#endif
2 changes: 1 addition & 1 deletion src/stan/model/standalone_functions_header.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

#include <boost/random/additive_combine.hpp>
#include <stan/io/program_reader.hpp>
#include <stan/lang/rethrow_located.hpp>
#include <stan/model/rethrow_located.hpp>
#include <stan/model/indexing.hpp>

#include <cmath>
Expand Down
12 changes: 6 additions & 6 deletions src/test/unit/lang/generator/cholesky_factor_cov_var_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" current_statement_begin__ = 2;\n"
" if (!(context__.contains_r(\"cfcov_54\")))\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Variable "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Variable "
"cfcov_54 missing\")), current_statement_begin__, prog_reader__());\n"
" vals_r__ = context__.vals_r(\"cfcov_54\");\n"
" pos__ = 0U;\n"
Expand All @@ -249,7 +249,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" writer__.cholesky_factor_cov_unconstrain(cfcov_54);\n"
" } catch (const std::exception& e) {\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"transforming variable cfcov_54: \") + e.what()), "
"current_statement_begin__, prog_reader__());\n"
" }\n");
Expand All @@ -259,7 +259,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" current_statement_begin__ = 3;\n"
" if (!(context__.contains_r(\"cfcov_33\")))\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Variable "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Variable "
"cfcov_33 missing\")), current_statement_begin__, prog_reader__());\n"
" vals_r__ = context__.vals_r(\"cfcov_33\");\n"
" pos__ = 0U;\n"
Expand All @@ -281,7 +281,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" writer__.cholesky_factor_cov_unconstrain(cfcov_33);\n"
" } catch (const std::exception& e) {\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"transforming variable cfcov_33: \") + e.what()), "
"current_statement_begin__, prog_reader__());\n"
" }\n");
Expand Down Expand Up @@ -503,7 +503,7 @@ TEST(lang, transformed_params_block_var_hpp_log_prob) {
" msg__ << \"Undefined transformed parameter: "
"cfcov_54\" << \"(\" << j_1__ << \", \" << j_2__ << \")\";\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"initializing variable cfcov_54: \") + msg__.str()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand All @@ -525,7 +525,7 @@ TEST(lang, transformed_params_block_var_hpp_log_prob) {
" msg__ << \"Undefined transformed parameter: "
"cfcov_33\" << \"(\" << j_1__ << \", \" << j_2__ << \")\";\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"initializing variable cfcov_33: \") + msg__.str()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand Down
26 changes: 13 additions & 13 deletions src/test/unit/lang/generator/function_var_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ TEST(lang, local_function_args_hpp) {
" *pstream__ << std::endl;\n"
" }\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -288,7 +288,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 7;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a1);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -360,7 +360,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 11;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a2);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -432,7 +432,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 15;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a3);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -506,7 +506,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 19;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a4);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -584,7 +584,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 23;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a5);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -662,7 +662,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 27;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a6);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -741,7 +741,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 31;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a7);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -821,7 +821,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 35;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a8);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -901,7 +901,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 39;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a9);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -983,7 +983,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 43;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a10);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -1067,7 +1067,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 47;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a11);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down Expand Up @@ -1151,7 +1151,7 @@ TEST(lang, local_function_args_hpp) {
" current_statement_begin__ = 51;\n"
" return stan::math::promote_scalar<fun_return_scalar_t__>(a12);\n"
" } catch (const std::exception& e) {\n"
" stan::lang::rethrow_located(e, current_statement_begin__, "
" stan::model::rethrow_located(e, current_statement_begin__, "
"prog_reader__());\n"
" // Next line prevents compiler griping about no return\n"
" throw std::runtime_error(\"*** IF YOU SEE THIS, PLEASE REPORT A "
Expand Down
6 changes: 3 additions & 3 deletions src/test/unit/lang/generator/multi_dim_var_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" current_statement_begin__ = 2;\n"
" if (!(context__.contains_r(\"ar_mat\")))\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Variable "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Variable "
"ar_mat missing\")), current_statement_begin__, prog_reader__());\n"
" vals_r__ = context__.vals_r(\"ar_mat\");\n"
" pos__ = 0U;\n"
Expand Down Expand Up @@ -209,7 +209,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
"ar_mat[i_0__][i_1__]);\n"
" } catch (const std::exception& e) {\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"transforming variable ar_mat: \") + e.what()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand Down Expand Up @@ -413,7 +413,7 @@ TEST(lang, transformed_params_block_var_hpp_log_prob) {
"parameter: ar_mat\" << \"[\" << k_0__ << \"]\" << \"[\" << k_1__ << "
"\"]\" << \"(\" << j_1__ << \", \" << j_2__ << \")\";\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"initializing variable ar_mat: \") + msg__.str()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand Down
16 changes: 8 additions & 8 deletions src/test/unit/lang/generator/prim_var_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" current_statement_begin__ = 2;\n"
" if (!(context__.contains_r(\"p2\")))\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Variable "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Variable "
"p2 missing\")), current_statement_begin__, prog_reader__());\n"
" vals_r__ = context__.vals_r(\"p2\");\n"
" pos__ = 0U;\n"
Expand All @@ -281,15 +281,15 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" writer__.scalar_unconstrain(p2);\n"
" } catch (const std::exception& e) {\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"transforming variable p2: \") + e.what()), current_statement_begin__, "
"prog_reader__());\n"
" }\n"
"\n"
" current_statement_begin__ = 3;\n"
" if (!(context__.contains_r(\"ar_p2\")))\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Variable "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Variable "
"ar_p2 missing\")), current_statement_begin__, prog_reader__());\n"
" vals_r__ = context__.vals_r(\"ar_p2\");\n"
" pos__ = 0U;\n"
Expand All @@ -307,7 +307,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" writer__.scalar_lub_unconstrain(0, 1, ar_p2[i_0__]);\n"
" } catch (const std::exception& e) {\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"transforming variable ar_p2: \") + e.what()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand All @@ -316,7 +316,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
" current_statement_begin__ = 4;\n"
" if (!(context__.contains_r(\"ar_p3\")))\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Variable "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Variable "
"ar_p3 missing\")), current_statement_begin__, prog_reader__());\n"
" vals_r__ = context__.vals_r(\"ar_p3\");\n"
" pos__ = 0U;\n"
Expand All @@ -335,7 +335,7 @@ TEST(lang, params_block_var_hpp_xform_inits) {
"ar_p3[i_0__]);\n"
" } catch (const std::exception& e) {\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"transforming variable ar_p3: \") + e.what()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand Down Expand Up @@ -512,7 +512,7 @@ TEST(lang, transformed_params_block_var_hpp_log_prob) {
" std::stringstream msg__;\n"
" msg__ << \"Undefined transformed parameter: p2\";\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"initializing variable p2: \") + msg__.str()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand All @@ -524,7 +524,7 @@ TEST(lang, transformed_params_block_var_hpp_log_prob) {
" msg__ << \"Undefined transformed parameter: ar_p2\" "
"<< \"[\" << k_0__ << \"]\";\n"
" "
"stan::lang::rethrow_located(std::runtime_error(std::string(\"Error "
"stan::model::rethrow_located(std::runtime_error(std::string(\"Error "
"initializing variable ar_p2: \") + msg__.str()), "
"current_statement_begin__, prog_reader__());\n"
" }\n"
Expand Down
Loading