From f761a44b27cc192b1824812fcc449342b112086b Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 18 Jul 2007 19:28:31 +0000 Subject: [PATCH] small change...process clears first, then sets. we implement it this way. could improve precision slightly --- .../TaskStateAnalysis/TaskAnalysis.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Robust/src/Analysis/TaskStateAnalysis/TaskAnalysis.java b/Robust/src/Analysis/TaskStateAnalysis/TaskAnalysis.java index cb8cf702..baf38bcc 100644 --- a/Robust/src/Analysis/TaskStateAnalysis/TaskAnalysis.java +++ b/Robust/src/Analysis/TaskStateAnalysis/TaskAnalysis.java @@ -348,6 +348,23 @@ private boolean isTaskTrigger_tag(TagExpressionList tel, FlagState fs){ processed.add(fstemp); + //Process clears first + for(Iterator it_ttp=ffan.getTempTagPairs();it_ttp.hasNext();) { + TempTagPair ttp=(TempTagPair)it_ttp.next(); + + if (temp==ttp.getTemp()) { + Vector oldprocess=processed; + processed=new Vector(); + + for (Enumeration en=oldprocess.elements();en.hasMoreElements();){ + FlagState fsworking=(FlagState)en.nextElement(); + if (!ffan.getTagChange(ttp)){ + processed.addAll(Arrays.asList(fsworking.clearTag(ttp.getTag()))); + } + } + } + } + //Process sets next for(Iterator it_ttp=ffan.getTempTagPairs();it_ttp.hasNext();) { TempTagPair ttp=(TempTagPair)it_ttp.next(); @@ -359,8 +376,6 @@ private boolean isTaskTrigger_tag(TagExpressionList tel, FlagState fs){ FlagState fsworking=(FlagState)en.nextElement(); if (ffan.getTagChange(ttp)){ processed.addAll(Arrays.asList(fsworking.setTag(ttp.getTag()))); - } else { - processed.addAll(Arrays.asList(fsworking.clearTag(ttp.getTag()))); } } } -- 2.34.1