n.accept_pretty_printer self
end
- # Visit a list of `Anode`.
+ # Visit a list of arguments `ANode` with optional parentheses
+ fun visit_args(n: nullable ANodes[ANode]) do
+ if n == null or n.is_empty then return
+ if current_token isa TOpar then
+ consume "("
+ else
+ adds
+ end
+
+ visit_list n
+ if current_token isa TCpar then consume ")"
+ end
+
+ # Visit a list of `ANode`.
fun visit_list(n: nullable ANodes[ANode]) do
if n == null then return
n.accept_pretty_printer self
v.adds
end
v.visit n_atid
- if not n_args.is_empty then
- if n_opar == null then
- v.adds
- else
- v.visit n_opar
- end
- v.visit_list n_args
- v.visit n_cpar
- end
+ v.visit_args n_args
end
end
v.visit n_args.n_exprs.first
if v.current_token isa TCpar then v.skip
else
- if v.current_token isa TOpar then
- v.consume "("
- else
- v.adds
- end
-
- v.visit_list n_args.n_exprs
- if v.current_token isa TCpar then v.consume ")"
+ v.visit_args n_args.n_exprs
end
end
end
end
v.visit n_kwinit
-
- if not n_args.n_exprs.is_empty then
- v.consume "("
- v.visit_list n_args.n_exprs
- v.consume ")"
- end
+ v.visit_args n_args.n_exprs
end
end
v.visit n_id
end
- if not n_args.n_exprs.is_empty then
- v.consume "("
- v.visit_list n_args.n_exprs
- v.consume ")"
- end
+ v.visit_args n_args.n_exprs
end
redef fun is_inlinable do return true
v.visit n_args.n_exprs.first
if v.current_token isa TCpar then v.skip
else
- if v.current_token isa TOpar then
- v.consume "("
- else
- v.adds
- end
-
- v.visit_list n_args.n_exprs
- if v.current_token isa TCpar then v.consume ")"
+ v.visit_args n_args.n_exprs
end
end
end