summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/callable.cc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-08-15 23:57:48 +0000
committerKarl Berry <karl@freefriends.org>2009-08-15 23:57:48 +0000
commit16d128e5e10d541a78654b86409d5a3539f07708 (patch)
tree66de0af63c3811bb3040c16e9b52c11985f70811 /Build/source/utils/asymptote/callable.cc
parentb20f78c549859ec0e8610bdd3ad904245e86b489 (diff)
asymptote 1.83
git-svn-id: svn://tug.org/texlive/trunk@14696 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/callable.cc')
-rw-r--r--Build/source/utils/asymptote/callable.cc23
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 *)
{