[From string (line 15) ] @startuml !unquoted function $dump () !$data={"participants" :[ {"id": "cm" ,"label": "customer master","desc": "manages customers"}, {"id": "tm" ,"label": "transaction manager","desc": "manages transactions"}, {"id": "am" ,"label": "account master","desc": "manages accounts"} ]} ':dump data; class dump { !foreach $part in $data.participants + $part.desc; !endfor } !endfunction ^^^^^ This function does not have any !return directive. Declare it as a procedure instead ?