in Sources/SIL/SExpr.swift [100:129]
func printExpr(_ e: SExpr) {
switch e {
case let .symbol(value): print(value)
case let .string(value): print("'\(value)'")
case let .sourceRange(value): print("[\(value)]")
case let .record(name, properties):
print("(")
print(name)
for prop in properties {
switch prop {
case let .value(value):
if case .record(_, _) = value {
print("\n")
indent()
printExpr(value)
unindent()
} else {
print(" ")
printExpr(value)
}
case let .field(name, value):
print(" ")
print(name)
print("=")
printExpr(value)
}
}
print(")")
}
}