aboutsummaryrefslogtreecommitdiffstats
path: root/src/compile.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-10-16 01:53:16 +0000
committerDavid Robillard <d@drobilla.net>2009-10-16 01:53:16 +0000
commitc2d75892af2fdc6b9bf25365a15de5dc63bcc852 (patch)
tree22234de7261ca54f6c1d01e0ff271cbde5af0699 /src/compile.cpp
parent474b2a748bfdb55aac43bba998bc79a5c9d18675 (diff)
downloadresp-c2d75892af2fdc6b9bf25365a15de5dc63bcc852.tar.gz
resp-c2d75892af2fdc6b9bf25365a15de5dc63bcc852.tar.bz2
resp-c2d75892af2fdc6b9bf25365a15de5dc63bcc852.zip
Cons.
git-svn-id: http://svn.drobilla.net/resp/tuplr@235 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/compile.cpp')
-rw-r--r--src/compile.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compile.cpp b/src/compile.cpp
index d525f57..797ae2e 100644
--- a/src/compile.cpp
+++ b/src/compile.cpp
@@ -86,6 +86,16 @@ AIf::compile(CEnv& cenv)
}
CVal
+ACons::compile(CEnv& cenv)
+{
+ const AType* type = cenv.type(this);
+ vector<CVal> fields;
+ for (const_iterator i = begin() + 1; i != end(); ++i)
+ fields.push_back((*i)->compile(cenv));
+ return cenv.engine()->compileTup(cenv, type, fields);
+}
+
+CVal
APrimitive::compile(CEnv& cenv)
{
return cenv.engine()->compilePrimitive(cenv, this);