1 package Analysis.TaskStateAnalysis;
7 import java.io.FileWriter;
8 import java.io.FileOutputStream;
11 public class FlagInfo {
12 private Hashtable<ClassDescriptor, FlagDescriptor[]> flags;
15 public FlagInfo(State state) {
17 flags=new Hashtable<ClassDescriptor, FlagDescriptor[]>();
18 getFlagsfromClasses();
21 public FlagDescriptor[] getFlags(ClassDescriptor cd) {
25 /** Builds a table of flags for each class in the Bristlecone
26 * program. It creates one hashtables: one which holds the
27 * ClassDescriptors and arrays of * FlagDescriptors as key-value
30 private void getFlagsfromClasses() {
31 for(Iterator it_classes=state.getClassSymbolTable().getDescriptorsIterator(); it_classes.hasNext();) {
32 ClassDescriptor cd = (ClassDescriptor)it_classes.next();
33 Vector vFlags=new Vector();
34 FlagDescriptor flag[];
37 /* Adding the flags of the super class */
38 ClassDescriptor tmp=cd;
40 for(Iterator it_cflags=tmp.getFlags(); it_cflags.hasNext();) {
41 FlagDescriptor fd = (FlagDescriptor)it_cflags.next();
44 tmp=tmp.getSuperDesc();
47 flag=new FlagDescriptor[vFlags.size()];