doString method
Get a string representation of the given expression tree node. @param node Node to @return String
Implementation
String doString(ExpressionNode node) {
var sb = StringBuffer();
String nodeStr;
for (var child in node.nodes) {
if (child.expr != null) {
nodeStr = child.expr!.replaceAll('?', '${child.param}');
} else {
nodeStr = doString(child);
// wrap nested expressions in brackets
if (!Util.isEmpty(nodeStr)) {
nodeStr = '($nodeStr)';
}
}
if (!Util.isEmpty(nodeStr)) {
if (sb.length > 0) {
sb.write(' ');
sb.write(child.type);
sb.write(' ');
}
sb.write(nodeStr);
}
}
return sb.toString();
}