From 19bc744575f5780d1e1a60384b2c32546b378b8a Mon Sep 17 00:00:00 2001 From: Marco Biasini <marco.biasini@unibas.ch> Date: Sat, 13 Oct 2012 15:10:53 +0200 Subject: [PATCH] fix a FIXME --- modules/conop/src/diag.hh | 6 ++++++ modules/conop/src/rule_based.cc | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/conop/src/diag.hh b/modules/conop/src/diag.hh index 1e749f3d8..ba7297dd6 100644 --- a/modules/conop/src/diag.hh +++ b/modules/conop/src/diag.hh @@ -112,6 +112,12 @@ class Diagnostics; typedef boost::shared_ptr<Diagnostics> DiagnosticsPtr; + +class DLLEXPORT DiagError : public Error { +public: + DiagError(const Diag& diag) : Error(diag.Format(false)) {} +}; + class DLLEXPORT_OST_CONOP Diagnostics { public: typedef std::vector<Diag*>::iterator diag_iterator; diff --git a/modules/conop/src/rule_based.cc b/modules/conop/src/rule_based.cc index 7bde24ffd..862faffad 100644 --- a/modules/conop/src/rule_based.cc +++ b/modules/conop/src/rule_based.cc @@ -114,7 +114,7 @@ void RuleBasedProcessor::ProcessUnkResidue(DiagnosticsPtr diags, .AddResidue(res); break; case CONOP_FATAL: - // FIXME: Implement a ConopError based on Diag... + throw DiagError(Diag(DIAG_UNK_RESIDUE, "unknown residue %0").AddResidue(res)); break; case CONOP_REMOVE_RESIDUE: case CONOP_REMOVE: @@ -162,6 +162,7 @@ void RuleBasedProcessor::ProcessUnkAtoms(DiagnosticsPtr diags, .AddResidue(i->GetResidue()).AddString(i->GetName()); break; case CONOP_FATAL: + throw DiagError(Diag(DIAG_UNK_ATOM, "unknown atom %0").AddAtom(*i)); // FIXME: Implement a ConopError based on Diag... break; case CONOP_REMOVE_RESIDUE: -- GitLab