Fix PPrint specialization for TokenBase<T> subclass
diff --git a/PPrint.cpp b/PPrint.cpp
index c5ad222..a15d6af 100644
--- a/PPrint.cpp
+++ b/PPrint.cpp
@@ -42,3 +42,13 @@
{
QTextStream(stderr) << string << '\n';
}
+
+QString pprint(QList<Token> val)
+{
+ return pprintDense(val);
+}
+
+QString pprint(QList<AstNode> val)
+{
+ return pprintDense(val);
+}
diff --git a/PPrint.h b/PPrint.h
index 09327af..4020752 100644
--- a/PPrint.h
+++ b/PPrint.h
@@ -12,14 +12,11 @@
template <typename T>
QString pprint(T val);
-//template <>
-//QString pprint<Token>(Token val);
+QString pprint(QList<Token> val);
+QString pprint(QList<AstNode> val);
-//template <>
-//QString pprint<AstNode>(AstNode val);
-
-template <typename T, typename std::enable_if_t<std::is_base_of<TokenBase<T>, T>::value>::value = true>
-QString pprint(QList<T> val)
+template <typename T>
+QString pprintDense(QList<T> val)
{
QString out;
int lastType = -1;
@@ -28,7 +25,7 @@
for (const T &v : val)
{
- if ((lastType != v.type() || v.type() != T::SYMBOL) && lastType != -1)
+ if ((lastType != v.type() || v.type() != T::SYM) && lastType != -1)
out += " ";
out += QString(v);