in src/parser/WDL/hermes/wdl_parser.js [29:52]
function _parse_tree_string(parsetree, indent, b64_source, indent_level) {
if (typeof(indent) != 'number' || indent <= 0) {
indent = undefined
}
var indent_str = typeof(indent) !== 'undefined' ? Array(indent * indent_level + 1).join(' ') : ''
if (parsetree instanceof ParseTree) {
var children = []
for (var i in parsetree.children) {
children.push(_parse_tree_string(parsetree.children[i], indent, b64_source, indent_level + 1))
}
if (typeof(indent) == 'undefined' || children.length == 0) {
return '{0}({1}: {2})'.format(indent_str, parsetree.nonterminal.to_string(), children.join(', '))
} else {
return '{0}({1}:\n{2}\n{3})'.format(
indent_str,
parsetree.nonterminal.to_string(),
children.join(',\n'),
indent_str
)
}
} else if (parsetree instanceof Terminal) {
return indent_str + parsetree.to_string(b64_source)
}
}