1 package Analysis.Scheduling;
3 import Analysis.TaskStateAnalysis.FEdge;
4 import Analysis.TaskStateAnalysis.FlagState;
5 import IR.ClassDescriptor;
7 public class ObjectSimulator {
18 public ObjectSimulator(ClassDescriptor cd,
19 FlagState currentFS) {
21 this.oid = ObjectSimulator.objid++;
23 this.currentFS = currentFS;
30 public void applyEdge(FEdge fedge) {
31 if(!currentFS.equals((FlagState)fedge.getTarget())) {
33 currentFS = (FlagState)fedge.getTarget();
43 public ClassDescriptor getCd() {
47 public FlagState getCurrentFS() {
51 public boolean isChanged() {
55 public void setCurrentFS(FlagState currentFS) {
57 this.currentFS = currentFS;
60 public boolean isHold() {
64 public void setHold(boolean hold) {
68 public boolean isShared() {
72 public void setShared(boolean shared) {
76 public int getVersion() {
80 public void increaseVersion() {