Change ParserContext::m_curPath to dataPath_

This will be used for the upcoming key value completion feature.
Completing key values in a nested list means, that I need the whole
context (all keys of parent list instances). That means m_curPath needs
to be changed to dataPath_.

Change-Id: I29a13576802d01df4f1f420be1c73178a263dad7
diff --git a/src/parser_context.hpp b/src/parser_context.hpp
index 5bf1b26..b20c6ab 100644
--- a/src/parser_context.hpp
+++ b/src/parser_context.hpp
@@ -8,10 +8,16 @@
 
 #include "schema.hpp"
 struct ParserContext {
-    ParserContext(const Schema& schema, const schemaPath_& curDir);
+    ParserContext(const Schema& schema, const dataPath_& curDir);
+    schemaPath_ currentSchemaPath();
+    dataPath_ currentDataPath();
+    void clearPath();
+    void pushPathFragment(const dataNode_& node);
+    void pushPathFragment(const schemaNode_& node);
+    void resetPath();
+
     const Schema& m_schema;
-    schemaPath_ m_curPath;
-    const schemaPath_ m_curPathOrig;
+    const dataPath_ m_curPathOrig;
     boost::optional<std::string> m_curModule;
     std::string m_errorMsg;
     std::string m_tmpListName;
@@ -26,4 +32,7 @@
     // filtering by prefix), this suffix gets added to the completion (for
     // example a left bracket after a list)
     std::string m_completionSuffix;
+
+private:
+    boost::variant<dataPath_, schemaPath_> m_curPath;
 };