Throw an error for invalid classes

This commit is contained in:
Patrick Niklaus
2017-08-14 22:18:57 +00:00
committed by Patrick Niklaus
parent 6339395cba
commit c6be2e768a
7 changed files with 63 additions and 6 deletions
+5 -1
View File
@@ -102,7 +102,11 @@ template <template <typename A> class FacadeT, typename AlgorithmT> class DataFa
for (const auto &name : params.avoid)
{
auto class_mask_iter = name_to_class.find(name);
if (class_mask_iter != name_to_class.end())
if (class_mask_iter == name_to_class.end())
{
return {};
}
else
{
mask |= class_mask_iter->second;
}
@@ -53,6 +53,7 @@ class ScriptingEnvironment
virtual const ProfileProperties &GetProfileProperties() = 0;
virtual std::vector<std::vector<std::string>> GetAvoidableClasses() = 0;
virtual std::vector<std::string> GetClassNames() = 0;
virtual std::vector<std::string> GetNameSuffixList() = 0;
virtual std::vector<std::string> GetRestrictions() = 0;
virtual void ProcessTurn(ExtractionTurn &turn) = 0;
@@ -60,6 +60,7 @@ class Sol2ScriptingEnvironment final : public ScriptingEnvironment
std::vector<std::vector<std::string>> GetAvoidableClasses() override;
std::vector<std::string> GetNameSuffixList() override;
std::vector<std::string> GetClassNames() override;
std::vector<std::string> GetRestrictions() override;
void ProcessTurn(ExtractionTurn &turn) override;
void ProcessSegment(ExtractionSegment &segment) override;