예제 #1
0
  public DStack(TreeNode head, DataPoolManager dpm) {
    super(dpm);
    _count = TreeUtils.getChildIntegerData(head, Tags.count_tag).intValue();
    _thread_state = TreeUtils.getChildIntegerData(head, Tags.count_tag).intValue();

    Vector frames = TreeUtils.findAllTags(head, Tags.frame_tag);
    _frames = new Vector();
    for (int i = 0; i < frames.size(); i++) {
      TreeNode t = (TreeNode) frames.elementAt(i);
      _frames.addElement(new DFrame(t, dpm));
    }
  }
예제 #2
0
 public boolean equalsTo(Data d) {
   DStack ds = (DStack) d;
   if (ds.getCount() != _count) return false;
   if (ds.getThreadState() != _thread_state) return false;
   Vector fr = ds.getFrames();
   if (fr.size() != _frames.size()) return false;
   for (int i = 0; i < fr.size(); i++) {
     DFrame df1 = (DFrame) fr.elementAt(i);
     DFrame df2 = (DFrame) _frames.elementAt(i);
     if (!df1.equalsTo(df2)) return false;
   }
   return true;
 }