diff src/pt-exp-base.h @ 1229:7d7c3eaa1d3b

[project @ 1995-04-10 01:04:13 by jwe]
author jwe
date Mon, 10 Apr 1995 01:04:46 +0000
parents 0326a802cd5c
children 0a5e9e8892a0
line wrap: on
line diff
--- a/src/pt-exp-base.h	Mon Apr 10 00:57:04 1995 +0000
+++ b/src/pt-exp-base.h	Mon Apr 10 01:04:46 1995 +0000
@@ -205,6 +205,30 @@
 			      const Octave_object& args) = 0;
 };
 
+// Used internally.
+
+class
+tree_oct_obj : public tree_multi_val_ret
+{
+public:
+  tree_oct_obj (int l = -1, int c = -1) : tree_multi_val_ret (l, c) { }
+
+  tree_oct_obj (const Octave_object& v, int l = -1, int c = -1)
+    : tree_multi_val_ret (l, c)
+      {
+	values = v;
+      }
+
+  tree_constant eval (int print);
+
+  Octave_object eval (int print, int nargout, const Octave_object& args);
+
+  void print_code (ostream& os) { }
+
+private:
+  Octave_object values;
+};
+
 // A base class for objects that can be evaluated with argument lists.
 
 class
@@ -676,20 +700,23 @@
 tree_multi_assignment_expression : public tree_multi_val_ret
 {
  public:
-  tree_multi_assignment_expression (int l = -1, int c = -1)
+  tree_multi_assignment_expression (int plhs = 0, int l = -1, int c = -1)
     : tree_multi_val_ret (l, c)
       {
 	etype = tree_expression::multi_assignment;
+	preserve = plhs;
 	lhs = 0;
 	rhs = 0;
       }
 
   tree_multi_assignment_expression (tree_return_list *lst,
 				    tree_multi_val_ret *r,
+				    int plhs = 0,
 				    int l = -1, int c = -1)
     : tree_multi_val_ret (l, c)
       {
 	etype = tree_expression::multi_assignment;
+	preserve = plhs;
 	lhs = lst;
 	rhs = r;
       }
@@ -708,6 +735,7 @@
   void print_code (ostream& os);
 
  private:
+  int preserve;
   tree_return_list *lhs;
   tree_multi_val_ret *rhs;
 };