diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-17 19:48:24 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-17 19:48:24 +0100 |
commit | 0422fd52aadf33ab895a60905f21f737e25bf011 (patch) | |
tree | 305a8d5cd90c408877f9981183871bab98c3f18b /src | |
parent | 1456bbf7ab68da3ec3a1eb507a1c15b88e6c782f (diff) | |
parent | 33f617453e3f64d70c6af05058855d6c12749056 (diff) |
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'src')
-rw-r--r-- | src/core/parser/stack/DocumentHandler.cpp | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/core/parser/stack/DocumentHandler.cpp b/src/core/parser/stack/DocumentHandler.cpp index 4038a42..e928a54 100644 --- a/src/core/parser/stack/DocumentHandler.cpp +++ b/src/core/parser/stack/DocumentHandler.cpp @@ -428,16 +428,24 @@ bool DocumentChildHandler::data(Variant &data) } // No field was found that might take the data -- dump the error messages - // from the loggers - logger().error("Could not read data with any of the possible fields:", - SourceLocation{}, MessageMode::NO_CONTEXT); - size_t f = 0; - for (auto field : defaultFields) { - logger().note(std::string("Field ") + Utils::join(field->path(), ".") + - std::string(":"), - SourceLocation{}, MessageMode::NO_CONTEXT); - forks[f].commit(); - f++; + // from the loggers -- or, if there were no primitive fields, clearly state + // this fact + if (defaultFields.empty()) { + logger().error("Got data, but structure \"" + name() + + "\" does not have any primitive field", + data); + } else { + logger().error("Could not read data with any of the possible fields:", + data); + size_t f = 0; + for (auto field : defaultFields) { + logger().note(std::string("Field ") + + Utils::join(field->path(), ".") + + std::string(":"), + SourceLocation{}, MessageMode::NO_CONTEXT); + forks[f].commit(); + f++; + } } return false; } @@ -462,4 +470,4 @@ namespace RttiTypes { const Rtti DocumentField = RttiBuilder<ousia::parser_stack::DocumentField>( "DocumentField").parent(&Node); } -}
\ No newline at end of file +} |