summaryrefslogtreecommitdiff
path: root/src/core/parser/ParserScope.cpp
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-04-09 14:56:28 +0200
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2016-04-25 22:19:34 +0200
commitbc25012753704943808bb8f71d75f27f68c13da9 (patch)
tree6ef71902aa68e3b6058a0ba47c17ddfbd767dcdb /src/core/parser/ParserScope.cpp
parent8e27a8e87344e187d67407a37c8818f91ed016fa (diff)
fixed a bug in the DocumentHandler which lead to problems in case of empty explicit fields.
Diffstat (limited to 'src/core/parser/ParserScope.cpp')
-rw-r--r--src/core/parser/ParserScope.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/parser/ParserScope.cpp b/src/core/parser/ParserScope.cpp
index e5bf6f6..4b0f376 100644
--- a/src/core/parser/ParserScope.cpp
+++ b/src/core/parser/ParserScope.cpp
@@ -25,6 +25,11 @@
#include "ParserScope.hpp"
+#define SCOPE_DEBUG_OUTPUT 0
+#if SCOPE_DEBUG_OUTPUT
+#include <iostream>
+#endif
+
namespace ousia {
/* Class ParserScopeBase */
@@ -214,6 +219,10 @@ void ParserScope::push(Handle<Node> node)
topLevelNodes.push_back(node);
}
nodes.push_back(node);
+
+#if SCOPE_DEBUG_OUTPUT
+ std::cout << "SCOPE: pushed " << node->type()->name << std::endl;
+#endif
}
void ParserScope::pop(Logger &logger)
@@ -233,7 +242,6 @@ void ParserScope::pop(Logger &logger)
}
}
flags.resize(newLen);
-
// Whenever a RootNode is popped from the stack, we have to perform deferred
// resolution and validate the subtree
Rooted<Node> node = nodes.back();
@@ -247,6 +255,10 @@ void ParserScope::pop(Logger &logger)
// Remove the element from the stack
nodes.pop_back();
+
+#if SCOPE_DEBUG_OUTPUT
+ std::cout << "SCOPE: popped " << node->type()->name << std::endl;
+#endif
}
NodeVector<Node> ParserScope::getTopLevelNodes() const { return topLevelNodes; }