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) {
48 this.currentFS = currentFS;
51 public boolean isHold() {
55 public void setHold(boolean hold) {
59 public boolean isShared() {
63 public void setShared(boolean shared) {
67 public int getVersion() {
71 public void increaseVersion() {