comparison src/DLD-FUNCTIONS/dispatch.cc @ 10154:40dfc0c99116

DLD-FUNCTIONS/*.cc: untabify
author John W. Eaton <jwe@octave.org>
date Wed, 20 Jan 2010 17:33:41 -0500
parents 0c785ad961fa
children cc3aad9dd3ef
comparison
equal deleted inserted replaced
10153:2c28f9d0360f 10154:40dfc0c99116
55 if (nargin > 0) 55 if (nargin > 0)
56 { 56 {
57 const std::string name (args(0).string_value ()); 57 const std::string name (args(0).string_value ());
58 58
59 if (! error_state) 59 if (! error_state)
60 { 60 {
61 octave_value fcn = symbol_table::builtin_find (name); 61 octave_value fcn = symbol_table::builtin_find (name);
62 62
63 if (fcn.is_defined ()) 63 if (fcn.is_defined ())
64 retval = feval (fcn.function_value (), args.splice (0, 1), 64 retval = feval (fcn.function_value (), args.splice (0, 1),
65 nargout); 65 nargout);
66 else 66 else
67 error ("builtin: lookup for symbol `%s' failed", name.c_str ()); 67 error ("builtin: lookup for symbol `%s' failed", name.c_str ());
68 } 68 }
69 else 69 else
70 error ("builtin: expecting function name as first argument"); 70 error ("builtin: expecting function name as first argument");
71 } 71 }
72 else 72 else
73 print_usage (); 73 print_usage ();
74 74
75 return retval; 75 return retval;
99 std::string f, r, t; 99 std::string f, r, t;
100 100
101 if (nargin > 0 && nargin < 4) 101 if (nargin > 0 && nargin < 4)
102 { 102 {
103 if (nargin > 0) 103 if (nargin > 0)
104 { 104 {
105 f = args(0).string_value (); 105 f = args(0).string_value ();
106 106
107 if (error_state) 107 if (error_state)
108 { 108 {
109 error ("dispatch: expecting first argument to be function name"); 109 error ("dispatch: expecting first argument to be function name");
110 return retval; 110 return retval;
111 } 111 }
112 } 112 }
113 113
114 if (nargin > 1) 114 if (nargin > 1)
115 { 115 {
116 r = args(1).string_value (); 116 r = args(1).string_value ();
117 117
118 if (error_state) 118 if (error_state)
119 { 119 {
120 error ("dispatch: expecting second argument to be function name"); 120 error ("dispatch: expecting second argument to be function name");
121 return retval; 121 return retval;
122 } 122 }
123 } 123 }
124 124
125 if (nargin > 2) 125 if (nargin > 2)
126 { 126 {
127 t = args(2).string_value (); 127 t = args(2).string_value ();
128 128
129 if (error_state) 129 if (error_state)
130 { 130 {
131 error ("dispatch: expecting third argument to be type name"); 131 error ("dispatch: expecting third argument to be type name");
132 return retval; 132 return retval;
133 } 133 }
134 } 134 }
135 135
136 if (nargin == 1) 136 if (nargin == 1)
137 { 137 {
138 if (nargout > 0) 138 if (nargout > 0)
139 { 139 {
140 symbol_table::fcn_info::dispatch_map_type dm 140 symbol_table::fcn_info::dispatch_map_type dm
141 = symbol_table::get_dispatch (f); 141 = symbol_table::get_dispatch (f);
142 142
143 size_t len = dm.size (); 143 size_t len = dm.size ();
144 144
145 Cell type_field (len, 1); 145 Cell type_field (len, 1);
146 Cell name_field (len, 1); 146 Cell name_field (len, 1);
147 147
148 symbol_table::fcn_info::dispatch_map_type::const_iterator p 148 symbol_table::fcn_info::dispatch_map_type::const_iterator p
149 = dm.begin (); 149 = dm.begin ();
150 150
151 for (size_t i = 0; i < len; i++) 151 for (size_t i = 0; i < len; i++)
152 { 152 {
153 type_field(i) = p->first; 153 type_field(i) = p->first;
154 name_field(i) = p->second; 154 name_field(i) = p->second;
155 155
156 p++; 156 p++;
157 } 157 }
158 158
159 Octave_map m; 159 Octave_map m;
160 160
161 m.assign ("type", type_field); 161 m.assign ("type", type_field);
162 m.assign ("name", name_field); 162 m.assign ("name", name_field);
163 163
164 retval = m; 164 retval = m;
165 } 165 }
166 else 166 else
167 symbol_table::print_dispatch (octave_stdout, f); 167 symbol_table::print_dispatch (octave_stdout, f);
168 } 168 }
169 else if (nargin == 2) 169 else if (nargin == 2)
170 { 170 {
171 t = r; 171 t = r;
172 symbol_table::clear_dispatch (f, t); 172 symbol_table::clear_dispatch (f, t);
173 } 173 }
174 else 174 else
175 symbol_table::add_dispatch (f, t, r); 175 symbol_table::add_dispatch (f, t, r);
176 } 176 }
177 else 177 else
178 print_usage (); 178 print_usage ();
179 179
180 return retval; 180 return retval;