1
0
forked from GitHub/gf-core

fix the order in which HOAS variables are shown in pgf_graphviz_abstract_tree

This commit is contained in:
krangelov
2021-12-04 18:09:08 +01:00
parent a3d680f317
commit 0b8a1a0de8
2 changed files with 13 additions and 12 deletions

View File

@@ -447,18 +447,15 @@ void PgfPrinter::parg(ref<PgfDTyp> ty, ref<PgfPArg> parg)
puts(")");
}
void PgfPrinter::bindings(size_t n_vars)
void PgfPrinter::bindings(PgfPrintContext *context, size_t n_vars)
{
bool first = true;
PgfPrintContext *context = ctxt;
while (context != NULL && n_vars > 0) {
if (!first) {
puts(",");
first = false;
}
efun(&context->name);
context = context->next;
}
if (context == NULL || n_vars == 0)
return;
bindings(context->next, n_vars-1);
if (n_vars > 1)
puts(",");
efun(&context->name);
}
void PgfPrinter::lvar(size_t var)

View File

@@ -27,6 +27,8 @@ class PGF_INTERNAL_DECL PgfPrinter : public PgfUnmarshaller {
// The marshaller for pattern matching
PgfMarshaller *m;
void bindings(PgfPrintContext *context, size_t n_vars);
public:
PgfPrinter(PgfPrintContext *context, int priority,
PgfMarshaller *marshaller);
@@ -73,7 +75,9 @@ public:
size_t n_exprs, PgfExpr *exprs);
virtual void free_ref(object x);
void bindings(size_t n_vars);
void bindings(size_t n_vars) {
bindings(ctxt,n_vars);
}
};
#endif