Mercurial > hg > octave-shane
changeset 2962:5e0fe4c5d52f
[project @ 1997-05-12 03:13:57 by jwe]
author | jwe |
---|---|
date | Mon, 12 May 1997 03:21:56 +0000 |
parents | 8a77d52c9d02 |
children | c0c280cda856 |
files | src/help.cc src/ov-base.cc src/ov-base.h src/ov-bool-mat.cc src/ov-bool-mat.h src/ov-bool.cc src/ov-bool.h src/ov-complex.cc src/ov-complex.h src/ov-cx-mat.cc src/ov-cx-mat.h src/ov-list.cc src/ov-list.h src/ov-range.cc src/ov-range.h src/ov-re-mat.cc src/ov-re-mat.h src/ov-scalar.cc src/ov-scalar.h src/ov-str-mat.cc src/ov-str-mat.h src/ov-struct.cc src/ov-struct.h |
diffstat | 23 files changed, 76 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/src/help.cc +++ b/src/help.cc @@ -53,6 +53,7 @@ #include "help.h" #include "input.h" #include "oct-obj.h" +#include "oct-usr-fcn.h" #include "pager.h" #include "pathsearch.h" #include "pt-pr-code.h" @@ -718,7 +719,7 @@ } DEFUN_TEXT (type, args, nargout, - "type NAME ...]\n\ + "type NAME\n\ \n\ display the definition of each NAME that refers to a function") { @@ -782,7 +783,10 @@ { if (sym_rec->is_user_function ()) { - octave_symbol *defn = sym_rec->def (); + octave_symbol *tmp = sym_rec->def (); + + octave_user_function *defn + = static_cast<octave_user_function *> (tmp); string fn = defn->fcn_file_name (); string ff = fcn_file_in_path (fn); @@ -815,8 +819,7 @@ tree_print_code tpc (output_buf, "", pr_orig_txt); - // XXX FIXME XXX - // defn->accept (tpc); + defn->accept (tpc); } }
--- a/src/ov-base.cc +++ b/src/ov-base.cc @@ -52,7 +52,7 @@ const string octave_base_value::t_name ("<unknown type>"); octave_value -octave_base_value::index (const octave_value_list&) const +octave_base_value::do_index_op (const octave_value_list&) const { string nm = type_name (); error ("can't perform indexing operations for %s type", nm.c_str ()); @@ -68,7 +68,18 @@ } octave_value -octave_base_value::struct_elt_val (const string&, bool) const +octave_base_value::do_struct_elt_index_op (const string&, + const octave_value_list&, + bool) +{ + string nm = type_name (); + error ("can't perform indexed structure reference operations for %s type", + nm.c_str ()); + return octave_value (); +} + +octave_value +octave_base_value::do_struct_elt_index_op (const string&, bool) { string nm = type_name (); error ("can't perform structure reference operations for %s type",
--- a/src/ov-base.h +++ b/src/ov-base.h @@ -70,11 +70,15 @@ octave_value *try_narrowing_conversion (void) { return static_cast<octave_value *> (0); } - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; idx_vector index_vector (void) const; - octave_value struct_elt_val (const string& nm, bool silent) const; + octave_value + do_struct_elt_index_op (const string& nm, const octave_value_list& idx, + bool silent); + + octave_value do_struct_elt_index_op (const string& nm, bool silent); octave_variable_reference struct_elt_ref (octave_value *parent, const string& nm);
--- a/src/ov-bool-mat.cc +++ b/src/ov-bool-mat.cc @@ -79,7 +79,7 @@ } octave_value -octave_bool_matrix::index (const octave_value_list& idx) const +octave_bool_matrix::do_index_op (const octave_value_list& idx) const { octave_value retval;
--- a/src/ov-bool-mat.h +++ b/src/ov-bool-mat.h @@ -75,7 +75,7 @@ octave_value *try_narrowing_conversion (void); - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; void assign (const octave_value_list& idx, const boolMatrix& rhs);
--- a/src/ov-bool.cc +++ b/src/ov-bool.cc @@ -76,7 +76,7 @@ } octave_value -octave_bool::index (const octave_value_list& idx) const +octave_bool::do_index_op (const octave_value_list& idx) const { octave_value retval; @@ -96,7 +96,7 @@ octave_value tmp (new octave_matrix (matrix_value ())); - retval = tmp.index (idx); + retval = tmp.do_index_op (idx); } return retval;
--- a/src/ov-bool.h +++ b/src/ov-bool.h @@ -74,7 +74,7 @@ type_conv_fcn numeric_conversion_function (void) const; - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; idx_vector index_vector (void) const { return idx_vector (scalar); }
--- a/src/ov-complex.cc +++ b/src/ov-complex.cc @@ -73,7 +73,7 @@ } octave_value -octave_complex::index (const octave_value_list& idx) const +octave_complex::do_index_op (const octave_value_list& idx) const { octave_value retval; @@ -93,7 +93,7 @@ octave_value tmp (new octave_complex_matrix (complex_matrix_value ())); - retval = tmp.index (idx); + retval = tmp.do_index_op (idx); } return retval;
--- a/src/ov-complex.h +++ b/src/ov-complex.h @@ -74,7 +74,7 @@ octave_value *try_narrowing_conversion (void); - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; int rows (void) const { return 1; } int columns (void) const { return 1; }
--- a/src/ov-cx-mat.cc +++ b/src/ov-cx-mat.cc @@ -89,7 +89,7 @@ } octave_value -octave_complex_matrix::index (const octave_value_list& idx) const +octave_complex_matrix::do_index_op (const octave_value_list& idx) const { octave_value retval;
--- a/src/ov-cx-mat.h +++ b/src/ov-cx-mat.h @@ -81,7 +81,7 @@ octave_value *try_narrowing_conversion (void); - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; void assign (const octave_value_list& idx, const ComplexMatrix& rhs);
--- a/src/ov-list.cc +++ b/src/ov-list.cc @@ -49,7 +49,7 @@ octave_list::t_name ("list"); octave_value -octave_list::index (const octave_value_list& idx) const +octave_list::do_index_op (const octave_value_list& idx) const { octave_value retval;
--- a/src/ov-list.h +++ b/src/ov-list.h @@ -70,7 +70,7 @@ void operator delete (void *p, size_t size) { allocator.free (p, size); } - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; bool is_defined (void) const { return true; }
--- a/src/ov-range.cc +++ b/src/ov-range.cc @@ -86,7 +86,7 @@ } octave_value -octave_range::index (const octave_value_list& idx) const +octave_range::do_index_op (const octave_value_list& idx) const { // XXX FIXME XXX -- this doesn't solve the problem of // @@ -100,7 +100,7 @@ octave_value tmp (new octave_matrix (range.matrix_value ())); - return tmp.index (idx); + return tmp.do_index_op (idx); } double
--- a/src/ov-range.h +++ b/src/ov-range.h @@ -91,7 +91,7 @@ octave_value *try_narrowing_conversion (void); - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; idx_vector index_vector (void) const { return idx_vector (range); }
--- a/src/ov-re-mat.cc +++ b/src/ov-re-mat.cc @@ -77,7 +77,7 @@ } octave_value -octave_matrix::index (const octave_value_list& idx) const +octave_matrix::do_index_op (const octave_value_list& idx) const { octave_value retval; @@ -215,7 +215,15 @@ } octave_value -octave_matrix::struct_elt_val (const string& nm, bool silent) const +octave_matrix::do_struct_elt_index_op (const string& nm, + const octave_value_list& idx, + bool silent) +{ + // XXX DO_ME XXX +} + +octave_value +octave_matrix::do_struct_elt_index_op (const string& nm, bool silent) { octave_value retval;
--- a/src/ov-re-mat.h +++ b/src/ov-re-mat.h @@ -81,7 +81,7 @@ octave_value *try_narrowing_conversion (void); - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; void assign (const octave_value_list& idx, const Matrix& rhs); @@ -94,7 +94,11 @@ idx_vector index_vector (void) const { return idx_vector (matrix); } - octave_value struct_elt_val (const string& nm, bool silent) const; + octave_value + do_struct_elt_index_op (const string& nm, const octave_value_list& idx, + bool silent); + + octave_value do_struct_elt_index_op (const string& nm, bool silent); octave_variable_reference struct_elt_ref (octave_value *parent, const string& nm);
--- a/src/ov-scalar.cc +++ b/src/ov-scalar.cc @@ -62,7 +62,7 @@ } octave_value -octave_scalar::index (const octave_value_list& idx) const +octave_scalar::do_index_op (const octave_value_list& idx) const { octave_value retval; @@ -82,7 +82,7 @@ octave_value tmp (new octave_matrix (matrix_value ())); - retval = tmp.index (idx); + retval = tmp.do_index_op (idx); } return retval;
--- a/src/ov-scalar.h +++ b/src/ov-scalar.h @@ -73,7 +73,7 @@ void operator delete (void *p, size_t size) { allocator.free (p, size); } - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; idx_vector index_vector (void) const { return idx_vector (scalar); }
--- a/src/ov-str-mat.cc +++ b/src/ov-str-mat.cc @@ -61,7 +61,7 @@ } octave_value -octave_char_matrix_str::index (const octave_value_list& idx) const +octave_char_matrix_str::do_index_op (const octave_value_list& idx) const { octave_value retval;
--- a/src/ov-str-mat.h +++ b/src/ov-str-mat.h @@ -80,7 +80,7 @@ type_conv_fcn numeric_conversion_function (void) const; - octave_value index (const octave_value_list& idx) const; + octave_value do_index_op (const octave_value_list& idx) const; void assign (const octave_value_list& idx, const charMatrix& rhs);
--- a/src/ov-struct.cc +++ b/src/ov-struct.cc @@ -46,7 +46,15 @@ octave_struct::t_name ("struct"); octave_value -octave_struct::struct_elt_val (const string& nm, bool silent) const +octave_struct::do_struct_elt_index_op (const string& nm, + const octave_value_list& idx, + bool silent) +{ + // XXX DO_ME XXX +} + +octave_value +octave_struct::do_struct_elt_index_op (const string& nm, bool silent) { octave_value retval;
--- a/src/ov-struct.h +++ b/src/ov-struct.h @@ -73,7 +73,11 @@ void operator delete (void *p, size_t size) { allocator.free (p, size); } - octave_value struct_elt_val (const string& nm, bool silent) const; + octave_value + do_struct_elt_index_op (const string& nm, const octave_value_list& idx, + bool silent); + + octave_value do_struct_elt_index_op (const string& nm, bool silent); octave_variable_reference struct_elt_ref (octave_value *parent, const string& nm);