assert: pretty print function calls too
parent
56c3a8b9a2
commit
806f86e4e2
|
@ -119,12 +119,34 @@ pub fn (x Expr) str() string {
|
||||||
CastExpr {
|
CastExpr {
|
||||||
return '${it.typname}(${it.expr.str()})'
|
return '${it.typname}(${it.expr.str()})'
|
||||||
}
|
}
|
||||||
|
CallExpr {
|
||||||
|
sargs := args2str(it.args)
|
||||||
|
if it.is_method {
|
||||||
|
return '${it.left.str()}.${it.name}($sargs)'
|
||||||
|
}
|
||||||
|
return '${it.mod}.${it.name}($sargs)'
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
return '[unhandled expr type ${typeof(x)}]'
|
return '[unhandled expr type ${typeof(x)}]'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn (a CallArg) str() string {
|
||||||
|
if a.is_mut {
|
||||||
|
return 'mut ${a.expr.str()}'
|
||||||
|
}
|
||||||
|
return '${a.expr.str()}'
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn args2str(args []CallArg) string {
|
||||||
|
mut res := []string
|
||||||
|
for a in args {
|
||||||
|
res << a.str()
|
||||||
|
}
|
||||||
|
return res.join(', ')
|
||||||
|
}
|
||||||
|
|
||||||
pub fn (node Stmt) str() string {
|
pub fn (node Stmt) str() string {
|
||||||
match node {
|
match node {
|
||||||
AssignStmt {
|
AssignStmt {
|
||||||
|
|
Loading…
Reference in New Issue