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)); } }
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; }