{
*tmp = *expr->data.operand.left;
tmp->data.constant.value = v;
- if (ex->disc->stringof(ex, tmp, 0, ex->disc))
+ if (ex->disc->stringof(ex, tmp, 0))
exerror("%s: no string representation of %s value",
expr->data.operand.left->data.variable.symbol->name,
extypename(ex, expr->data.operand.left->type));
exerror("cannot convert %s to STRING", extypename(p, type));
if (x->op != CONSTANT) {
if (!BUILTIN(type)) {
- if (p->disc->stringof(p, x, 1, p->disc) < 0) {
+ if (p->disc->stringof(p, x, 1) < 0) {
exerror("cannot convert %s to STRING",
extypename(p, type));
}
}
x = exnewnode(p, cvt, 0, STRING, x, 0);
} else if (!BUILTIN(type)) {
- if (p->disc->stringof(p, x, 0, p->disc) < 0)
+ if (p->disc->stringof(p, x, 0) < 0)
exerror("cannot convert constant %s to STRING",
extypename(p, x->type));
} else
/* binary operator function */
char* (*typename) (int);
/* application type names */
- int (*stringof) (Expr_t *, Exnode_t *, int, Exdisc_t *);
+ int (*stringof) (Expr_t *, Exnode_t *, int);
/* value to string conversion */
Extype_t (*keyf) (Extype_t, int);
/* dictionary key for external type objects */
* Return -1 if conversion cannot be done, 0 otherwise.
* If arg is > 0, conversion unnecessary; just report possibility.
*/
-static int stringOf(Expr_t * prog, Exnode_t * x, int arg, Exdisc_t* disc)
-{
+static int stringOf(Expr_t *prog, Exnode_t *x, int arg) {
Agobj_t *objp;
int rv = 0;