1 package Analysis.Scheduling;
3 import Analysis.TaskStateAnalysis.FEdge;
4 import Analysis.TaskStateAnalysis.FlagState;
5 import IR.ClassDescriptor;
7 public class ObjectSimulator {
15 public ObjectSimulator(ClassDescriptor cd, FlagState currentFS) {
18 this.currentFS = currentFS;
25 public void applyEdge(FEdge fedge) {
26 if(!currentFS.equals((FlagState)fedge.getTarget())) {
28 currentFS = (FlagState)fedge.getTarget();
34 public ClassDescriptor getCd() {
38 public FlagState getCurrentFS() {
42 public boolean isChanged() {
46 public void setCurrentFS(FlagState currentFS) {
47 /*if(!this.currentFS.equals(currentFS)) {
49 this.currentFS = currentFS;
54 this.currentFS = currentFS;
57 public boolean isHold() {
61 public void setHold(boolean hold) {
65 public boolean isShared() {
69 public void setShared(boolean shared) {
73 public int getVersion() {
77 public void increaseVersion() {