Mercurial > octave
comparison 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 |
comparison
equal
deleted
inserted
replaced
4211:4804f1151361 | 4212:8ad52ec4f374 |
---|---|
39 | 39 |
40 // Argument lists. Used to hold the list of expressions that are the | 40 // Argument lists. Used to hold the list of expressions that are the |
41 // arguments in a function call or index expression. | 41 // arguments in a function call or index expression. |
42 | 42 |
43 class | 43 class |
44 tree_argument_list : public SLList<tree_expression *> | 44 tree_argument_list |
45 { | 45 { |
46 public: | 46 public: |
47 | 47 |
48 tree_argument_list (void) | 48 tree_argument_list (void) |
49 : SLList<tree_expression *> () { } | 49 : lst () { } |
50 | 50 |
51 tree_argument_list (tree_expression *t) | 51 tree_argument_list (tree_expression *t) |
52 : SLList<tree_expression *> () { append (t); } | 52 : lst () { lst.append (t); } |
53 | 53 |
54 ~tree_argument_list (void); | 54 ~tree_argument_list (void); |
55 | |
56 int length (void) const { return lst.length (); } | |
57 | |
58 void append (tree_expression *&s) { lst.append (s); } | |
59 void append (tree_expression * const &s) { lst.append (s); } | |
60 | |
61 tree_expression *&operator () (Pix p) { return lst (p); } | |
62 | |
63 tree_expression * const &operator () (Pix p) const { return lst (p); } | |
64 | |
65 Pix first (void) const { return lst.first (); } | |
66 | |
67 void next (Pix& p) const { return lst.next (p); } | |
68 | |
69 int remove_front (tree_expression *x) { return lst.remove_front (x); } | |
70 | |
71 tree_expression *remove_front (void) { return lst.remove_front (); } | |
55 | 72 |
56 int nargout_count (void) const; | 73 int nargout_count (void) const; |
57 | 74 |
58 bool all_elements_are_constant (void) const; | 75 bool all_elements_are_constant (void) const; |
59 | 76 |
62 string_vector get_arg_names (void) const; | 79 string_vector get_arg_names (void) const; |
63 | 80 |
64 void accept (tree_walker& tw); | 81 void accept (tree_walker& tw); |
65 | 82 |
66 private: | 83 private: |
84 | |
85 // The list of argument list elements. | |
86 SLList<tree_expression *> lst; | |
67 | 87 |
68 // No copying! | 88 // No copying! |
69 | 89 |
70 tree_argument_list (const tree_argument_list&); | 90 tree_argument_list (const tree_argument_list&); |
71 | 91 |