diff src/pt-arg-list.h @ 4212:8ad52ec4f374

[project @ 2002-12-04 03:50:45 by jwe]
author jwe
date Wed, 04 Dec 2002 03:50:45 +0000
parents 5719210fff4c
children 23d06c9e1edd
line wrap: on
line diff
--- a/src/pt-arg-list.h	Wed Dec 04 00:43:26 2002 +0000
+++ b/src/pt-arg-list.h	Wed Dec 04 03:50:45 2002 +0000
@@ -41,18 +41,35 @@
 // arguments in a function call or index expression.
 
 class
-tree_argument_list : public SLList<tree_expression *>
+tree_argument_list
 {
 public:
 
   tree_argument_list (void)
-    : SLList<tree_expression *> () { }
+    : lst () { }
 
   tree_argument_list (tree_expression *t)
-    : SLList<tree_expression *> () { append (t); }
+    : lst () { lst.append (t); }
 
   ~tree_argument_list (void);
 
+  int length (void) const { return lst.length (); }
+
+  void append (tree_expression *&s) { lst.append (s); }
+  void append (tree_expression * const &s) { lst.append (s); }
+
+  tree_expression *&operator () (Pix p) { return lst (p); }
+
+  tree_expression * const &operator () (Pix p) const { return lst (p); }
+
+  Pix first (void) const { return lst.first (); }
+
+  void next (Pix& p) const { return lst.next (p); }
+
+  int remove_front (tree_expression *x) { return lst.remove_front (x); }
+
+  tree_expression *remove_front (void) { return lst.remove_front (); }
+
   int nargout_count (void) const;
 
   bool all_elements_are_constant (void) const;
@@ -65,6 +82,9 @@
 
 private:
 
+  // The list of argument list elements.
+  SLList<tree_expression *> lst;
+
   // No copying!
 
   tree_argument_list (const tree_argument_list&);