Changes to generate TaskExit
authorbdemsky <bdemsky>
Wed, 17 May 2006 18:33:54 +0000 (18:33 +0000)
committerbdemsky <bdemsky>
Wed, 17 May 2006 18:33:54 +0000 (18:33 +0000)
Robust/src/IR/Flat/BuildFlat.java
Robust/src/IR/Flat/FKind.java
Robust/src/IR/Flat/FlatFlagActionNode.java
Robust/src/IR/Flat/FlatTaskExitNode.java [deleted file]

index 7cead58fdeaa9dc588c6fc2a49d4f976b6e37d01..f2f95aa4766b6406f0adf4e73dc7914eca1c3617 100644 (file)
@@ -33,7 +33,7 @@ public class BuildFlat {
     private void flattenTask(TaskDescriptor td) {
        BlockNode bn=state.getMethodBody(td);
        FlatNode fn=flattenBlockNode(bn).getBegin();
-       FlatFlagActionNode ffan=new FlatFlagActionNode();
+       FlatFlagActionNode ffan=new FlatFlagActionNode(false);
        ffan.addNext(fn);
        FlatMethod fm=new FlatMethod(td, ffan);
 
@@ -554,10 +554,11 @@ public class BuildFlat {
     }
 
     private NodePair flattenTaskExitNode(TaskExitNode ten) {
-       FlatTaskExitNode tenflat=new FlatTaskExitNode();
-       return new NodePair(tenflat,tenflat);
+       FlatFlagActionNode ffan=new FlatFlagActionNode(true);
+       updateFlagActionNode(ffan, ten.getFlagEffects());
+       return new NodePair(ffan, ffan);
     }
-           
+
     private NodePair flattenSubBlockNode(SubBlockNode sbn) {
        return flattenBlockNode(sbn.getBlockNode());
     }
index b15035c7ed1603c760bda2cb49745ea1a5dd6f0a..304d7eed0788da3eafe3ff8bb840fbf4c181d61f 100644 (file)
@@ -13,6 +13,5 @@ public class FKind {
     public static final int FlatNop=10;    
     public static final int FlatSetElementNode=11;
     public static final int FlatElementNode=12;
-    public static final int FlatTaskExitNode=13;
-    public static final int FlatFlagActionNode=14;
+    public static final int FlatFlagActionNode=13;
 }
index 39994ac2467c819a56cddeade077447d773f9666..a6bff51fdf1bfec33f2db4dfb0c512ada6493887 100644 (file)
@@ -6,9 +6,11 @@ import java.util.Iterator;
 
 public class FlatFlagActionNode extends FlatNode {
     Hashtable tempflagpairs; 
+    boolean taskexit;
 
-    public FlatFlagActionNode() {
+    public FlatFlagActionNode(boolean taskexit) {
        tempflagpairs=new Hashtable();
+       this.taskexit=taskexit;
     }
 
     public void addFlagAction(TempDescriptor td, FlagDescriptor fd, boolean status) {
diff --git a/Robust/src/IR/Flat/FlatTaskExitNode.java b/Robust/src/IR/Flat/FlatTaskExitNode.java
deleted file mode 100644 (file)
index fee0f33..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-package IR.Flat;
-
-public class FlatTaskExitNode extends FlatNode {
-    public FlatTaskExitNode() {
-    }
-
-    public int kind() {
-       return FKind.FlatTaskExitNode;
-    }
-}