set parent of switch's clauses
authorCésar Natarén <cesar@mono-cvs.ximian.com>
Fri, 28 May 2004 18:25:53 +0000 (18:25 -0000)
committerCésar Natarén <cesar@mono-cvs.ximian.com>
Fri, 28 May 2004 18:25:53 +0000 (18:25 -0000)
svn path=/trunk/mcs/; revision=28373

mcs/class/Microsoft.JScript/Microsoft.JScript/jscript-lexer-parser.g

index 3e3085a9459a1d2938479d39a500dbd299864b5b..bd194b464479527b1e2c1b4412f028256f1bac5d 100644 (file)
@@ -159,12 +159,23 @@ switch_stm [AST parent] returns [Switch sw]
        AST exp = null;
        ArrayList [] clauses = null;
 }
-       : "switch"  OPEN_PARENS exp = expr [parent] CLOSE_PARENS clauses = case_block [parent]
+       : "switch"  OPEN_PARENS exp = expr [sw] CLOSE_PARENS clauses = case_block [sw]
          {
                  sw.exp = exp;
+                 exp.parent = sw;            
+
                  sw.case_clauses = clauses [0];
                  sw.default_clauses = clauses [1];
                  sw.sec_case_clauses = clauses [2];
+
+                 foreach (Clause cc in sw.case_clauses)
+                         foreach (AST ast in cc.stm_list)
+                                 ast.parent = sw;
+                 foreach (AST dc in sw.default_clauses)
+                                 dc.parent = sw;
+                 foreach (Clause cc in sw.case_clauses)
+                         foreach (AST ast in cc.stm_list)
+                                 ast.parent = sw;
          }
        ;