aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/watchutils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/watchutils.cpp')
-rw-r--r--src/plugins/debugger/watchutils.cpp173
1 files changed, 0 insertions, 173 deletions
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp
index a494c0d700..576f29811e 100644
--- a/src/plugins/debugger/watchutils.cpp
+++ b/src/plugins/debugger/watchutils.cpp
@@ -695,179 +695,6 @@ void QtDumperHelper::parseQueryTypes(const QStringList &l, Debugger debugger)
}
}
-/* A parse for dumper output:
- * "iname="local.sl",addr="0x0012BA84",value="<3 items>",valuedisabled="true",
- * numchild="3",childtype="QString",childnumchild="0",children=[{name="0",value="<binhex>",
- * valueencoded="2"},{name="1",value="dAB3AG8A",valueencoded="2"},{name="2",
- * value="dABoAHIAZQBlAA==",valueencoded="2"}]"
- * Default implementation can be used for debugging purposes. */
-
-class DumperParser
-{
-public:
- explicit DumperParser(const char *s) : m_s(s) {}
- bool run();
- virtual ~DumperParser() {}
-
-protected:
- // handle 'key="value"'
- virtual bool handleKeyword(const char *k, int size);
- virtual bool handleListStart();
- virtual bool handleListEnd();
- virtual bool handleHashStart();
- virtual bool handleHashEnd();
- virtual bool handleValue(const char *k, int size);
-
-private:
- bool parseHash(int level, const char *&pos);
- bool parseValue(int level, const char *&pos);
- bool parseStringValue(const char *&ptr, int &size, const char *&pos) const;
-
- const char *m_s;
-};
-
-// get a string value with pos at the opening double quote
-bool DumperParser::parseStringValue(const char *&ptr, int &size, const char *&pos) const
-{
- pos++;
- const char *endValuePtr = strchr(pos, '"');
- if (!endValuePtr)
- return false;
- size = endValuePtr - pos;
- ptr = pos;
- pos = endValuePtr + 1;
- return true;
-}
-
-bool DumperParser::run()
-{
- const char *ptr = m_s;
- const bool rc = parseHash(0, ptr);
- if (debug > 1)
- qDebug() << Q_FUNC_INFO << '\n' << m_s << rc;
- return rc;
-}
-
-// Parse a non-empty hash with pos at the first keyword.
-// Curly braces are present at level 0 only.
-// '{a="X", b="X"}'
-bool DumperParser::parseHash(int level, const char *&pos)
-{
- while (true) {
- switch (*pos) {
- case '\0': // EOS is acceptable at level 0 only
- return level == 0;
- case '}':
- pos++;
- return true;
- default:
- break;
- }
- const char *equalsPtr = strchr(pos, '=');
- if (!equalsPtr)
- return false;
- const int keywordLen = equalsPtr - pos;
- if (!handleKeyword(pos, keywordLen))
- return false;
- pos = equalsPtr + 1;
- if (!*pos)
- return false;
- if (!parseValue(level + 1, pos))
- return false;
- if (*pos == ',')
- pos++;
- }
- return false;
-}
-
-bool DumperParser::parseValue(int level, const char *&pos)
-{
- // Simple string literal
- switch (*pos) {
- case '"': {
- const char *valuePtr;
- int valueSize;
- return parseStringValue(valuePtr, valueSize, pos) && handleValue(valuePtr, valueSize);
- }
- // A List. Note that it has a trailing comma '["a",]'
- case '[': {
- if (!handleListStart())
- return false;
- pos++;
- while (true) {
- switch (*pos) {
- case ']':
- pos++;
- return handleListEnd();
- case '\0':
- return false;
- default:
- break;
- }
- if (!parseValue(level + 1, pos))
- return false;
- if (*pos == ',')
- pos++;
- }
- }
- return false;
- // A hash '{a="b",b="c"}'
- case '{': {
- if (!handleHashStart())
- return false;
- pos++;
- if (!parseHash(level + 1, pos))
- return false;
- return handleHashEnd();
- }
- return false;
- }
- return false;
-}
-
-bool DumperParser::handleKeyword(const char *k, int size)
-{
- if (debug > 1)
- qDebug() << Q_FUNC_INFO << '\n' << QByteArray(k, size);
- return true;
-}
-
-bool DumperParser::handleListStart()
-{
- if (debug > 1)
- qDebug() << Q_FUNC_INFO;
- return true;
-}
-
-bool DumperParser::handleListEnd()
-{
- if (debug > 1)
- qDebug() << Q_FUNC_INFO;
- return true;
-}
-
-bool DumperParser::handleHashStart()
-{
- if (debug > 1)
- qDebug() << Q_FUNC_INFO;
- return true;
-}
-
-bool DumperParser::handleHashEnd()
-{
- if (debug > 1)
- qDebug() << Q_FUNC_INFO;
-
- return true;
-}
-
-bool DumperParser::handleValue(const char *k, int size)
-{
- if (debug > 1)
- qDebug() << Q_FUNC_INFO << '\n' << QByteArray(k, size);
- return true;
-}
-
static inline QString qClassName(const QString &qtNamespace, const char *className)
{
if (qtNamespace.isEmpty())