diff src/pt-assign.h @ 3208:e8a7163701be

[project @ 1998-11-03 05:12:47 by jwe]
author jwe
date Tue, 03 Nov 1998 05:12:48 +0000
parents 6a7b578b6fb4
children d14c483b3c12
line wrap: on
line diff
--- a/src/pt-assign.h
+++ b/src/pt-assign.h
@@ -116,12 +116,15 @@
 {
 public:
 
-  tree_multi_assignment (bool plhs = false, int l = -1, int c = -1)
-    : tree_expression (l, c), preserve (plhs), lhs (0), rhs (0) { }
+  tree_multi_assignment (bool plhs = false, int l = -1, int c = -1,
+			 octave_value::assign_op t = octave_value::asn_eq)
+    : tree_expression (l, c), lhs (0), rhs (0), preserve (plhs), etype(t) { }
 
   tree_multi_assignment (tree_argument_list *lst, tree_expression *r,
-			 bool plhs = false, int l = -1, int c = -1)
-    : tree_expression (l, c), preserve (plhs), lhs (lst), rhs (r) { }
+			 bool plhs = false, int l = -1, int c = -1,
+			  octave_value::assign_op t = octave_value::asn_eq)
+    : tree_expression (l, c), lhs (lst), rhs (r), preserve (plhs),
+      etype (t) { }
 
   ~tree_multi_assignment (void);
 
@@ -137,6 +140,8 @@
 
   void eval_error (void);
 
+  string oper (void) const;
+
   tree_argument_list *left_hand_side (void) { return lhs; }
 
   tree_expression *right_hand_side (void) { return rhs; }
@@ -145,10 +150,18 @@
 
 private:
 
-  bool preserve;
+  // The left hand side of the assignment.
   tree_argument_list *lhs;
+
+  // The right hand side of the assignment.
   tree_expression *rhs;
 
+  // True if we should not delete the lhs.
+  bool preserve;
+
+  // The type of the expression.
+  octave_value::assign_op etype;
+
   // No copying!
 
   tree_multi_assignment (const tree_multi_assignment&);