diff options
Diffstat (limited to 'Build/source/utils/asymptote/callable.cc')
-rw-r--r-- | Build/source/utils/asymptote/callable.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/callable.cc b/Build/source/utils/asymptote/callable.cc index ba3fe33152c..581c3af2c1c 100644 --- a/Build/source/utils/asymptote/callable.cc +++ b/Build/source/utils/asymptote/callable.cc @@ -18,6 +18,10 @@ void func::call(stack *s) s->run(this); } +void nullfunc::print(ostream& out) { + out << "nullfunc"; +} + bool func::compare(callable* F) { if (func* f=dynamic_cast<func*>(F)) @@ -25,6 +29,13 @@ bool func::compare(callable* F) else return false; } +void func::print(ostream& out) { + out << "func with lambda"; +#ifdef DEBUG_FRAME + out << " " << body->name; +#endif +} + bool bfunc::compare(callable* F) { if (bfunc* f=dynamic_cast<bfunc*>(F)) @@ -32,12 +43,24 @@ bool bfunc::compare(callable* F) else return false; } +void bfunc::print(ostream& out) { + out << "bltin"; +#ifdef DEBUG_BLTIN + out << " " << lookupBltin(func); +#endif +} + void thunk::call(stack *s) { s->push(arg); func->call(s); } +void thunk::print(ostream& out) { + out << "thunk on " << arg << " with "; + func->print(out); +} + nullfunc nullfunc::func; void nullfunc::call(stack *) { |