summaryrefslogtreecommitdiff
path: root/src/declare.cc
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2015-06-05 10:26:36 -0400
committerAdrian Thurston <thurston@complang.org>2015-06-05 10:26:36 -0400
commitdb0fd98a4f646abef622684d4228d879a933cbce (patch)
treeb8a7662b964b597ae91e05dae7247caf2d5afe27 /src/declare.cc
parent009deb74e036c25053246ce9b8a21069f8440834 (diff)
downloadcolm-db0fd98a4f646abef622684d4228d879a933cbce.tar.gz
more of the vlist implementation .. moved all test cases to vlist
Diffstat (limited to 'src/declare.cc')
-rw-r--r--src/declare.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/declare.cc b/src/declare.cc
index 2179c7e8..05073547 100644
--- a/src/declare.cc
+++ b/src/declare.cc
@@ -708,6 +708,28 @@ void Compiler::makeDefaultIterators()
objMethod->iterDef = triter;
}
+ /* Value List iterator. */
+ {
+ UniqueType *anyRefUT = findUniqueType( TYPE_REF, anyLangEl );
+ ObjectMethod *objMethod = initFunction( uniqueTypeAny, globalObjectDef,
+ "vlist_iter", IN_HALT, IN_HALT, anyRefUT, true );
+
+ IterDef *triter = findIterDef( IterDef::ValueList );
+ objMethod->iterDef = triter;
+ }
+
+ /* Reverse Value List iterator. */
+ {
+ UniqueType *anyRefUT = findUniqueType( TYPE_REF, anyLangEl );
+ ObjectMethod *objMethod = initFunction( uniqueTypeAny, globalObjectDef,
+ "rev_vlist_iter", IN_HALT, IN_HALT, anyRefUT, true );
+
+ IterDef *triter = findIterDef( IterDef::RevValueList );
+ objMethod->iterDef = triter;
+ }
+
+
+
/* Map iterator. */
{
UniqueType *anyRefUT = findUniqueType( TYPE_REF, anyLangEl );