diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-03-31 23:11:20 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-03-31 23:11:20 -0400 |
commit | 8b95516aef0cd4bd98e2592d6f247882dc88886a (patch) | |
tree | 27d13676d0fbe075c9eb576037c9a117769533e3 | |
parent | 75e947fa0021547f460496d1c3aef5b61af4c669 (diff) | |
download | verbly-8b95516aef0cd4bd98e2592d6f247882dc88886a.tar.gz verbly-8b95516aef0cd4bd98e2592d6f247882dc88886a.tar.bz2 verbly-8b95516aef0cd4bd98e2592d6f247882dc88886a.zip |
Converted asserts in generator to exceptions
-rw-r--r-- | generator/generator.cpp | 3 | ||||
-rw-r--r-- | generator/group.cpp | 4 | ||||
-rw-r--r-- | generator/group.h | 1 | ||||
-rw-r--r-- | generator/lemma.cpp | 8 | ||||
-rw-r--r-- | generator/pronunciation.h | 14 | ||||
-rw-r--r-- | generator/word.h | 14 |
6 files changed, 26 insertions, 18 deletions
diff --git a/generator/generator.cpp b/generator/generator.cpp index 785ec87..e52aa90 100644 --- a/generator/generator.cpp +++ b/generator/generator.cpp | |||
@@ -242,8 +242,7 @@ namespace verbly { | |||
242 | { | 242 | { |
243 | adj.setAdjectivePosition(positioning::postnominal); | 243 | adj.setAdjectivePosition(positioning::postnominal); |
244 | } else { | 244 | } else { |
245 | // Can't happen because of how we specified the regex. | 245 | throw std::logic_error("adjpos_str invalid"); |
246 | assert(false); | ||
247 | } | 246 | } |
248 | } | 247 | } |
249 | } | 248 | } |
diff --git a/generator/group.cpp b/generator/group.cpp index 1ffb9d9..0e609e9 100644 --- a/generator/group.cpp +++ b/generator/group.cpp | |||
@@ -144,8 +144,8 @@ namespace verbly { | |||
144 | 144 | ||
145 | case part::type::invalid: | 145 | case part::type::invalid: |
146 | { | 146 | { |
147 | // Invalid parts should not be serialized. | 147 | throw std::invalid_argument( |
148 | assert(false); | 148 | "Invalid parts should not be serialized"); |
149 | 149 | ||
150 | break; | 150 | break; |
151 | } | 151 | } |
diff --git a/generator/group.h b/generator/group.h index f912920..c8e30e4 100644 --- a/generator/group.h +++ b/generator/group.h | |||
@@ -4,7 +4,6 @@ | |||
4 | #include <map> | 4 | #include <map> |
5 | #include <set> | 5 | #include <set> |
6 | #include <string> | 6 | #include <string> |
7 | #include <cassert> | ||
8 | #include <list> | 7 | #include <list> |
9 | #include <hkutil/database.h> | 8 | #include <hkutil/database.h> |
10 | #include "role.h" | 9 | #include "role.h" |
diff --git a/generator/lemma.cpp b/generator/lemma.cpp index 33ab037..a64e43b 100644 --- a/generator/lemma.cpp +++ b/generator/lemma.cpp | |||
@@ -1,6 +1,6 @@ | |||
1 | #include "lemma.h" | 1 | #include "lemma.h" |
2 | #include <list> | 2 | #include <list> |
3 | #include <cassert> | 3 | #include <stdexcept> |
4 | #include "form.h" | 4 | #include "form.h" |
5 | 5 | ||
6 | namespace verbly { | 6 | namespace verbly { |
@@ -17,8 +17,10 @@ namespace verbly { | |||
17 | 17 | ||
18 | void lemma::addInflection(inflection type, const form& f) | 18 | void lemma::addInflection(inflection type, const form& f) |
19 | { | 19 | { |
20 | // There can only be one base form. | 20 | if (type == inflection::base) |
21 | assert(type != inflection::base); | 21 | { |
22 | throw std::invalid_argument("There can only be one base form"); | ||
23 | } | ||
22 | 24 | ||
23 | inflections_[type].insert(&f); | 25 | inflections_[type].insert(&f); |
24 | } | 26 | } |
diff --git a/generator/pronunciation.h b/generator/pronunciation.h index 163e55e..3190e6d 100644 --- a/generator/pronunciation.h +++ b/generator/pronunciation.h | |||
@@ -2,8 +2,8 @@ | |||
2 | #define PRONUNCIATION_H_584A08DD | 2 | #define PRONUNCIATION_H_584A08DD |
3 | 3 | ||
4 | #include <string> | 4 | #include <string> |
5 | #include <cassert> | ||
6 | #include <hkutil/database.h> | 5 | #include <hkutil/database.h> |
6 | #include <stdexcept> | ||
7 | 7 | ||
8 | namespace verbly { | 8 | namespace verbly { |
9 | namespace generator { | 9 | namespace generator { |
@@ -34,16 +34,20 @@ namespace verbly { | |||
34 | 34 | ||
35 | std::string getRhymePhonemes() const | 35 | std::string getRhymePhonemes() const |
36 | { | 36 | { |
37 | // Calling code should always call hasRhyme first. | 37 | if (rhyme_.empty()) |
38 | assert(!rhyme_.empty()); | 38 | { |
39 | throw std::domain_error("Pronunciation does not have a rhyme"); | ||
40 | } | ||
39 | 41 | ||
40 | return rhyme_; | 42 | return rhyme_; |
41 | } | 43 | } |
42 | 44 | ||
43 | std::string getPrerhyme() const | 45 | std::string getPrerhyme() const |
44 | { | 46 | { |
45 | // Calling code should always call hasRhyme first. | 47 | if (rhyme_.empty()) |
46 | assert(!rhyme_.empty()); | 48 | { |
49 | throw std::domain_error("Pronunciation does not have a rhyme"); | ||
50 | } | ||
47 | 51 | ||
48 | return prerhyme_; | 52 | return prerhyme_; |
49 | } | 53 | } |
diff --git a/generator/word.h b/generator/word.h index 2e469d4..2818202 100644 --- a/generator/word.h +++ b/generator/word.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef WORD_H_91F99D46 | 1 | #ifndef WORD_H_91F99D46 |
2 | #define WORD_H_91F99D46 | 2 | #define WORD_H_91F99D46 |
3 | 3 | ||
4 | #include <cassert> | 4 | #include <stdexcept> |
5 | #include <hkutil/database.h> | 5 | #include <hkutil/database.h> |
6 | #include "../lib/enums.h" | 6 | #include "../lib/enums.h" |
7 | 7 | ||
@@ -61,8 +61,10 @@ namespace verbly { | |||
61 | 61 | ||
62 | int getTagCount() const | 62 | int getTagCount() const |
63 | { | 63 | { |
64 | // Calling code should always call hasTagCount first. | 64 | if (!hasTagCount_) |
65 | assert(hasTagCount_); | 65 | { |
66 | throw std::domain_error("Word does not have a tag count"); | ||
67 | } | ||
66 | 68 | ||
67 | return tagCount_; | 69 | return tagCount_; |
68 | } | 70 | } |
@@ -79,8 +81,10 @@ namespace verbly { | |||
79 | 81 | ||
80 | const group& getVerbGroup() const | 82 | const group& getVerbGroup() const |
81 | { | 83 | { |
82 | // Calling code should always call hasVerbGroup first. | 84 | if (!hasVerbGroup()) |
83 | assert(verbGroup_ != nullptr); | 85 | { |
86 | throw std::domain_error("Word does not have a verb group"); | ||
87 | } | ||
84 | 88 | ||
85 | return *verbGroup_; | 89 | return *verbGroup_; |
86 | } | 90 | } |