private void flattenTask(TaskDescriptor td) {
BlockNode bn=state.getMethodBody(td);
FlatNode fn=flattenBlockNode(bn).getBegin();
- FlatFlagActionNode ffan=new FlatFlagActionNode(false);
+ FlatFlagActionNode ffan=new FlatFlagActionNode(FlatFlagActionNode.PRE);
ffan.addNext(fn);
FlatMethod fm=new FlatMethod(td, ffan);
FlatNode last=fn;
if (con.getFlagEffects()!=null) {
- FlatFlagActionNode ffan=new FlatFlagActionNode(false);
+ FlatFlagActionNode ffan=new FlatFlagActionNode(FlatFlagActionNode.NEWOBJECT);
FlagEffects fes=con.getFlagEffects();
TempDescriptor flagtemp=out_temp;
for(int j=0;j<fes.numEffects();j++) {
}
private NodePair flattenTaskExitNode(TaskExitNode ten) {
- FlatFlagActionNode ffan=new FlatFlagActionNode(true);
+ FlatFlagActionNode ffan=new FlatFlagActionNode(FlatFlagActionNode.TASKEXIT);
updateFlagActionNode(ffan, ten.getFlagEffects());
NodePair fcn=flattenConstraintCheck(ten.getChecks());
ffan.addNext(fcn.getBegin());
public class FlatFlagActionNode extends FlatNode {
Hashtable tempflagpairs;
- boolean taskexit;
+ int taskexit;
+ public static final int NEWOBJECT=0;
+ public static final int PRE=1;
+ public static final int TASKEXIT=2;
- public FlatFlagActionNode(boolean taskexit) {
+
+ public FlatFlagActionNode(int taskexit) {
tempflagpairs=new Hashtable();
this.taskexit=taskexit;
}