summaryrefslogtreecommitdiff
path: root/src/plugins/xml
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-12 17:39:53 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-12 17:39:53 +0100
commit1a9b7e81919e4bd52cbb2db2e9e91a244734ab2c (patch)
tree26bf8beec6ac62e5418f0d4831c5e43c1969a464 /src/plugins/xml
parentebac41111fa33790acce7be45e599f8de37e7f43 (diff)
restructured pathTo. Also fixed some issues with that method and made it more general.
Diffstat (limited to 'src/plugins/xml')
-rw-r--r--src/plugins/xml/XmlParser.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/xml/XmlParser.cpp b/src/plugins/xml/XmlParser.cpp
index c51ca8c..63d9df5 100644
--- a/src/plugins/xml/XmlParser.cpp
+++ b/src/plugins/xml/XmlParser.cpp
@@ -131,8 +131,8 @@ public:
preamble(parentNode, fieldName, parent, inField);
// try to find a FieldDescriptor for the given tag if we are not in a
- // field already.
- // TODO: Consider fields of transparent classes
+ // field already. This does _not_ try to construct transparent paths
+ // in between.
if (!inField && parent != nullptr &&
parent->getDescriptor()->hasField(name())) {
Rooted<DocumentField> field{new DocumentField(
@@ -166,7 +166,7 @@ public:
strct, args, name);
} else {
// calculate a path if transparent entities are needed in between.
- auto path = parent->getDescriptor()->pathTo(strct);
+ auto path = parent->getDescriptor()->pathTo(strct, logger());
if (path.empty()) {
throw LoggableException(
std::string("An instance of \"") + strct->getName() +