@Override public String toString() { StringBuilder sb = new StringBuilder(); if (result != null) { sb.append(result.toString()); sb.append(" = "); } sb.append(name); sb.append(' '); FunctionType ftype = (FunctionType) function.getType(); sb.append(ftype.isVarargs() ? ftype.getDefinition() : ftype.getReturnType().toString()); sb.append(" "); sb.append(function.toString()); sb.append('('); for (int i = 0; i < args.length; i++) { if (i > 0) { sb.append(", "); } sb.append(args[i].getType()); sb.append(' '); sb.append(args[i]); } sb.append(')'); return sb.toString(); }