Author: dbrosius Date: Mon Feb 28 19:11:50 2005 New Revision: 155744 URL: http://svn.apache.org/viewcvs?view=rev&rev=155744 Log: abstract-ize the private use of collections
Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Annotations.java jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java jakarta/bcel/trunk/src/java/org/apache/bcel/generic/ConstantPoolGen.java jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionHandle.java jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionList.java jakarta/bcel/trunk/src/java/org/apache/bcel/util/BCELFactory.java jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassLoaderRepository.java jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassSet.java jakarta/bcel/trunk/src/java/org/apache/bcel/util/InstructionFinder.java jakarta/bcel/trunk/src/java/org/apache/bcel/util/SyntheticRepository.java jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/Verifier.java jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/VerifierFactory.java jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/statics/Pass2Verifier.java jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/Subroutines.java Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java Mon Feb 28 19:11:50 2005 @@ -19,8 +19,6 @@ import java.io.DataInputStream; import java.io.IOException; -import org.apache.bcel.Constants; - /** * represents the default value of a annotation for a method info * Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Annotations.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Annotations.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Annotations.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Annotations.java Mon Feb 28 19:11:50 2005 @@ -19,8 +19,6 @@ import java.io.DataInputStream; import java.io.IOException; -import org.apache.bcel.Constants; - /** * base class for annotations * Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java Mon Feb 28 19:11:50 2005 @@ -16,9 +16,14 @@ */ package org.apache.bcel.classfile; -import org.apache.bcel.Constants; -import java.io.*; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.Serializable; import java.util.HashMap; +import java.util.Map; + +import org.apache.bcel.Constants; /** * Abstract super class for <em>Attribute</em> objects. Currently the @@ -77,7 +82,7 @@ file.writeInt(length); } - private static HashMap readers = new HashMap(); + private static Map readers = new HashMap(); /** Add an Attribute reader capable of parsing (user-defined) attributes * named "name". You should not add readers for the standard attributes Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java Mon Feb 28 19:11:50 2005 @@ -41,7 +41,7 @@ private byte[] bytes; private String name; - private static HashMap unknown_attributes = new HashMap(); + private static Map unknown_attributes = new HashMap(); /** @return array of unknown attributes, but just one for each kind. */ Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/generic/ConstantPoolGen.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/generic/ConstantPoolGen.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/generic/ConstantPoolGen.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/generic/ConstantPoolGen.java Mon Feb 28 19:11:50 2005 @@ -17,9 +17,24 @@ package org.apache.bcel.generic; -import org.apache.bcel.Constants; -import org.apache.bcel.classfile.*; import java.util.HashMap; +import java.util.Map; + +import org.apache.bcel.Constants; +import org.apache.bcel.classfile.Constant; +import org.apache.bcel.classfile.ConstantCP; +import org.apache.bcel.classfile.ConstantClass; +import org.apache.bcel.classfile.ConstantDouble; +import org.apache.bcel.classfile.ConstantFieldref; +import org.apache.bcel.classfile.ConstantFloat; +import org.apache.bcel.classfile.ConstantInteger; +import org.apache.bcel.classfile.ConstantInterfaceMethodref; +import org.apache.bcel.classfile.ConstantLong; +import org.apache.bcel.classfile.ConstantMethodref; +import org.apache.bcel.classfile.ConstantNameAndType; +import org.apache.bcel.classfile.ConstantPool; +import org.apache.bcel.classfile.ConstantString; +import org.apache.bcel.classfile.ConstantUtf8; /** * This class is used to build up a constant pool. The user adds @@ -139,7 +154,7 @@ } } - private HashMap string_table = new HashMap(); + private Map string_table = new HashMap(); /** * Look for ConstantString in ConstantPool containing String `str'. @@ -178,7 +193,7 @@ return ret; } - private HashMap class_table = new HashMap(); + private Map class_table = new HashMap(); /** * Look for ConstantClass in ConstantPool named `str'. @@ -320,7 +335,7 @@ return ret; } - private HashMap utf8_table = new HashMap(); + private Map utf8_table = new HashMap(); /** * Look for ConstantUtf8 in ConstantPool. @@ -438,7 +453,7 @@ return ret; } - private HashMap n_a_t_table = new HashMap(); + private Map n_a_t_table = new HashMap(); /** * Look for ConstantNameAndType in ConstantPool. @@ -478,7 +493,7 @@ return ret; } - private HashMap cp_table = new HashMap(); + private Map cp_table = new HashMap(); /** * Look for ConstantMethodref in ConstantPool. Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionHandle.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionHandle.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionHandle.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionHandle.java Mon Feb 28 19:11:50 2005 @@ -17,10 +17,13 @@ package org.apache.bcel.generic; -import org.apache.bcel.classfile.Utility; -import java.util.HashSet; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import org.apache.bcel.classfile.Utility; /** * Instances of this class give users a handle to the instructions contained in @@ -44,8 +47,8 @@ InstructionHandle next, prev; // Will be set from the outside Instruction instruction; protected int i_position = -1; // byte code offset of instruction - private HashSet targeters; - private HashMap attributes; + private Set targeters; + private Map attributes; public final InstructionHandle getNext() { return next; } public final InstructionHandle getPrev() { return prev; } Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionList.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionList.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionList.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/generic/InstructionList.java Mon Feb 28 19:11:50 2005 @@ -17,13 +17,18 @@ package org.apache.bcel.generic; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + import org.apache.bcel.Constants; import org.apache.bcel.classfile.Constant; import org.apache.bcel.util.ByteSequence; -import java.io.*; -import java.util.Iterator; -import java.util.HashMap; -import java.util.ArrayList; /** * This class is a container for a list of <a @@ -1037,7 +1042,7 @@ * @return complete, i.e., deep copy of this list */ public InstructionList copy() { - HashMap map = new HashMap(); + Map map = new HashMap(); InstructionList il = new InstructionList(); /* Pass 1: Make copies of all instructions, append them to the new list Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/util/BCELFactory.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/util/BCELFactory.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/util/BCELFactory.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/util/BCELFactory.java Mon Feb 28 19:11:50 2005 @@ -26,7 +26,7 @@ _out = out; } - private HashMap branch_map = new HashMap(); // Map<Instruction, InstructionHandle> + private Map branch_map = new HashMap(); // Map<Instruction, InstructionHandle> public void start() { if(!_mg.isAbstract() && !_mg.isNative()) { Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassLoaderRepository.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassLoaderRepository.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassLoaderRepository.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassLoaderRepository.java Mon Feb 28 19:11:50 2005 @@ -20,6 +20,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.HashMap; +import java.util.Map; import org.apache.bcel.classfile.ClassParser; import org.apache.bcel.classfile.JavaClass; @@ -39,7 +40,7 @@ */ public class ClassLoaderRepository implements Repository { private java.lang.ClassLoader loader; - private HashMap loadedClasses = new HashMap(); // CLASSNAME X JAVACLASS + private Map loadedClasses = new HashMap(); // CLASSNAME X JAVACLASS public ClassLoaderRepository(java.lang.ClassLoader loader) { this.loader = loader; Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassSet.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassSet.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassSet.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/util/ClassSet.java Mon Feb 28 19:11:50 2005 @@ -16,8 +16,10 @@ */ package org.apache.bcel.util; -import java.util.HashMap; import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + import org.apache.bcel.classfile.JavaClass; /** @@ -30,7 +32,7 @@ * @see ClassStack */ public class ClassSet implements java.io.Serializable { - private HashMap _map = new HashMap(); + private Map _map = new HashMap(); public boolean add(JavaClass clazz) { boolean result = false; Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/util/InstructionFinder.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/util/InstructionFinder.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/util/InstructionFinder.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/util/InstructionFinder.java Mon Feb 28 19:11:50 2005 @@ -53,7 +53,7 @@ private static final int OFFSET = 32767; // char + OFFSET is outside of LATIN-1 private static final int NO_OPCODES = 256; // Potential number, some are not used - private static final HashMap map = new HashMap(); // Map<String,Pattern> + private static final Map map = new HashMap(); // Map<String,Pattern> private InstructionList il; private String il_string; // instruction list as string Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/util/SyntheticRepository.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/util/SyntheticRepository.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/util/SyntheticRepository.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/util/SyntheticRepository.java Mon Feb 28 19:11:50 2005 @@ -21,6 +21,7 @@ import java.io.InputStream; import java.lang.ref.SoftReference; import java.util.HashMap; +import java.util.Map; import org.apache.bcel.classfile.ClassParser; import org.apache.bcel.classfile.JavaClass; @@ -49,10 +50,10 @@ public class SyntheticRepository implements Repository { private static final String DEFAULT_PATH = ClassPath.getClassPath(); - private static HashMap _instances = new HashMap(); // CLASSPATH X REPOSITORY + private static Map _instances = new HashMap(); // CLASSPATH X REPOSITORY private ClassPath _path = null; - private HashMap _loadedClasses = new HashMap(); // CLASSNAME X JAVACLASS + private Map _loadedClasses = new HashMap(); // CLASSNAME X JAVACLASS private SyntheticRepository(ClassPath path) { _path = path; Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/Verifier.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/Verifier.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/Verifier.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/Verifier.java Mon Feb 28 19:11:50 2005 @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.verifier.statics.Pass1Verifier; @@ -54,9 +55,9 @@ /** A Pass2Verifier for this Verifier instance. */ private Pass2Verifier p2v; /** The Pass3aVerifiers for this Verifier instance. Key: Interned string specifying the method number. */ - private HashMap p3avs = new HashMap(); + private Map p3avs = new HashMap(); /** The Pass3bVerifiers for this Verifier instance. Key: Interned string specifying the method number. */ - private HashMap p3bvs = new HashMap(); + private Map p3bvs = new HashMap(); /** Returns the VerificationResult for the given pass. */ public VerificationResult doPass1(){ Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/VerifierFactory.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/VerifierFactory.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/VerifierFactory.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/VerifierFactory.java Mon Feb 28 19:11:50 2005 @@ -19,6 +19,7 @@ import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import java.util.Vector; /** @@ -36,7 +37,7 @@ /** * The HashMap that holds the data about the already-constructed Verifier instances. */ - private static HashMap hashMap = new HashMap(); + private static Map hashMap = new HashMap(); /** * The VerifierFactoryObserver instances that observe the VerifierFactory. Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/statics/Pass2Verifier.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/statics/Pass2Verifier.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/statics/Pass2Verifier.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/statics/Pass2Verifier.java Mon Feb 28 19:11:50 2005 @@ -17,18 +17,59 @@ package org.apache.bcel.verifier.statics; -import org.apache.bcel.Constants; -import org.apache.bcel.Repository; -import org.apache.bcel.classfile.*; -import org.apache.bcel.classfile.DescendingVisitor; // Use _this_ one! -import org.apache.bcel.classfile.EmptyVisitor; // Use _this_ one! -import org.apache.bcel.classfile.Visitor; // Use _this_ one! -import org.apache.bcel.classfile.Deprecated; // Use _this_ one! -import org.apache.bcel.generic.*; -import org.apache.bcel.verifier.*; -import org.apache.bcel.verifier.exc.*; import java.util.HashMap; import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import org.apache.bcel.Constants; +import org.apache.bcel.Repository; +import org.apache.bcel.classfile.Attribute; +import org.apache.bcel.classfile.ClassFormatException; +import org.apache.bcel.classfile.Code; +import org.apache.bcel.classfile.CodeException; +import org.apache.bcel.classfile.Constant; +import org.apache.bcel.classfile.ConstantClass; +import org.apache.bcel.classfile.ConstantDouble; +import org.apache.bcel.classfile.ConstantFieldref; +import org.apache.bcel.classfile.ConstantFloat; +import org.apache.bcel.classfile.ConstantInteger; +import org.apache.bcel.classfile.ConstantInterfaceMethodref; +import org.apache.bcel.classfile.ConstantLong; +import org.apache.bcel.classfile.ConstantMethodref; +import org.apache.bcel.classfile.ConstantNameAndType; +import org.apache.bcel.classfile.ConstantPool; +import org.apache.bcel.classfile.ConstantString; +import org.apache.bcel.classfile.ConstantUtf8; +import org.apache.bcel.classfile.ConstantValue; +import org.apache.bcel.classfile.Deprecated; +import org.apache.bcel.classfile.DescendingVisitor; +import org.apache.bcel.classfile.EmptyVisitor; +import org.apache.bcel.classfile.ExceptionTable; +import org.apache.bcel.classfile.Field; +import org.apache.bcel.classfile.InnerClass; +import org.apache.bcel.classfile.InnerClasses; +import org.apache.bcel.classfile.JavaClass; +import org.apache.bcel.classfile.LineNumber; +import org.apache.bcel.classfile.LineNumberTable; +import org.apache.bcel.classfile.LocalVariable; +import org.apache.bcel.classfile.LocalVariableTable; +import org.apache.bcel.classfile.Method; +import org.apache.bcel.classfile.Node; +import org.apache.bcel.classfile.SourceFile; +import org.apache.bcel.classfile.Synthetic; +import org.apache.bcel.classfile.Unknown; +import org.apache.bcel.classfile.Visitor; +import org.apache.bcel.generic.ArrayType; +import org.apache.bcel.generic.ObjectType; +import org.apache.bcel.generic.Type; +import org.apache.bcel.verifier.PassVerifier; +import org.apache.bcel.verifier.VerificationResult; +import org.apache.bcel.verifier.Verifier; +import org.apache.bcel.verifier.VerifierFactory; +import org.apache.bcel.verifier.exc.AssertionViolatedException; +import org.apache.bcel.verifier.exc.ClassConstraintException; +import org.apache.bcel.verifier.exc.LocalVariableInfoInconsistentException; /** * This PassVerifier verifies a class file according to @@ -147,7 +188,7 @@ */ private void every_class_has_an_accessible_superclass(){ try { - HashSet hs = new HashSet(); // save class names to detect circular inheritance + Set hs = new HashSet(); // save class names to detect circular inheritance JavaClass jc = Repository.lookupClass(myOwner.getClassName()); int supidx = -1; @@ -197,7 +238,7 @@ */ private void final_methods_are_not_overridden(){ try { - HashMap hashmap = new HashMap(); + Map hashmap = new HashMap(); JavaClass jc = Repository.lookupClass(myOwner.getClassName()); int supidx = -1; @@ -287,9 +328,9 @@ private final int cplen; // == cp.getLength() -- to save computing power. private DescendingVisitor carrier; - private HashSet field_names = new HashSet(); - private HashSet field_names_and_desc = new HashSet(); - private HashSet method_names_and_desc = new HashSet(); + private Set field_names = new HashSet(); + private Set field_names_and_desc = new HashSet(); + private Set method_names_and_desc = new HashSet(); private CPESSC_Visitor(JavaClass _jc){ jc = _jc; Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java Mon Feb 28 19:11:50 2005 @@ -18,8 +18,8 @@ import java.util.ArrayList; -import java.util.HashMap; import java.util.Hashtable; +import java.util.Map; import org.apache.bcel.generic.ATHROW; import org.apache.bcel.generic.BranchInstruction; @@ -65,12 +65,12 @@ /** * The 'incoming' execution Frames. */ - private HashMap inFrames; // key: the last-executed JSR + private Map inFrames; // key: the last-executed JSR /** * The 'outgoing' execution Frames. */ - private HashMap outFrames; // key: the last-executed JSR + private Map outFrames; // key: the last-executed JSR /** * The 'execution predecessors' - a list of type InstructionContext Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java Mon Feb 28 19:11:50 2005 @@ -17,9 +17,13 @@ package org.apache.bcel.verifier.structurals; -import org.apache.bcel.generic.*; import java.util.HashSet; import java.util.Hashtable; +import java.util.Set; + +import org.apache.bcel.generic.CodeExceptionGen; +import org.apache.bcel.generic.InstructionHandle; +import org.apache.bcel.generic.MethodGen; /** * This class allows easy access to ExceptionHandler objects. @@ -43,8 +47,8 @@ for (int i=0; i<cegs.length; i++){ ExceptionHandler eh = new ExceptionHandler(cegs[i].getCatchType(), cegs[i].getHandlerPC()); for (InstructionHandle ih=cegs[i].getStartPC(); ih != cegs[i].getEndPC().getNext(); ih=ih.getNext()){ - HashSet hs; - hs = (HashSet) exceptionhandlers.get(ih); + Set hs; + hs = (Set) exceptionhandlers.get(ih); if (hs == null){ hs = new HashSet(); exceptionhandlers.put(ih, hs); @@ -59,7 +63,7 @@ * handlers that protect the instruction ih. */ public ExceptionHandler[] getExceptionHandlers(InstructionHandle ih){ - HashSet hs = (HashSet) exceptionhandlers.get(ih); + Set hs = (Set) exceptionhandlers.get(ih); if (hs == null) return new ExceptionHandler[0]; else{ ExceptionHandler[] ret = new ExceptionHandler[hs.size()]; Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/Subroutines.java URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/Subroutines.java?view=diff&r1=155743&r2=155744 ============================================================================== --- jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/Subroutines.java (original) +++ jakarta/bcel/trunk/src/java/org/apache/bcel/verifier/structurals/Subroutines.java Mon Feb 28 19:11:50 2005 @@ -17,14 +17,30 @@ package org.apache.bcel.verifier.structurals; -import org.apache.bcel.generic.*; -import org.apache.bcel.verifier.exc.*; import java.awt.Color; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashSet; import java.util.Hashtable; import java.util.Iterator; +import java.util.Set; + +import org.apache.bcel.generic.ASTORE; +import org.apache.bcel.generic.ATHROW; +import org.apache.bcel.generic.BranchInstruction; +import org.apache.bcel.generic.CodeExceptionGen; +import org.apache.bcel.generic.GotoInstruction; +import org.apache.bcel.generic.IndexedInstruction; +import org.apache.bcel.generic.Instruction; +import org.apache.bcel.generic.InstructionHandle; +import org.apache.bcel.generic.JsrInstruction; +import org.apache.bcel.generic.LocalVariableInstruction; +import org.apache.bcel.generic.MethodGen; +import org.apache.bcel.generic.RET; +import org.apache.bcel.generic.ReturnInstruction; +import org.apache.bcel.generic.Select; +import org.apache.bcel.verifier.exc.AssertionViolatedException; +import org.apache.bcel.verifier.exc.StructuralCodeConstraintException; /** * Instances of this class contain information about the subroutines @@ -71,7 +87,7 @@ private int localVariable = UNSET; /** The instructions that belong to this subroutine. */ - private HashSet instructions = new HashSet(); // Elements: InstructionHandle + private Set instructions = new HashSet(); // Elements: InstructionHandle /* * Refer to the Subroutine interface for documentation. @@ -84,7 +100,7 @@ * The JSR or JSR_W instructions that define this * subroutine by targeting it. */ - private HashSet theJSRs = new HashSet(); + private Set theJSRs = new HashSet(); /** * The RET instruction that leaves this subroutine. @@ -212,7 +228,7 @@ /* Satisfies Subroutine.getRecursivelyAccessedLocalsIndices(). */ public int[] getRecursivelyAccessedLocalsIndices(){ - HashSet s = new HashSet(); + Set s = new HashSet(); int[] lvs = getAccessedLocalsIndices(); for (int j=0; j<lvs.length; j++){ s.add(new Integer(lvs[j])); @@ -232,7 +248,7 @@ * A recursive helper method for getRecursivelyAccessedLocalsIndices(). * @see #getRecursivelyAccessedLocalsIndices() */ - private void _getRecursivelyAccessedLocalsIndicesHelper(HashSet s, Subroutine[] subs){ + private void _getRecursivelyAccessedLocalsIndicesHelper(Set s, Subroutine[] subs){ for (int i=0; i<subs.length; i++){ int[] lvs = subs[i].getAccessedLocalsIndices(); for (int j=0; j<lvs.length; j++){ @@ -249,7 +265,7 @@ */ public int[] getAccessedLocalsIndices(){ //TODO: Implement caching. - HashSet acc = new HashSet(); + Set acc = new HashSet(); if (theRET == null && this != TOPLEVEL){ throw new AssertionViolatedException("This subroutine object must be built up completely before calculating accessed locals."); } @@ -289,7 +305,7 @@ * Satisfies Subroutine.subSubs(). */ public Subroutine[] subSubs(){ - HashSet h = new HashSet(); + Set h = new HashSet(); Iterator i = instructions.iterator(); while (i.hasNext()){ @@ -355,7 +371,7 @@ TOPLEVEL = new SubroutineImpl(); // Calculate "real" subroutines. - HashSet sub_leaders = new HashSet(); // Elements: InstructionHandle + Set sub_leaders = new HashSet(); // Elements: InstructionHandle for (int i=0; i<all.length; i++){ Instruction inst = all[i].getInstruction(); if (inst instanceof JsrInstruction){ @@ -391,7 +407,7 @@ // Now do a BFS from every subroutine leader to find all the // instructions that belong to a subroutine. - HashSet instructions_assigned = new HashSet(); // we don't want to assign an instruction to two or more Subroutine objects. + Set instructions_assigned = new HashSet(); // we don't want to assign an instruction to two or more Subroutine objects. Hashtable colors = new Hashtable(); //Graph colouring. Key: InstructionHandle, Value: java.awt.Color . @@ -485,7 +501,7 @@ * * @throws StructuralCodeConstraintException if the above constraint is not satisfied. */ - private void noRecursiveCalls(Subroutine sub, HashSet set){ + private void noRecursiveCalls(Subroutine sub, Set set){ Subroutine[] subs = sub.subSubs(); for (int i=0; i<subs.length; i++){ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]