diff src/pt-pr-code.cc @ 2961:8a77d52c9d02

[project @ 1997-05-12 01:36:04 by jwe]
author jwe
date Mon, 12 May 1997 01:36:24 +0000
parents 194b50e4725b
children 1b47dd00a831
line wrap: on
line diff
--- a/src/pt-pr-code.cc	Mon May 12 00:54:04 1997 +0000
+++ b/src/pt-pr-code.cc	Mon May 12 01:36:24 1997 +0000
@@ -70,10 +70,7 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   tree_expression *op1 = expr.lhs ();
 
@@ -87,8 +84,7 @@
   if (op2)
     op2->accept (*this);
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -104,10 +100,7 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   tree_expression *op1 = expr.base ();
 
@@ -132,8 +125,7 @@
       op2->accept (*this);
     }
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -333,16 +325,12 @@
 {
   indent ();
 
-  bool in_parens = id.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (id, "(");
 
   string nm = id.name ();
   os << (nm.empty () ? string ("(empty)") : nm);
 
-  if (in_parens)
-    os << ")";
+  print_parens (id, ")");
 }
 
 void
@@ -420,10 +408,7 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   tree_indirect_ref *id = expr.ident ();
 
@@ -439,8 +424,7 @@
       os << ")";
     }
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -448,18 +432,14 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   // The name of the indirect ref includes the sub-elements.
 
   string nm = expr.name ();
   os << (nm.empty () ? string ("(empty)") : nm);
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -467,10 +447,7 @@
 {
   indent ();
 
-  bool in_parens = lst.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (lst, "(");
 
   os << "[";
 
@@ -493,8 +470,7 @@
 
   os << "]";
 
-  if (in_parens)
-    os << ")";
+  print_parens (lst, ")");
 }
 
 void
@@ -524,10 +500,7 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   tree_return_list *lhs = expr.left_hand_side ();
 
@@ -551,8 +524,7 @@
   if (rhs)
     rhs->accept (*this);
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -574,15 +546,11 @@
 {
   indent ();
 
-  bool in_parens = val.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (val, "(");
 
   val.print_raw (os, true, print_original_text);
 
-  if (in_parens)
-    os << ")";
+  print_parens (val, ")");
 }
 
 void
@@ -687,10 +655,7 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   tree_expression *e = expr.operand ();
 
@@ -699,8 +664,7 @@
 
   os << expr.oper ();
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -708,10 +672,7 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   os << expr.oper ();
 
@@ -720,8 +681,7 @@
   if (e)
     e->accept (*this);
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -759,10 +719,7 @@
 {
   indent ();
 
-  bool in_parens = expr.is_in_parens ();
-
-  if (in_parens)
-    os << "(";
+  print_parens (expr, "(");
 
   if (! expr.is_ans_assign ())
     {
@@ -788,8 +745,7 @@
   if (rhs)
     rhs->accept (*this);
 
-  if (in_parens)
-    os << ")";
+  print_parens (expr, ")");
 }
 
 void
@@ -1158,6 +1114,15 @@
   curr_print_indent_level = 0;
 }
 
+void
+tree_print_code::print_parens (const tree_expression& expr, const char *txt)
+{
+  int n = expr.paren_count ();
+
+  for (int i = 0; i < n; i++)
+    os << txt;
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***