Mercurial > hg > octave-nkf
comparison src/pt-arg-list.cc @ 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 |
---|---|
45 | 45 |
46 // Argument lists. | 46 // Argument lists. |
47 | 47 |
48 tree_argument_list::~tree_argument_list (void) | 48 tree_argument_list::~tree_argument_list (void) |
49 { | 49 { |
50 while (! empty ()) | 50 while (! lst.empty ()) |
51 { | 51 { |
52 tree_expression *t = remove_front (); | 52 tree_expression *t = lst.remove_front (); |
53 delete t; | 53 delete t; |
54 } | 54 } |
55 } | 55 } |
56 | 56 |
57 int | 57 int |
58 tree_argument_list::nargout_count (void) const | 58 tree_argument_list::nargout_count (void) const |
59 { | 59 { |
60 int retval = 0; | 60 int retval = 0; |
61 | 61 |
62 for (Pix p = first (); p != 0; next (p)) | 62 for (Pix p = lst.first (); p != 0; lst.next (p)) |
63 { | 63 { |
64 tree_expression *elt = this->operator () (p); | 64 tree_expression *elt = lst (p); |
65 | 65 |
66 // XXX FIXME XXX -- need to be able to determine whether elt is | 66 // XXX FIXME XXX -- need to be able to determine whether elt is |
67 // an expression that could evaluate to a cs-list object, and if | 67 // an expression that could evaluate to a cs-list object, and if |
68 // so, how many elements are in that list. Ugly! | 68 // so, how many elements are in that list. Ugly! |
69 | 69 |
74 } | 74 } |
75 | 75 |
76 bool | 76 bool |
77 tree_argument_list::all_elements_are_constant (void) const | 77 tree_argument_list::all_elements_are_constant (void) const |
78 { | 78 { |
79 for (Pix p = first (); p != 0; next (p)) | 79 for (Pix p = lst.first (); p != 0; lst.next (p)) |
80 { | 80 { |
81 tree_expression *elt = this->operator () (p); | 81 tree_expression *elt = lst (p); |
82 | 82 |
83 if (! elt->is_constant ()) | 83 if (! elt->is_constant ()) |
84 return false; | 84 return false; |
85 } | 85 } |
86 | 86 |
98 | 98 |
99 octave_value_list args; | 99 octave_value_list args; |
100 int args_len = len; | 100 int args_len = len; |
101 args.resize (args_len); | 101 args.resize (args_len); |
102 | 102 |
103 Pix p = first (); | 103 Pix p = lst.first (); |
104 int j = 0; | 104 int j = 0; |
105 for (int k = 0; k < len; k++) | 105 for (int k = 0; k < len; k++) |
106 { | 106 { |
107 tree_expression *elt = this->operator () (p); | 107 tree_expression *elt = lst (p); |
108 | 108 |
109 if (elt) | 109 if (elt) |
110 { | 110 { |
111 octave_value tmp = elt->rvalue (); | 111 octave_value tmp = elt->rvalue (); |
112 | 112 |
170 | 170 |
171 string_vector retval (len); | 171 string_vector retval (len); |
172 | 172 |
173 int k = 0; | 173 int k = 0; |
174 | 174 |
175 for (Pix p = first (); p; next (p)) | 175 for (Pix p = lst.first (); p; lst.next (p)) |
176 { | 176 { |
177 tree_expression *elt = this->operator () (p); | 177 tree_expression *elt = lst (p); |
178 | 178 |
179 retval(k++) = elt->str_print_code (); | 179 retval(k++) = elt->str_print_code (); |
180 } | 180 } |
181 | 181 |
182 return retval; | 182 return retval; |