You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jakarta.apache.org by db...@apache.org on 2011/07/22 06:34:39 UTC

svn commit: r1149459 [2/2] - in /jakarta/bcel/trunk/src: examples/ examples/Mini/ main/java/org/apache/bcel/ main/java/org/apache/bcel/classfile/ main/java/org/apache/bcel/generic/ main/java/org/apache/bcel/util/ main/java/org/apache/bcel/verifier/ mai...

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/MethodGen.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/MethodGen.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/MethodGen.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/MethodGen.java Fri Jul 22 04:34:27 2011
@@ -67,13 +67,13 @@ public class MethodGen extends FieldGenO
     private int max_stack;
     private InstructionList il;
     private boolean strip_attributes;
-    private List variable_vec = new ArrayList();
-    private List line_number_vec = new ArrayList();
-    private List exception_vec = new ArrayList();
-    private List throws_vec = new ArrayList();
-    private List code_attrs_vec = new ArrayList();
+    private List<LocalVariableGen> variable_vec = new ArrayList<LocalVariableGen>();
+    private List<LineNumberGen> line_number_vec = new ArrayList<LineNumberGen>();
+    private List<CodeExceptionGen> exception_vec = new ArrayList<CodeExceptionGen>();
+    private List<String> throws_vec = new ArrayList<String>();
+    private List<Attribute> code_attrs_vec = new ArrayList<Attribute>();
     
-    private List[] param_annotations; // Array of lists containing AnnotationGen objects
+    private List<AnnotationEntryGen>[] param_annotations; // Array of lists containing AnnotationGen objects
     private boolean hasParameterAnnotations = false;
     private boolean haveUnpackedParameterAnnotations = false;
     
@@ -469,7 +469,7 @@ public class MethodGen extends FieldGenO
         LineNumber[] ln = new LineNumber[size];
         try {
             for (int i = 0; i < size; i++) {
-                ln[i] = ((LineNumberGen) line_number_vec.get(i)).getLineNumber();
+                ln[i] = line_number_vec.get(i).getLineNumber();
             }
         } catch (ArrayIndexOutOfBoundsException e) {
         } // Never occurs
@@ -534,7 +534,7 @@ public class MethodGen extends FieldGenO
         CodeException[] c_exc = new CodeException[size];
         try {
             for (int i = 0; i < size; i++) {
-                CodeExceptionGen c = (CodeExceptionGen) exception_vec.get(i);
+                CodeExceptionGen c =  exception_vec.get(i);
                 c_exc[i] = c.getCodeException(cp);
             }
         } catch (ArrayIndexOutOfBoundsException e) {
@@ -587,7 +587,7 @@ public class MethodGen extends FieldGenO
         int[] ex = new int[size];
         try {
             for (int i = 0; i < size; i++) {
-                ex[i] = cp.addClass((String) throws_vec.get(i));
+                ex[i] = cp.addClass(throws_vec.get(i));
             }
         } catch (ArrayIndexOutOfBoundsException e) {
         }
@@ -813,7 +813,7 @@ public class MethodGen extends FieldGenO
 
 
     public Type[] getArgumentTypes() {
-        return (Type[]) arg_types.clone();
+        return arg_types.clone();
     }
 
 
@@ -833,7 +833,7 @@ public class MethodGen extends FieldGenO
 
 
     public String[] getArgumentNames() {
-        return (String[]) arg_names.clone();
+        return arg_names.clone();
     }
 
 
@@ -924,8 +924,8 @@ public class MethodGen extends FieldGenO
 
     static final class BranchStack {
 
-        Stack branchTargets = new Stack();
-        Hashtable visitedTargets = new Hashtable();
+        Stack<BranchTarget> branchTargets = new Stack<BranchTarget>();
+        Hashtable<InstructionHandle, BranchTarget> visitedTargets = new Hashtable<InstructionHandle, BranchTarget>();
 
 
         public void push( InstructionHandle target, int stackDepth ) {
@@ -938,7 +938,7 @@ public class MethodGen extends FieldGenO
 
         public BranchTarget pop() {
             if (!branchTargets.empty()) {
-                BranchTarget bt = (BranchTarget) branchTargets.pop();
+                BranchTarget bt = branchTargets.pop();
                 return bt;
             }
             return null;
@@ -1033,14 +1033,14 @@ public class MethodGen extends FieldGenO
         return maxStackDepth;
     }
 
-    private List observers;
+    private List<MethodObserver> observers;
 
 
     /** Add observer for this object.
      */
     public void addObserver( MethodObserver o ) {
         if (observers == null) {
-            observers = new ArrayList();
+            observers = new ArrayList<MethodObserver>();
         }
         observers.add(o);
     }
@@ -1061,8 +1061,8 @@ public class MethodGen extends FieldGenO
      */
     public void update() {
         if (observers != null) {
-            for (Iterator e = observers.iterator(); e.hasNext();) {
-                ((MethodObserver) e.next()).notify(this);
+            for (Iterator<MethodObserver> e = observers.iterator(); e.hasNext();) {
+                e.next().notify(this);
             }
         }
     }
@@ -1088,7 +1088,7 @@ public class MethodGen extends FieldGenO
         }
         
         if (throws_vec.size() > 0) {
-            for (Iterator e = throws_vec.iterator(); e.hasNext();) {
+            for (Iterator<String> e = throws_vec.iterator(); e.hasNext();) {
                 buf.append("\n\t\tthrows ").append(e.next());
             }
         }
@@ -1113,7 +1113,7 @@ public class MethodGen extends FieldGenO
     /**
      * Return a list of AnnotationGen objects representing parameter annotations
      */
-    public List getAnnotationsOnParameter(int i) {
+    public List<AnnotationEntryGen> getAnnotationsOnParameter(int i) {
     	ensureExistingParameterAnnotationsUnpacked();
     	if (!hasParameterAnnotations || i>arg_types.length) return null;
     	return param_annotations[i];
@@ -1145,7 +1145,7 @@ public class MethodGen extends FieldGenO
 				{
 					param_annotations = new List[arg_types.length];
 					for (int j = 0; j < arg_types.length; j++)
-						param_annotations[j] = new ArrayList();
+						param_annotations[j] = new ArrayList<AnnotationEntryGen>();
 				}
 				hasParameterAnnotations = true;
 				ParameterAnnotations rpa = (ParameterAnnotations) attribute;
@@ -1159,7 +1159,7 @@ public class MethodGen extends FieldGenO
 					ParameterAnnotationEntry immutableArray = rpa
 							.getParameterAnnotationEntries()[j];
 					// ... which needs transforming into an AnnotationGen[] ...
-					List mutable = makeMutableVersion(immutableArray.getAnnotationEntries());
+					List<AnnotationEntryGen> mutable = makeMutableVersion(immutableArray.getAnnotationEntries());
 					// ... then add these to any we already know about
 					param_annotations[j].addAll(mutable);
 				}
@@ -1172,9 +1172,9 @@ public class MethodGen extends FieldGenO
 		haveUnpackedParameterAnnotations = true;
 	}
 
-	private List /* AnnotationGen */makeMutableVersion(AnnotationEntry[] mutableArray)
+	private List<AnnotationEntryGen> makeMutableVersion(AnnotationEntry[] mutableArray)
 	{
-		List result = new ArrayList();
+		List<AnnotationEntryGen> result = new ArrayList<AnnotationEntryGen>();
 		for (int i = 0; i < mutableArray.length; i++)
 		{
 			result.add(new AnnotationEntryGen(mutableArray[i], getConstantPool(),
@@ -1192,14 +1192,14 @@ public class MethodGen extends FieldGenO
 			param_annotations = new List[arg_types.length];
 			hasParameterAnnotations = true;
 		}
-		List existingAnnotations = param_annotations[parameterIndex];
+		List<AnnotationEntryGen> existingAnnotations = param_annotations[parameterIndex];
 		if (existingAnnotations != null)
 		{
 			existingAnnotations.add(annotation);
 		}
 		else
 		{
-			List l = new ArrayList();
+			List<AnnotationEntryGen> l = new ArrayList<AnnotationEntryGen>();
 			l.add(annotation);
 			param_annotations[parameterIndex] = l;
 		}

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEW.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEW.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEW.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEW.java Fri Jul 22 04:34:27 2011
@@ -45,8 +45,8 @@ public class NEW extends CPInstruction i
     }
 
 
-    public Class[] getExceptions() {
-        Class[] cs = new Class[2 + ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length];
+    public Class<?>[] getExceptions() {
+        Class<?>[] cs = new Class[2 + ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length];
         System.arraycopy(ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION, 0, cs, 0,
                 ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length);
         cs[ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length + 1] = ExceptionConstants.INSTANTIATION_ERROR;

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEWARRAY.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEWARRAY.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEWARRAY.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/NEWARRAY.java Fri Jul 22 04:34:27 2011
@@ -98,7 +98,7 @@ public class NEWARRAY extends Instructio
     }
 
 
-    public Class[] getExceptions() {
+    public Class<?>[] getExceptions() {
         return new Class[] {
             org.apache.bcel.ExceptionConstants.NEGATIVE_ARRAY_SIZE_EXCEPTION
         };

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTFIELD.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTFIELD.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTFIELD.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTFIELD.java Fri Jul 22 04:34:27 2011
@@ -52,8 +52,8 @@ public class PUTFIELD extends FieldInstr
     }
 
 
-    public Class[] getExceptions() {
-        Class[] cs = new Class[2 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length];
+    public Class<?>[] getExceptions() {
+        Class<?>[] cs = new Class[2 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length];
         System.arraycopy(ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION, 0, cs, 0,
                 ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length);
         cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length + 1] = ExceptionConstants.INCOMPATIBLE_CLASS_CHANGE_ERROR;

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTSTATIC.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTSTATIC.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTSTATIC.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/PUTSTATIC.java Fri Jul 22 04:34:27 2011
@@ -52,8 +52,8 @@ public class PUTSTATIC extends FieldInst
     }
 
 
-    public Class[] getExceptions() {
-        Class[] cs = new Class[1 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length];
+    public Class<?>[] getExceptions() {
+        Class<?>[] cs = new Class[1 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length];
         System.arraycopy(ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION, 0, cs, 0,
                 ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length);
         cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length] = ExceptionConstants.INCOMPATIBLE_CLASS_CHANGE_ERROR;

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ReturnInstruction.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ReturnInstruction.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ReturnInstruction.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/ReturnInstruction.java Fri Jul 22 04:34:27 2011
@@ -68,7 +68,7 @@ public abstract class ReturnInstruction 
     }
 
 
-    public Class[] getExceptions() {
+    public Class<?>[] getExceptions() {
         return new Class[] {
             ExceptionConstants.ILLEGAL_MONITOR_STATE
         };

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/SWITCH.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/SWITCH.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/SWITCH.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/SWITCH.java Fri Jul 22 04:34:27 2011
@@ -49,8 +49,8 @@ public final class SWITCH implements Com
      * @param max_gap maximum gap that may between case branches
      */
     public SWITCH(int[] match, InstructionHandle[] targets, InstructionHandle target, int max_gap) {
-        this.match = (int[]) match.clone();
-        this.targets = (InstructionHandle[]) targets.clone();
+        this.match = match.clone();
+        this.targets = targets.clone();
         if ((match_length = match.length) < 2) {
             instruction = new TABLESWITCH(match, targets, target);
         } else {

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/Type.java Fri Jul 22 04:34:27 2011
@@ -149,20 +149,20 @@ public abstract class Type implements ja
         return buf.toString();
     }
 
-    private static final ThreadLocal consumed_chars = new ThreadLocal() {
+    private static final ThreadLocal<Integer> consumed_chars = new ThreadLocal<Integer>() {
 
-        protected Object initialValue() {
+        protected Integer initialValue() {
             return new Integer(0);
         }
     };//int consumed_chars=0; // Remember position in string, see getArgumentTypes
 
 
-    private static int unwrap( ThreadLocal tl ) {
-        return ((Integer) tl.get()).intValue();
+    private static int unwrap( ThreadLocal<Integer> tl ) {
+        return tl.get().intValue();
     }
 
 
-    private static void wrap( ThreadLocal tl, int value ) {
+    private static void wrap( ThreadLocal<Integer> tl, int value ) {
         tl.set(new Integer(value));
     }
 
@@ -225,7 +225,7 @@ public abstract class Type implements ja
      * @return array of argument types
      */
     public static Type[] getArgumentTypes( String signature ) {
-        List vec = new ArrayList();
+        List<Type> vec = new ArrayList<Type>();
         int index;
         Type[] types;
         try { // Read all declarations between for `(' and `)'
@@ -251,7 +251,7 @@ public abstract class Type implements ja
      * @param cl Java class
      * @return corresponding Type object
      */
-    public static Type getType( java.lang.Class cl ) {
+    public static Type getType( java.lang.Class<?> cl ) {
         if (cl == null) {
             throw new IllegalArgumentException("Class must not be null");
         }
@@ -295,7 +295,7 @@ public abstract class Type implements ja
      * @param classes an array of runtime class objects
      * @return array of corresponding Type objects
      */
-    public static Type[] getTypes( java.lang.Class[] classes ) {
+    public static Type[] getTypes( java.lang.Class<?>[] classes ) {
         Type[] ret = new Type[classes.length];
         for (int i = 0; i < ret.length; i++) {
             ret[i] = getType(classes[i]);
@@ -306,7 +306,7 @@ public abstract class Type implements ja
 
     public static String getSignature( java.lang.reflect.Method meth ) {
         StringBuffer sb = new StringBuffer("(");
-        Class[] params = meth.getParameterTypes(); // avoid clone
+        Class<?>[] params = meth.getParameterTypes(); // avoid clone
         for (int j = 0; j < params.length; j++) {
             sb.append(getType(params[j]).getSignature());
         }

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/BCELFactory.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/BCELFactory.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/BCELFactory.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/BCELFactory.java Fri Jul 22 04:34:27 2011
@@ -78,7 +78,7 @@ class BCELFactory extends EmptyVisitor {
         _out = out;
     }
 
-    private final Map branch_map = new HashMap(); // Map<Instruction, InstructionHandle>
+    private final Map<Instruction, InstructionHandle> branch_map = new HashMap<Instruction, InstructionHandle>();
 
 
     public void start() {
@@ -250,7 +250,7 @@ class BCELFactory extends EmptyVisitor {
     }
 
     // Memorize BranchInstructions that need an update
-    private final List branches = new ArrayList();
+    private final List<BranchInstruction> branches = new ArrayList<BranchInstruction>();
 
 
     public void visitBranchInstruction( BranchInstruction bi ) {
@@ -305,8 +305,8 @@ class BCELFactory extends EmptyVisitor {
 
 
     private void updateBranchTargets() {
-        for (Iterator i = branches.iterator(); i.hasNext();) {
-            BranchInstruction bi = (BranchInstruction) i.next();
+        for (Iterator<BranchInstruction> i = branches.iterator(); i.hasNext();) {
+            BranchInstruction bi = i.next();
             BranchHandle bh = (BranchHandle) branch_map.get(bi);
             int pos = bh.getPosition();
             String name = bi.getName() + "_" + pos;

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoader.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoader.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoader.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoader.java Fri Jul 22 04:34:27 2011
@@ -56,7 +56,7 @@ public class ClassLoader extends java.la
     public static final String[] DEFAULT_IGNORED_PACKAGES = {
             "java.", "javax.", "sun."
     };
-    private Hashtable classes = new Hashtable(); // Hashtable is synchronized thus thread-safe
+    private Hashtable<String, Class<?>> classes = new Hashtable<String, Class<?>>(); // Hashtable is synchronized thus thread-safe
     private String[] ignored_packages;
     private Repository repository = SyntheticRepository.getInstance();
 
@@ -96,11 +96,11 @@ public class ClassLoader extends java.la
     }
 
 
-    protected Class loadClass( String class_name, boolean resolve ) throws ClassNotFoundException {
-        Class cl = null;
+    protected Class<?> loadClass( String class_name, boolean resolve ) throws ClassNotFoundException {
+        Class<?> cl = null;
         /* First try: lookup hash table.
          */
-        if ((cl = (Class) classes.get(class_name)) == null) {
+        if ((cl = classes.get(class_name)) == null) {
             /* Second try: Load system class using system class loader. You better
              * don't mess around with them.
              */

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassLoaderRepository.java Fri Jul 22 04:34:27 2011
@@ -41,7 +41,7 @@ public class ClassLoaderRepository imple
 
     private static final long serialVersionUID = -1052781833503868187L;
     private java.lang.ClassLoader loader;
-    private Map loadedClasses = new HashMap(); // CLASSNAME X JAVACLASS
+    private Map<String, JavaClass> loadedClasses = new HashMap<String, JavaClass>(); // CLASSNAME X JAVACLASS
 
 
     public ClassLoaderRepository(java.lang.ClassLoader loader) {
@@ -71,7 +71,7 @@ public class ClassLoaderRepository imple
      */
     public JavaClass findClass( String className ) {
         if (loadedClasses.containsKey(className)) {
-            return (JavaClass) loadedClasses.get(className);
+            return loadedClasses.get(className);
         } else {
             return null;
         }
@@ -102,7 +102,7 @@ public class ClassLoaderRepository imple
     }
 
 
-    public JavaClass loadClass( Class clazz ) throws ClassNotFoundException {
+    public JavaClass loadClass( Class<?> clazz ) throws ClassNotFoundException {
         return loadClass(clazz.getName());
     }
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassPath.java Fri Jul 22 04:34:27 2011
@@ -63,7 +63,7 @@ public class ClassPath implements Serial
      */
     public ClassPath(String class_path) {
         this.class_path = class_path;
-        List vec = new ArrayList();
+        List<PathEntry> vec = new ArrayList<PathEntry>();
         for (StringTokenizer tok = new StringTokenizer(class_path, System
                 .getProperty("path.separator")); tok.hasMoreTokens();) {
             String path = tok.nextToken();
@@ -122,7 +122,7 @@ public class ClassPath implements Serial
     }
 
 
-    private static final void getPathComponents( String path, List list ) {
+    private static final void getPathComponents( String path, List<String> list ) {
         if (path != null) {
             StringTokenizer tok = new StringTokenizer(path, File.pathSeparator);
             while (tok.hasMoreTokens()) {
@@ -145,13 +145,13 @@ public class ClassPath implements Serial
         String class_path = System.getProperty("java.class.path");
         String boot_path = System.getProperty("sun.boot.class.path");
         String ext_path = System.getProperty("java.ext.dirs");
-        List list = new ArrayList();
+        List<String> list = new ArrayList<String>();
         getPathComponents(class_path, list);
         getPathComponents(boot_path, list);
-        List dirs = new ArrayList();
+        List<String> dirs = new ArrayList<String>();
         getPathComponents(ext_path, dirs);
-        for (Iterator e = dirs.iterator(); e.hasNext();) {
-            File ext_dir = new File((String) e.next());
+        for (Iterator<String> e = dirs.iterator(); e.hasNext();) {
+            File ext_dir = new File(e.next());
             String[] extensions = ext_dir.list(new FilenameFilter() {
 
                 public boolean accept( File dir, String name ) {
@@ -166,8 +166,8 @@ public class ClassPath implements Serial
             }
         }
         StringBuffer buf = new StringBuffer();
-        for (Iterator e = list.iterator(); e.hasNext();) {
-            buf.append((String) e.next());
+        for (Iterator<String> e = list.iterator(); e.hasNext();) {
+            buf.append(e.next());
             if (e.hasNext()) {
                 buf.append(File.pathSeparatorChar);
             }
@@ -237,8 +237,8 @@ public class ClassPath implements Serial
      * @return An Enumeration of URLs supplying the resource, or an
      * empty Enumeration if no resource with that name.
      */
-    public Enumeration getResources(String name) {
-        Vector results = new Vector();
+    public Enumeration<URL> getResources(String name) {
+        Vector<URL> results = new Vector<URL>();
         for (int i = 0; i < paths.length; i++) {
             URL url;
             if ((url = paths[i].getResource(name)) != null) {

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassQueue.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassQueue.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassQueue.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassQueue.java Fri Jul 22 04:34:27 2011
@@ -30,7 +30,7 @@ import org.apache.bcel.classfile.JavaCla
 public class ClassQueue implements java.io.Serializable {
 
     private static final long serialVersionUID = 685144104322420292L;
-    protected LinkedList vec = new LinkedList();
+    protected LinkedList<JavaClass> vec = new LinkedList<JavaClass>();
 
 
     public void enqueue( JavaClass clazz ) {
@@ -39,7 +39,7 @@ public class ClassQueue implements java.
 
 
     public JavaClass dequeue() {
-        return (JavaClass) vec.removeFirst();
+        return vec.removeFirst();
     }
 
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassSet.java Fri Jul 22 04:34:27 2011
@@ -34,7 +34,7 @@ import org.apache.bcel.classfile.JavaCla
 public class ClassSet implements java.io.Serializable {
 
     private static final long serialVersionUID = -7476907380350035254L;
-    private Map _map = new HashMap();
+    private Map<String, JavaClass> _map = new HashMap<String, JavaClass>();
 
 
     public boolean add( JavaClass clazz ) {
@@ -58,7 +58,7 @@ public class ClassSet implements java.io
 
 
     public JavaClass[] toArray() {
-        Collection values = _map.values();
+        Collection<JavaClass> values = _map.values();
         JavaClass[] classes = new JavaClass[values.size()];
         values.toArray(classes);
         return classes;
@@ -66,6 +66,6 @@ public class ClassSet implements java.io
 
 
     public String[] getClassNames() {
-        return (String[]) _map.keySet().toArray(new String[_map.keySet().size()]);
+        return _map.keySet().toArray(new String[_map.keySet().size()]);
     }
 }

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassStack.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassStack.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassStack.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassStack.java Fri Jul 22 04:34:27 2011
@@ -30,7 +30,7 @@ import org.apache.bcel.classfile.JavaCla
 public class ClassStack implements java.io.Serializable {
 
     private static final long serialVersionUID = 6126079269396985982L;
-    private Stack stack = new Stack();
+    private Stack<JavaClass> stack = new Stack<JavaClass>();
 
 
     public void push( JavaClass clazz ) {
@@ -39,12 +39,12 @@ public class ClassStack implements java.
 
 
     public JavaClass pop() {
-        return (JavaClass) stack.pop();
+        return stack.pop();
     }
 
 
     public JavaClass top() {
-        return (JavaClass) stack.peek();
+        return stack.peek();
     }
 
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/ClassVector.java Fri Jul 22 04:34:27 2011
@@ -33,7 +33,7 @@ import org.apache.bcel.classfile.JavaCla
 public class ClassVector implements java.io.Serializable {
 
     private static final long serialVersionUID = 5600397075672780806L;
-    protected List vec = new ArrayList();
+    protected List<JavaClass> vec = new ArrayList<JavaClass>();
 
 
     public void addElement( JavaClass clazz ) {
@@ -42,7 +42,7 @@ public class ClassVector implements java
 
 
     public JavaClass elementAt( int index ) {
-        return (JavaClass) vec.get(index);
+        return vec.get(index);
     }
 
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/InstructionFinder.java Fri Jul 22 04:34:27 2011
@@ -73,7 +73,7 @@ public class InstructionFinder {
     // LATIN-1
     private static final int NO_OPCODES = 256; // Potential number,
     // some are not used
-    private static final Map map = new HashMap(); // Map<String,Pattern>
+    private static final Map<String, String> map = new HashMap<String, String>();
     private InstructionList il;
     private String il_string; // instruction list
     // as string
@@ -116,7 +116,7 @@ public class InstructionFinder {
      * @return encoded string for a pattern such as "BranchInstruction".
      */
     private static final String mapName( String pattern ) {
-        String result = (String) map.get(pattern);
+        String result = map.get(pattern);
         if (result != null) {
             return result;
         }
@@ -210,7 +210,7 @@ public class InstructionFinder {
      * @return iterator of matches where e.nextElement() returns an array of
      *         instruction handles describing the matched area
      */
-    public final Iterator search( String pattern, InstructionHandle from, CodeConstraint constraint ) {
+    public final Iterator<InstructionHandle[]> search( String pattern, InstructionHandle from, CodeConstraint constraint ) {
         String search = compilePattern(pattern);
         int start = -1;
         for (int i = 0; i < handles.length; i++) {
@@ -224,7 +224,7 @@ public class InstructionFinder {
                     + " not found in instruction list.");
         }
         Pattern regex = Pattern.compile(search);
-        List matches = new ArrayList();
+        List<InstructionHandle[]> matches = new ArrayList<InstructionHandle[]>();
         Matcher matcher = regex.matcher(il_string);
         while (start < il_string.length() && matcher.find(start)) {
             int startExpr = matcher.start();
@@ -248,7 +248,7 @@ public class InstructionFinder {
      * @return iterator of matches where e.nextElement() returns an array of
      *         instruction handles describing the matched area
      */
-    public final Iterator search( String pattern ) {
+    public final Iterator<InstructionHandle[]> search( String pattern ) {
         return search(pattern, il.getStart(), null);
     }
 
@@ -263,7 +263,7 @@ public class InstructionFinder {
      * @return iterator of matches where e.nextElement() returns an array of
      *         instruction handles describing the matched area
      */
-    public final Iterator search( String pattern, InstructionHandle from ) {
+    public final Iterator<InstructionHandle[]> search( String pattern, InstructionHandle from ) {
         return search(pattern, from, null);
     }
 
@@ -278,7 +278,7 @@ public class InstructionFinder {
      *          constraints to be checked on matching code
      * @return instruction handle or `null' if the match failed
      */
-    public final Iterator search( String pattern, CodeConstraint constraint ) {
+    public final Iterator<InstructionHandle[]> search( String pattern, CodeConstraint constraint ) {
         return search(pattern, il.getStart(), constraint);
     }
 
@@ -363,9 +363,9 @@ public class InstructionFinder {
 		map.put("fstore", precompile(Constants.FSTORE_0, Constants.FSTORE_3, Constants.FSTORE));
 		map.put("astore", precompile(Constants.ASTORE_0, Constants.ASTORE_3, Constants.ASTORE));
 		// Compile strings
-		for (Iterator i = map.keySet().iterator(); i.hasNext();) {
-			String key = (String) i.next();
-			String value = (String) map.get(key);
+		for (Iterator<String> i = map.keySet().iterator(); i.hasNext();) {
+			String key = i.next();
+			String value = map.get(key);
 			char ch = value.charAt(1); // Omit already precompiled patterns
 			if (ch < OFFSET) {
 				map.put(key, compilePattern(value)); // precompile all

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/JavaWrapper.java Fri Jul 22 04:34:27 2011
@@ -70,7 +70,7 @@ public class JavaWrapper {
      * @param argv the arguments just as you would pass them directly
      */
     public void runMain( String class_name, String[] argv ) throws ClassNotFoundException {
-        Class cl = loader.loadClass(class_name);
+        Class<?> cl = loader.loadClass(class_name);
         Method method = null;
         try {
             method = cl.getMethod("main", new Class[] {
@@ -79,7 +79,7 @@ public class JavaWrapper {
             /* Method main is sane ?
              */
             int m = method.getModifiers();
-            Class r = method.getReturnType();
+            Class<?> r = method.getReturnType();
             if (!(Modifier.isPublic(m) && Modifier.isStatic(m)) || Modifier.isAbstract(m)
                     || (r != Void.TYPE)) {
                 throw new NoSuchMethodException();

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/Repository.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/Repository.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/Repository.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/Repository.java Fri Jul 22 04:34:27 2011
@@ -60,7 +60,7 @@ public interface Repository extends java
     /**
      * Find the JavaClass instance for the given run-time class object
      */
-    public JavaClass loadClass( Class clazz ) throws java.lang.ClassNotFoundException;
+    public JavaClass loadClass( Class<?> clazz ) throws java.lang.ClassNotFoundException;
 
 
     /** Clear all entries from cache.

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/util/SyntheticRepository.java Fri Jul 22 04:34:27 2011
@@ -45,9 +45,9 @@ public class SyntheticRepository impleme
 
     private static final long serialVersionUID = 2923440730410019444L;
     //private static final String DEFAULT_PATH = ClassPath.getClassPath();
-    private static final Map _instances = new HashMap(); // CLASSPATH X REPOSITORY
+    private static final Map<ClassPath, SyntheticRepository> _instances = new HashMap<ClassPath, SyntheticRepository>(); // CLASSPATH X REPOSITORY
     private ClassPath _path = null;
-    private Map _loadedClasses = new HashMap(); // CLASSNAME X JAVACLASS
+    private Map<String, SoftReference<JavaClass>> _loadedClasses = new HashMap<String, SoftReference<JavaClass>>(); // CLASSNAME X JAVACLASS
 
 
     private SyntheticRepository(ClassPath path) {
@@ -61,7 +61,7 @@ public class SyntheticRepository impleme
 
 
     public static SyntheticRepository getInstance( ClassPath classPath ) {
-        SyntheticRepository rep = (SyntheticRepository) _instances.get(classPath);
+        SyntheticRepository rep = _instances.get(classPath);
         if (rep == null) {
             rep = new SyntheticRepository(classPath);
             _instances.put(classPath, rep);
@@ -74,7 +74,7 @@ public class SyntheticRepository impleme
      * Store a new JavaClass instance into this Repository.
      */
     public void storeClass( JavaClass clazz ) {
-        _loadedClasses.put(clazz.getClassName(), new SoftReference(clazz));
+        _loadedClasses.put(clazz.getClassName(), new SoftReference<JavaClass>(clazz));
         clazz.setRepository(this);
     }
 
@@ -91,11 +91,11 @@ public class SyntheticRepository impleme
      * Find an already defined (cached) JavaClass object by name.
      */
     public JavaClass findClass( String className ) {
-        SoftReference ref = (SoftReference) _loadedClasses.get(className);
+        SoftReference<JavaClass> ref = _loadedClasses.get(className);
         if (ref == null) {
             return null;
         }
-        return (JavaClass) ref.get();
+        return ref.get();
     }
 
 
@@ -141,7 +141,7 @@ public class SyntheticRepository impleme
      * @throws ClassNotFoundException if the class is not in the
      *   Repository, and its representation could not be found
      */
-    public JavaClass loadClass( Class clazz ) throws ClassNotFoundException {
+    public JavaClass loadClass( Class<?> clazz ) throws ClassNotFoundException {
     	InputStream clsStream = null;
     	try{
 	        String className = clazz.getName();

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/PassVerifier.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/PassVerifier.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/PassVerifier.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/PassVerifier.java Fri Jul 22 04:34:27 2011
@@ -49,7 +49,7 @@ import java.util.List;
 public abstract class PassVerifier {
 
     /** The (warning) messages. */
-    private List messages = new ArrayList(); //Type of elements: String
+    private List<String> messages = new ArrayList<String>();
     /** The VerificationResult cache. */
     private VerificationResult verificationResult = null;
 
@@ -101,6 +101,6 @@ public abstract class PassVerifier {
      */
     public String[] getMessages() {
         verify(); // create messages if not already done (cached!)
-        return (String[]) messages.toArray(new String[messages.size()]);
+        return messages.toArray(new String[messages.size()]);
     }
 }

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/Verifier.java Fri Jul 22 04:34:27 2011
@@ -20,7 +20,9 @@ package org.apache.bcel.verifier;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
+
 import org.apache.bcel.classfile.JavaClass;
 import org.apache.bcel.verifier.statics.Pass1Verifier;
 import org.apache.bcel.verifier.statics.Pass2Verifier;
@@ -54,9 +56,9 @@ public class Verifier {
     /** A Pass2Verifier for this Verifier instance. */
     private Pass2Verifier p2v;
     /** The Pass3aVerifiers for this Verifier instance. Key: Interned string specifying the method number. */
-    private Map p3avs = new HashMap();
+    private Map<String, Pass3aVerifier> p3avs = new HashMap<String, Pass3aVerifier>();
     /** The Pass3bVerifiers for this Verifier instance. Key: Interned string specifying the method number. */
-    private Map p3bvs = new HashMap();
+    private Map<String, Pass3bVerifier> p3bvs = new HashMap<String, Pass3bVerifier>();
 
 
     /** Returns the VerificationResult for the given pass. */
@@ -81,7 +83,7 @@ public class Verifier {
     public VerificationResult doPass3a( int method_no ) {
         String key = Integer.toString(method_no);
         Pass3aVerifier p3av;
-        p3av = (Pass3aVerifier) (p3avs.get(key));
+        p3av = p3avs.get(key);
         if (p3avs.get(key) == null) {
             p3av = new Pass3aVerifier(this, method_no);
             p3avs.put(key, p3av);
@@ -94,7 +96,7 @@ public class Verifier {
     public VerificationResult doPass3b( int method_no ) {
         String key = Integer.toString(method_no);
         Pass3bVerifier p3bv;
-        p3bv = (Pass3bVerifier) (p3bvs.get(key));
+        p3bv = p3bvs.get(key);
         if (p3bvs.get(key) == null) {
             p3bv = new Pass3bVerifier(this, method_no);
             p3bvs.put(key, p3bv);
@@ -145,7 +147,7 @@ public class Verifier {
      * A prefix shows from which verifying pass a message originates.
      */
     public String[] getMessages() throws ClassNotFoundException {
-        ArrayList messages = new ArrayList();
+        List<String> messages = new ArrayList<String>();
         if (p1v != null) {
             String[] p1m = p1v.getMessages();
             for (int i = 0; i < p1m.length; i++) {
@@ -158,9 +160,9 @@ public class Verifier {
                 messages.add("Pass 2: " + p2m[i]);
             }
         }
-        Iterator p3as = p3avs.values().iterator();
+        Iterator<Pass3aVerifier> p3as = p3avs.values().iterator();
         while (p3as.hasNext()) {
-            Pass3aVerifier pv = (Pass3aVerifier) p3as.next();
+            Pass3aVerifier pv = p3as.next();
             String[] p3am = pv.getMessages();
             int meth = pv.getMethodNo();
             for (int i = 0; i < p3am.length; i++) {
@@ -169,9 +171,9 @@ public class Verifier {
                         + "'): " + p3am[i]);
             }
         }
-        Iterator p3bs = p3bvs.values().iterator();
+        Iterator<Pass3bVerifier> p3bs = p3bvs.values().iterator();
         while (p3bs.hasNext()) {
-            Pass3bVerifier pv = (Pass3bVerifier) p3bs.next();
+            Pass3bVerifier pv = p3bs.next();
             String[] p3bm = pv.getMessages();
             int meth = pv.getMethodNo();
             for (int i = 0; i < p3bm.length; i++) {
@@ -182,7 +184,7 @@ public class Verifier {
         }
         String[] ret = new String[messages.size()];
         for (int i = 0; i < messages.size(); i++) {
-            ret[i] = (String) messages.get(i);
+            ret[i] = messages.get(i);
         }
         return ret;
     }

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactory.java Fri Jul 22 04:34:27 2011
@@ -38,11 +38,11 @@ public class VerifierFactory {
     /**
      * The HashMap that holds the data about the already-constructed Verifier instances.
      */
-    private static final Map hashMap = new HashMap();
+    private static final Map<String, Verifier> hashMap = new HashMap<String, Verifier>();
     /**
      * The VerifierFactoryObserver instances that observe the VerifierFactory.
      */
-    private static final List observers = new Vector();
+    private static final List<VerifierFactoryObserver> observers = new Vector<VerifierFactoryObserver>();
 
 
     /**
@@ -58,7 +58,7 @@ public class VerifierFactory {
      * @return the (only) verifier responsible for the class with the given name.
      */
     public static Verifier getVerifier( String fully_qualified_classname ) {
-        Verifier v = (Verifier) (hashMap.get(fully_qualified_classname));
+        Verifier v = hashMap.get(fully_qualified_classname);
         if (v == null) {
             v = new Verifier(fully_qualified_classname);
             hashMap.put(fully_qualified_classname, v);
@@ -73,9 +73,9 @@ public class VerifierFactory {
      */
     private static void notify( String fully_qualified_classname ) {
         // notify the observers
-        Iterator i = observers.iterator();
+        Iterator<VerifierFactoryObserver> i = observers.iterator();
         while (i.hasNext()) {
-            VerifierFactoryObserver vfo = (VerifierFactoryObserver) i.next();
+            VerifierFactoryObserver vfo = i.next();
             vfo.update(fully_qualified_classname);
         }
     }
@@ -90,7 +90,7 @@ public class VerifierFactory {
      */
     public static Verifier[] getVerifiers() {
         Verifier[] vs = new Verifier[hashMap.values().size()];
-        return (Verifier[]) (hashMap.values().toArray(vs)); // Because vs is big enough, vs is used to store the values into and returned!
+        return hashMap.values().toArray(vs); // Because vs is big enough, vs is used to store the values into and returned!
     }
 
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java Fri Jul 22 04:34:27 2011
@@ -17,7 +17,13 @@
  */
 package org.apache.bcel.verifier;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
 import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
 
 /**
  * This class implements an adapter; it implements both a Swing ListModel and
@@ -29,8 +35,8 @@ import javax.swing.event.ListDataEvent;
 public class VerifierFactoryListModel implements org.apache.bcel.verifier.VerifierFactoryObserver,
         javax.swing.ListModel {
 
-    private java.util.ArrayList listeners = new java.util.ArrayList();
-    private java.util.TreeSet cache = new java.util.TreeSet();
+    private List<ListDataListener> listeners = new ArrayList<ListDataListener>();
+    private Set<String> cache = new TreeSet<String>();
 
 
     public VerifierFactoryListModel() {
@@ -50,12 +56,12 @@ public class VerifierFactoryListModel im
         for (int i = 0; i < size; i++) {
             ListDataEvent e = new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, 0,
                     num_of_verifiers - 1);
-            ((javax.swing.event.ListDataListener) (listeners.get(i))).contentsChanged(e);
+            listeners.get(i).contentsChanged(e);
         }
     }
 
 
-    public synchronized void addListDataListener( javax.swing.event.ListDataListener l ) {
+    public synchronized void addListDataListener( ListDataListener l ) {
         listeners.add(l);
     }
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/IntList.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/IntList.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/IntList.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/IntList.java Fri Jul 22 04:34:27 2011
@@ -29,14 +29,14 @@ import java.util.List;
  */
 public class IntList{
 	/** The int are stored as Integer objects here. */
-	private List theList;
+	private List<Integer> theList;
 	/** This constructor creates an empty list. */
 	IntList(){
-		theList = new ArrayList();
+		theList = new ArrayList<Integer>();
 	}
 	/** Adds an element to the list. */
 	void add(int i){
-		theList.add(new Integer(i));
+		theList.add(Integer.valueOf(i));
 	}
 	/** Checks if the specified int is already in the list. */
 	boolean contains(int i){

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/LocalVariableInfo.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/LocalVariableInfo.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/LocalVariableInfo.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/LocalVariableInfo.java Fri Jul 22 04:34:27 2011
@@ -34,9 +34,9 @@ import org.apache.bcel.verifier.exc.Loca
 public class LocalVariableInfo{
 
 	/** The types database. KEY: String representing the offset integer. */
-	private Hashtable types = new Hashtable();
+	private Hashtable<String, Type> types = new Hashtable<String, Type>();
 	/** The names database. KEY: String representing the offset integer. */
-	private Hashtable names = new Hashtable();
+	private Hashtable<String, String> names = new Hashtable<String, String>();
 
 	/**
 	 * Adds a name of a local variable and a certain slot to our 'names'
@@ -62,7 +62,7 @@ public class LocalVariableInfo{
 	 * variable slot at the given bytecode offset.
 	 */
 	public Type getType(int offset){
-		return (Type) types.get(Integer.toString(offset));
+		return types.get(Integer.toString(offset));
 	}
 	/**
 	 * Returns the name of the local variable that uses this local
@@ -73,7 +73,7 @@ public class LocalVariableInfo{
 	 * variable slot at the given bytecode offset.
 	 */
 	public String getName(int offset){
-		return (String) (names.get(Integer.toString(offset)));
+		return (names.get(Integer.toString(offset)));
 	}
 	/**
 	 * Adds some information about this local variable (slot).

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java Fri Jul 22 04:34:27 2011
@@ -190,7 +190,7 @@ public final class Pass2Verifier extends
 	 */
 	private void every_class_has_an_accessible_superclass(){
 	    try {
-		Set hs = new HashSet(); // save class names to detect circular inheritance
+		Set<String> hs = new HashSet<String>(); // save class names to detect circular inheritance
 		JavaClass jc = Repository.lookupClass(myOwner.getClassName());
 		int supidx = -1;
 
@@ -240,7 +240,7 @@ public final class Pass2Verifier extends
 	 */
 	private void final_methods_are_not_overridden(){
 	    try {
-		Map hashmap = new HashMap();
+		Map<String, String> hashmap = new HashMap<String, String>();
 		JavaClass jc = Repository.lookupClass(myOwner.getClassName());
 		
 		int supidx = -1;
@@ -311,28 +311,28 @@ public final class Pass2Verifier extends
    * @see #constant_pool_entries_satisfy_static_constraints()
 	 */
 	private class CPESSC_Visitor extends org.apache.bcel.classfile.EmptyVisitor{
-		private Class CONST_Class;
+		private Class<?> CONST_Class;
 		/*
-        private Class CONST_Fieldref;
-		private Class CONST_Methodref;
-		private Class CONST_InterfaceMethodref;
+        private Class<?> CONST_Fieldref;
+		private Class<?> CONST_Methodref;
+		private Class<?> CONST_InterfaceMethodref;
         */
-		private Class CONST_String;
-		private Class CONST_Integer;
-		private Class CONST_Float;
-		private Class CONST_Long;
-		private Class CONST_Double;
-		private Class CONST_NameAndType;
-		private Class CONST_Utf8;
+		private Class<?> CONST_String;
+		private Class<?> CONST_Integer;
+		private Class<?> CONST_Float;
+		private Class<?> CONST_Long;
+		private Class<?> CONST_Double;
+		private Class<?> CONST_NameAndType;
+		private Class<?> CONST_Utf8;
 
 		private final JavaClass jc;
 		private final ConstantPool cp; // ==jc.getConstantPool() -- only here to save typing work and computing power.
 		private final int cplen; // == cp.getLength() -- to save computing power.
 		private DescendingVisitor carrier;
 
-		private Set field_names = new HashSet();
-		private Set field_names_and_desc = new HashSet();
-		private Set method_names_and_desc = new HashSet();
+		private Set<String> field_names = new HashSet<String>();
+		private Set<String> field_names_and_desc = new HashSet<String>();
+		private Set<String> method_names_and_desc = new HashSet<String>();
 
 		private CPESSC_Visitor(JavaClass _jc){
 			jc = _jc;
@@ -357,7 +357,7 @@ public final class Pass2Verifier extends
 			carrier.visit();
 		}
 
-		private void checkIndex(Node referrer, int index, Class shouldbe){
+		private void checkIndex(Node referrer, int index, Class<?> shouldbe){
 			if ((index < 0) || (index >= cplen)){
 				throw new ClassConstraintException("Invalid index '"+index+"' used by '"+tostring(referrer)+"'.");
 			}

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java Fri Jul 22 04:34:27 2011
@@ -20,6 +20,7 @@ package org.apache.bcel.verifier.structu
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.bcel.generic.ATHROW;
@@ -66,18 +67,18 @@ public class ControlFlowGraph{
 		/**
 		 * The 'incoming' execution Frames.
 		 */
-		private Map inFrames;	// key: the last-executed JSR
+		private Map<InstructionContext, Frame> inFrames;	// key: the last-executed JSR
 
 		/**
 		 * The 'outgoing' execution Frames.
 		 */
-		private Map outFrames; // key: the last-executed JSR 
+		private Map<InstructionContext, Frame> outFrames; // key: the last-executed JSR 
 
 		/**
 		 * The 'execution predecessors' - a list of type InstructionContext 
 		 * of those instances that have been execute()d before in that order.
 		 */
-		private ArrayList executionPredecessors = null; // Type: InstructionContext
+		private List<InstructionContext> executionPredecessors = null; // Type: InstructionContext
 	
 		/**
 		 * Creates an InstructionHandleImpl object from an InstructionHandle.
@@ -89,8 +90,8 @@ public class ControlFlowGraph{
             }
 		
 			instruction = inst;
-			inFrames = new java.util.HashMap();
-			outFrames = new java.util.HashMap();
+			inFrames = new HashMap<InstructionContext, Frame>();
+			outFrames = new HashMap<InstructionContext, Frame>();
 		}
 
 		/* Satisfies InstructionContext.getTag(). */
@@ -113,14 +114,14 @@ public class ControlFlowGraph{
 		/**
 		 * Returns a clone of the "outgoing" frame situation with respect to the given ExecutionChain.
 		 */	
-		public Frame getOutFrame(ArrayList execChain){
+		public Frame getOutFrame(List<InstructionContext> execChain){
 			executionPredecessors = execChain;
 
 			Frame org;
 
 			InstructionContext jsr = lastExecutionJSR();
 
-			org = (Frame) outFrames.get(jsr);
+			org = outFrames.get(jsr);
 
 			if (org == null){
 				throw new AssertionViolatedException("outFrame not set! This:\n"+this+"\nExecutionChain: "+getExecutionChain()+"\nOutFrames: '"+outFrames+"'.");
@@ -133,7 +134,7 @@ public class ControlFlowGraph{
 			
 			InstructionContext jsr = lastExecutionJSR();
 			
-			org = (Frame) inFrames.get(jsr);
+			org = inFrames.get(jsr);
 
 			if (org == null){
 			    throw new AssertionViolatedException("inFrame not set! This:\n"+this+"\nInFrames: '"+inFrames+"'.");
@@ -156,9 +157,9 @@ public class ControlFlowGraph{
 		 * @return true - if and only if the "outgoing" frame situation
 		 * changed from the one before execute()ing.
 		 */
-		public boolean execute(Frame inFrame, ArrayList execPreds, InstConstraintVisitor icv, ExecutionVisitor ev){
+		public boolean execute(Frame inFrame, ArrayList<InstructionContext> execPreds, InstConstraintVisitor icv, ExecutionVisitor ev){
 
-			executionPredecessors = (ArrayList) execPreds.clone();
+			executionPredecessors = (List<InstructionContext>) execPreds.clone();
 
 			//sanity check
 			if ( (lastExecutionJSR() == null) && (subroutines.subroutineOf(getInstruction()) != subroutines.getTopLevel() ) ){
@@ -168,7 +169,7 @@ public class ControlFlowGraph{
 				throw new AssertionViolatedException("Huh?! Am I '"+this+"' part of a subroutine or not?");
 			}
 
-			Frame inF = (Frame) inFrames.get(lastExecutionJSR());
+			Frame inF = inFrames.get(lastExecutionJSR());
 			if (inF == null){// no incoming frame was set, so set it.
 				inFrames.put(lastExecutionJSR(), inFrame);
 				inF = inFrame;
@@ -230,7 +231,7 @@ public class ControlFlowGraph{
 		 */
 		private boolean mergeInFrames(Frame inFrame){
 			// TODO: Can be performance-improved.
-			Frame inF = (Frame) inFrames.get(lastExecutionJSR());
+			Frame inF = inFrames.get(lastExecutionJSR());
 			OperandStack oldstack = inF.getStack().getClone();
 			LocalVariables oldlocals = inF.getLocals().getClone();
 			try{
@@ -402,7 +403,7 @@ public class ControlFlowGraph{
 	private final ExceptionHandlers exceptionhandlers;
 
 	/** All InstructionContext instances of this ControlFlowGraph. */
-	private Map instructionContexts = new HashMap(); //keys: InstructionHandle, values: InstructionContextImpl
+	private Map<InstructionHandle, InstructionContext> instructionContexts = new HashMap<InstructionHandle, InstructionContext>(); //keys: InstructionHandle, values: InstructionContextImpl
 
 	/** 
 	 * A Control Flow Graph.
@@ -423,7 +424,7 @@ public class ControlFlowGraph{
 	 * Returns the InstructionContext of a given instruction.
 	 */
 	public InstructionContext contextOf(InstructionHandle inst){
-		InstructionContext ic = (InstructionContext) instructionContexts.get(inst);
+		InstructionContext ic = instructionContexts.get(inst);
 		if (ic == null){
 			throw new AssertionViolatedException("InstructionContext requested for an InstructionHandle that's not known!");
 		}
@@ -449,7 +450,7 @@ public class ControlFlowGraph{
 	 */
 	public InstructionContext[] getInstructionContexts(){
 		InstructionContext[] ret = new InstructionContext[instructionContexts.values().size()];
-		return (InstructionContext[]) instructionContexts.values().toArray(ret);
+		return instructionContexts.values().toArray(ret);
 	}
 
 	/**

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java Fri Jul 22 04:34:27 2011
@@ -38,21 +38,21 @@ public class ExceptionHandlers{
 	 * The ExceptionHandler instances.
 	 * Key: InstructionHandle objects, Values: HashSet<ExceptionHandler> instances.
 	 */
-	private Map exceptionhandlers;
+	private Map<InstructionHandle, Set<ExceptionHandler>> exceptionhandlers;
 	 
 	/**
 	 * Constructor. Creates a new ExceptionHandlers instance.
 	 */
 	public ExceptionHandlers(MethodGen mg){
-		exceptionhandlers = new HashMap();
+		exceptionhandlers = new HashMap<InstructionHandle, Set<ExceptionHandler>>();
 		CodeExceptionGen[] cegs = mg.getExceptionHandlers();
 		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()){
-				Set hs;
-				hs = (Set) exceptionhandlers.get(ih);
+				Set<ExceptionHandler> hs;
+				hs = exceptionhandlers.get(ih);
 				if (hs == null){
-					hs = new HashSet();
+					hs = new HashSet<ExceptionHandler>();
 					exceptionhandlers.put(ih, hs);
 				}
 				hs.add(eh);
@@ -65,12 +65,12 @@ public class ExceptionHandlers{
 	 * handlers that protect the instruction ih.
 	 */
 	public ExceptionHandler[] getExceptionHandlers(InstructionHandle ih){
-		Set hs = (Set) exceptionhandlers.get(ih);
+		Set<ExceptionHandler> hs = exceptionhandlers.get(ih);
 		if (hs == null) {
             return new ExceptionHandler[0];
         } else{
 			ExceptionHandler[] ret = new ExceptionHandler[hs.size()];
-			return (ExceptionHandler[]) (hs.toArray(ret));
+			return hs.toArray(ret);
 		}
 	}
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/InstructionContext.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/InstructionContext.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/InstructionContext.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/InstructionContext.java Fri Jul 22 04:34:27 2011
@@ -19,6 +19,8 @@ package org.apache.bcel.verifier.structu
 
 
 import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.bcel.generic.InstructionHandle;
 
 /**
@@ -72,7 +74,7 @@ public interface InstructionContext{
 	 * @return true -  if and only if the "outgoing" frame situation
 	 * changed from the one before execute()ing.
 	 */
-	boolean execute(Frame inFrame, ArrayList executionPredecessors, InstConstraintVisitor icv, ExecutionVisitor ev);
+	boolean execute(Frame inFrame, ArrayList<InstructionContext> executionPredecessors, InstConstraintVisitor icv, ExecutionVisitor ev);
 
 	Frame getInFrame();
 
@@ -83,7 +85,7 @@ public interface InstructionContext{
 	 *
 	 * @see #execute(Frame, ArrayList, InstConstraintVisitor, ExecutionVisitor)
 	 */
-	Frame getOutFrame(ArrayList executionPredecessors);
+	Frame getOutFrame(List<InstructionContext> executionPredecessors);
 	
 	/**
 	 * Returns the InstructionHandle this InstructionContext is wrapped around.

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java Fri Jul 22 04:34:27 2011
@@ -36,7 +36,7 @@ import org.apache.bcel.verifier.exc.Stru
 public class OperandStack{
 
 	/** We hold the stack information here. */
-	private ArrayList stack = new ArrayList();
+	private ArrayList<Type> stack = new ArrayList<Type>();
 
 	/** The maximum number of stack slots this OperandStack instance may hold. */
 	private int maxStack;
@@ -63,7 +63,7 @@ public class OperandStack{
 	 */
 	protected Object clone(){
 		OperandStack newstack = new OperandStack(this.maxStack);
-		newstack.stack = (ArrayList) this.stack.clone();
+		newstack.stack = (ArrayList<Type>) this.stack.clone();
 		return newstack;
 	}
 
@@ -71,7 +71,7 @@ public class OperandStack{
 	 * Clears the stack.
 	 */
 	public void clear(){
-		stack = new ArrayList();
+		stack = new ArrayList<Type>();
 	}
 
 	/** @return a hash code value for the object.
@@ -126,14 +126,14 @@ public class OperandStack{
    * iff i==0 the top element is returned. The element is not popped off the stack!
    */
 	public Type peek(int i){
-		return (Type) stack.get(size()-i-1);
+		return stack.get(size()-i-1);
 	}
 
 	/**
 	 * Returns the element on top of the stack. The element is popped off the stack.
 	 */
 	public Type pop(){
-		Type e = (Type) stack.remove(size()-1);
+		Type e = stack.remove(size()-1);
 		return e;
 	}
 

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Pass3bVerifier.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Pass3bVerifier.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Pass3bVerifier.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Pass3bVerifier.java Fri Jul 22 04:34:27 2011
@@ -79,9 +79,9 @@ public final class Pass3bVerifier extend
 	 * we have about its symbolic execution predecessors.
 	 */
 	private static final class InstructionContextQueue{
-		private List ics = new Vector(); // Type: InstructionContext
-		private List ecs = new Vector(); // Type: ArrayList (of InstructionContext)
-		public void add(InstructionContext ic, ArrayList executionChain){
+		private List<InstructionContext> ics = new Vector<InstructionContext>();
+		private List<ArrayList<InstructionContext>> ecs = new Vector<ArrayList<InstructionContext>>();
+		public void add(InstructionContext ic, ArrayList<InstructionContext> executionChain){
 			ics.add(ic);
 			ecs.add(executionChain);
 		}
@@ -93,10 +93,10 @@ public final class Pass3bVerifier extend
 			ecs.remove(i);
 		}
 		public InstructionContext getIC(int i){
-			return (InstructionContext) ics.get(i);
+			return ics.get(i);
 		}
-		public ArrayList getEC(int i){
-			return (ArrayList) ecs.get(i);
+		public ArrayList<InstructionContext> getEC(int i){
+			return ecs.get(i);
 		}
 		public int size(){
 			return ics.size();
@@ -133,14 +133,14 @@ public final class Pass3bVerifier extend
 		final Random random = new Random();
 		InstructionContextQueue icq = new InstructionContextQueue();
 		
-		start.execute(vanillaFrame, new ArrayList(), icv, ev);	// new ArrayList() <=>	no Instruction was executed before
+		start.execute(vanillaFrame, new ArrayList<InstructionContext>(), icv, ev);	// new ArrayList() <=>	no Instruction was executed before
 																									//									=> Top-Level routine (no jsr call before)
-		icq.add(start, new ArrayList());
+		icq.add(start, new ArrayList<InstructionContext>());
 
 		// LOOP!
 		while (!icq.isEmpty()){
 			InstructionContext u;
-			ArrayList ec;
+			ArrayList<InstructionContext> ec;
 			if (!DEBUG){
 				int r = random.nextInt(icq.size());
 				u = icq.getIC(r);
@@ -153,8 +153,8 @@ public final class Pass3bVerifier extend
 				icq.remove(0);
 			}
 			
-			ArrayList oldchain = (ArrayList) (ec.clone());
-			ArrayList newchain = (ArrayList) (ec.clone());
+			ArrayList<InstructionContext> oldchain = (ArrayList<InstructionContext>) (ec.clone());
+			ArrayList<InstructionContext> newchain = (ArrayList<InstructionContext>) (ec.clone());
 			newchain.add(u);
 
 			if ((u.getInstruction().getInstruction()) instanceof RET){
@@ -173,16 +173,16 @@ public final class Pass3bVerifier extend
 						throw new AssertionViolatedException("More RET than JSR in execution chain?!");
 					}
 //System.err.println("+"+oldchain.get(ss));
-					if (((InstructionContext) oldchain.get(ss)).getInstruction().getInstruction() instanceof JsrInstruction){
+					if ((oldchain.get(ss)).getInstruction().getInstruction() instanceof JsrInstruction){
 						if (skip_jsr == 0){
-							lastJSR = (InstructionContext) oldchain.get(ss);
+							lastJSR = oldchain.get(ss);
 							break;
 						}
 						else{
 							skip_jsr--;
 						}
 					}
-					if (((InstructionContext) oldchain.get(ss)).getInstruction().getInstruction() instanceof RET){
+					if ((oldchain.get(ss)).getInstruction().getInstruction() instanceof RET){
 						skip_jsr++;
 					}
 				}
@@ -195,7 +195,7 @@ public final class Pass3bVerifier extend
 				}
 				
 				if (theSuccessor.execute(u.getOutFrame(oldchain), newchain, icv, ev)){
-					icq.add(theSuccessor, (ArrayList) newchain.clone());
+					icq.add(theSuccessor, (ArrayList<InstructionContext>) newchain.clone());
 				}
 			}
 			else{// "not a ret"
@@ -205,7 +205,7 @@ public final class Pass3bVerifier extend
 				for (int s=0; s<succs.length; s++){
 					InstructionContext v = succs[s];
 					if (v.execute(u.getOutFrame(oldchain), newchain, icv, ev)){
-						icq.add(v, (ArrayList) newchain.clone());
+						icq.add(v, (ArrayList<InstructionContext>) newchain.clone());
 					}
 				}
 			}// end "not a ret"
@@ -225,8 +225,8 @@ public final class Pass3bVerifier extend
 				// by using an empty chain for the exception handlers.
 				//if (v.execute(new Frame(u.getOutFrame(oldchain).getLocals(), new OperandStack (u.getOutFrame().getStack().maxStack(), (exc_hds[s].getExceptionType()==null? Type.THROWABLE : exc_hds[s].getExceptionType())) ), newchain), icv, ev){
 					//icq.add(v, (ArrayList) newchain.clone());
-				if (v.execute(new Frame(u.getOutFrame(oldchain).getLocals(), new OperandStack (u.getOutFrame(oldchain).getStack().maxStack(), (exc_hds[s].getExceptionType()==null? Type.THROWABLE : exc_hds[s].getExceptionType())) ), new ArrayList(), icv, ev)){
-					icq.add(v, new ArrayList());
+				if (v.execute(new Frame(u.getOutFrame(oldchain).getLocals(), new OperandStack (u.getOutFrame(oldchain).getStack().maxStack(), (exc_hds[s].getExceptionType()==null? Type.THROWABLE : exc_hds[s].getExceptionType())) ), new ArrayList<InstructionContext>(), icv, ev)){
+					icq.add(v, new ArrayList<InstructionContext>());
 				}
 			}
 
@@ -236,7 +236,7 @@ public final class Pass3bVerifier extend
 		do{
 			if ((ih.getInstruction() instanceof ReturnInstruction) && (!(cfg.isDead(ih)))) {
 				InstructionContext ic = cfg.contextOf(ih);
-				Frame f = ic.getOutFrame(new ArrayList()); // TODO: This is buggy, we check only the top-level return instructions this way. Maybe some maniac returns from a method when in a subroutine?
+				Frame f = ic.getOutFrame(new ArrayList<InstructionContext>()); // TODO: This is buggy, we check only the top-level return instructions this way. Maybe some maniac returns from a method when in a subroutine?
 				LocalVariables lvs = f.getLocals();
 				for (int i=0; i<lvs.maxLocals(); i++){
 					if (lvs.get(i) instanceof UninitializedObjectType){

Modified: jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java (original)
+++ jakarta/bcel/trunk/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java Fri Jul 22 04:34:27 2011
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -86,7 +87,7 @@ public class Subroutines{
 		private int localVariable = UNSET;
 
 		/** The instructions that belong to this subroutine. */
-		private Set instructions = new HashSet(); // Elements: InstructionHandle
+		private Set<InstructionHandle> instructions = new HashSet<InstructionHandle>(); // Elements: InstructionHandle
 		
 		/*
 		 * Refer to the Subroutine interface for documentation.
@@ -99,7 +100,7 @@ public class Subroutines{
 		 * The JSR or JSR_W instructions that define this
 		 * subroutine by targeting it.
 		 */
-		private Set theJSRs = new HashSet();
+		private Set<InstructionHandle> theJSRs = new HashSet<InstructionHandle>();
 		
 		/**
 		 * The RET instruction that leaves this subroutine.
@@ -141,10 +142,10 @@ public class Subroutines{
 			if (localVariable == UNSET){
 				throw new AssertionViolatedException("setLeavingRET() called for top-level 'subroutine' or forgot to set local variable first.");
 			}
-			Iterator iter = instructions.iterator();
+			Iterator<InstructionHandle> iter = instructions.iterator();
 			InstructionHandle ret = null;
 			while(iter.hasNext()){
-				InstructionHandle actual = (InstructionHandle) iter.next();
+				InstructionHandle actual = iter.next();
 				if (actual.getInstruction() instanceof RET){
 					if (ret != null){
 						throw new StructuralCodeConstraintException("Subroutine with more then one RET detected: '"+ret+"' and '"+actual+"'.");
@@ -171,7 +172,7 @@ public class Subroutines{
 				throw new AssertionViolatedException("getLeavingRET() called on top level pseudo-subroutine.");
 			}
 			InstructionHandle[] jsrs = new InstructionHandle[theJSRs.size()];
-			return (InstructionHandle[]) (theJSRs.toArray(jsrs));
+			return theJSRs.toArray(jsrs);
 		}
 	
 		/**
@@ -210,7 +211,7 @@ public class Subroutines{
 		 */
 		public InstructionHandle[] getInstructions(){
 			InstructionHandle[] ret = new InstructionHandle[instructions.size()];
-			return (InstructionHandle[]) instructions.toArray(ret);
+			return instructions.toArray(ret);
 		}
 		
 		/*
@@ -227,18 +228,18 @@ public class Subroutines{
 
 		/* Satisfies Subroutine.getRecursivelyAccessedLocalsIndices(). */
 		public int[] getRecursivelyAccessedLocalsIndices(){
-			Set s = new HashSet();
+			Set<Integer> s = new HashSet<Integer>();
 			int[] lvs = getAccessedLocalsIndices();
 			for (int j=0; j<lvs.length; j++){
-				s.add(new Integer(lvs[j]));
+				s.add(Integer.valueOf(lvs[j]));
 			}
 			_getRecursivelyAccessedLocalsIndicesHelper(s, this.subSubs());
 			int[] ret = new int[s.size()];
-			Iterator i = s.iterator();
+			Iterator<Integer> i = s.iterator();
 			int j=-1;
 			while (i.hasNext()){
 				j++;
-				ret[j] = ((Integer) i.next()).intValue();
+				ret[j] = i.next().intValue();
 			}
 			return ret;
 		}
@@ -247,7 +248,7 @@ public class Subroutines{
 		 * A recursive helper method for getRecursivelyAccessedLocalsIndices().
 		 * @see #getRecursivelyAccessedLocalsIndices()
 		 */
-		private void _getRecursivelyAccessedLocalsIndicesHelper(Set s, Subroutine[] subs){
+		private void _getRecursivelyAccessedLocalsIndicesHelper(Set<Integer> s, Subroutine[] subs){
 			for (int i=0; i<subs.length; i++){
 				int[] lvs = subs[i].getAccessedLocalsIndices();
 				for (int j=0; j<lvs.length; j++){
@@ -264,60 +265,64 @@ public class Subroutines{
 		 */
 		public int[] getAccessedLocalsIndices(){
 			//TODO: Implement caching.
-			Set acc = new HashSet();
+			Set<Integer> acc = new HashSet<Integer>();
 			if (theRET == null && this != TOPLEVEL){
 				throw new AssertionViolatedException("This subroutine object must be built up completely before calculating accessed locals.");
 			}
-			Iterator i = instructions.iterator();
-			while (i.hasNext()){
-				InstructionHandle ih = (InstructionHandle) i.next();
-				// RET is not a LocalVariableInstruction in the current version of BCEL.
-				if (ih.getInstruction() instanceof LocalVariableInstruction || ih.getInstruction() instanceof RET){
-					int idx = ((IndexedInstruction) (ih.getInstruction())).getIndex();
-					acc.add(new Integer(idx));
-					// LONG? DOUBLE?.
-					try{
-						// LocalVariableInstruction instances are typed without the need to look into
-						// the constant pool.
-						if (ih.getInstruction() instanceof LocalVariableInstruction){
-							int s = ((LocalVariableInstruction) ih.getInstruction()).getType(null).getSize();
-							if (s==2) {
-                                acc.add(new Integer(idx+1));
-                            }
-						}
-					}
-					catch(RuntimeException re){
-						throw new AssertionViolatedException("Oops. BCEL did not like NULL as a ConstantPoolGen object.", re);
-					}
-				}
+			{
+    			Iterator<InstructionHandle> i = instructions.iterator();
+    			while (i.hasNext()){
+    				InstructionHandle ih = i.next();
+    				// RET is not a LocalVariableInstruction in the current version of BCEL.
+    				if (ih.getInstruction() instanceof LocalVariableInstruction || ih.getInstruction() instanceof RET){
+    					int idx = ((IndexedInstruction) (ih.getInstruction())).getIndex();
+    					acc.add(new Integer(idx));
+    					// LONG? DOUBLE?.
+    					try{
+    						// LocalVariableInstruction instances are typed without the need to look into
+    						// the constant pool.
+    						if (ih.getInstruction() instanceof LocalVariableInstruction){
+    							int s = ((LocalVariableInstruction) ih.getInstruction()).getType(null).getSize();
+    							if (s==2) {
+                                    acc.add(new Integer(idx+1));
+                                }
+    						}
+    					}
+    					catch(RuntimeException re){
+    						throw new AssertionViolatedException("Oops. BCEL did not like NULL as a ConstantPoolGen object.", re);
+    					}
+    				}
+    			}
 			}
 			
-			int[] ret = new int[acc.size()];
-			i = acc.iterator();
-			int j=-1;
-			while (i.hasNext()){
-				j++;
-				ret[j] = ((Integer) i.next()).intValue();
+			{
+    			int[] ret = new int[acc.size()];
+    			Iterator<Integer> i = acc.iterator();
+    			int j=-1;
+    			while (i.hasNext()){
+    				j++;
+    				ret[j] = i.next().intValue();
+    			}
+    			return ret;
 			}
-			return ret;
 		}
 
 		/*
 		 * Satisfies Subroutine.subSubs().
 		 */
 		public Subroutine[] subSubs(){
-			Set h = new HashSet();
+			Set<Subroutine> h = new HashSet<Subroutine>();
 
-			Iterator i = instructions.iterator();
+			Iterator<InstructionHandle> i = instructions.iterator();
 			while (i.hasNext()){
-				Instruction inst = ((InstructionHandle) i.next()).getInstruction();
+				Instruction inst = i.next().getInstruction();
 				if (inst instanceof JsrInstruction){
 					InstructionHandle targ = ((JsrInstruction) inst).getTarget();
 					h.add(getSubroutine(targ));
 				}
 			}
 			Subroutine[] ret = new Subroutine[h.size()];
-			return (Subroutine[]) h.toArray(ret);
+			return h.toArray(ret);
 		}
 		
 		/*
@@ -353,7 +358,7 @@ public class Subroutines{
 	 * Key: InstructionHandle of the leader of the subroutine.
 	 * Elements: SubroutineImpl objects.
 	 */
-	private Map subroutines = new HashMap();
+	private Map<InstructionHandle, Subroutine> subroutines = new HashMap<InstructionHandle, Subroutine>();
 
 	/**
 	 * This is referring to a special subroutine, namely the
@@ -377,7 +382,7 @@ public class Subroutines{
 		TOPLEVEL = new SubroutineImpl();
 
 		// Calculate "real" subroutines.
-		Set sub_leaders = new HashSet(); // Elements: InstructionHandle
+		Set<InstructionHandle> sub_leaders = new HashSet<InstructionHandle>(); // Elements: InstructionHandle
 		for (int i=0; i<all.length; i++){
 			Instruction inst = all[i].getInstruction();
 			if (inst instanceof JsrInstruction){
@@ -386,10 +391,10 @@ public class Subroutines{
 		}
  
 		// Build up the database.
-		Iterator iter = sub_leaders.iterator();
+		Iterator<InstructionHandle> iter = sub_leaders.iterator();
 		while (iter.hasNext()){
 			SubroutineImpl sr = new SubroutineImpl();
-			InstructionHandle astore = (InstructionHandle) (iter.next());
+			InstructionHandle astore = iter.next();
 			sr.setLocalVariable( ((ASTORE) (astore.getInstruction())).getIndex() );
 			subroutines.put(astore, sr);
 		}
@@ -413,21 +418,21 @@ public class Subroutines{
 		
 		// Now do a BFS from every subroutine leader to find all the
 		// instructions that belong to a subroutine.
-		Set instructions_assigned = new HashSet(); // we don't want to assign an instruction to two or more Subroutine objects.
+		Set<InstructionHandle> instructions_assigned = new HashSet<InstructionHandle>(); // we don't want to assign an instruction to two or more Subroutine objects.
 		
-		Map colors = new HashMap(); //Graph colouring. Key: InstructionHandle, Value: Integer .
+		Map<InstructionHandle, Integer> colors = new HashMap<InstructionHandle, Integer>(); //Graph colouring. Key: InstructionHandle, Value: Integer .
 		
 		iter = sub_leaders.iterator();
 		while (iter.hasNext()){
 			// Do some BFS with "actual" as the root of the graph.
-			InstructionHandle actual = (InstructionHandle) (iter.next());
+			InstructionHandle actual = iter.next();
 			// Init colors
 			for (int i=0; i<all.length; i++){
 				colors.put(all[i], WHITE);
 			}
 			colors.put(actual, GRAY);
 			// Init Queue
-			ArrayList Q = new ArrayList();
+			List<InstructionHandle> Q = new ArrayList<InstructionHandle>();
 			Q.add(actual); // add(Obj) adds to the end, remove(0) removes from the start.
 			
 			/* BFS ALGORITHM MODIFICATION: Start out with multiple "root" nodes, as exception handlers are starting points of top-level code, too. [why top-level? TODO: Refer to the special JustIce notion of subroutines.]*/
@@ -441,10 +446,10 @@ public class Subroutines{
 			
 			// Loop until Queue is empty
 			while (Q.size() != 0){
-				InstructionHandle u = (InstructionHandle) Q.remove(0);
+				InstructionHandle u = Q.remove(0);
 				InstructionHandle[] successors = getSuccessors(u);
 				for (int i=0; i<successors.length; i++){
-					if (((Integer) colors.get(successors[i])) == WHITE){
+					if (colors.get(successors[i]) == WHITE){
 						colors.put(successors[i], GRAY);
 						Q.add(successors[i]);
 					}
@@ -473,9 +478,9 @@ public class Subroutines{
 		for (int i=0; i<handlers.length; i++){
 			InstructionHandle _protected = handlers[i].getStartPC();
 			while (_protected != handlers[i].getEndPC().getNext()){// Note the inclusive/inclusive notation of "generic API" exception handlers!
-				Iterator subs = subroutines.values().iterator();
+				Iterator<Subroutine> subs = subroutines.values().iterator();
 				while (subs.hasNext()){
-					Subroutine sub = (Subroutine) subs.next();
+					Subroutine sub = subs.next();
 					if (sub != subroutines.get(all[0])){	// We don't want to forbid top-level exception handlers.
 						if (sub.contains(_protected)){
 							throw new StructuralCodeConstraintException("Subroutine instruction '"+_protected+"' is protected by an exception handler, '"+handlers[i]+"'. This is forbidden by the JustIce verifier due to its clear definition of subroutines.");
@@ -492,7 +497,7 @@ public class Subroutines{
 		// This includes that subroutines may not call themselves
 		// recursively, even not through intermediate calls to other
 		// subroutines.
-		noRecursiveCalls(getTopLevel(), new HashSet());
+		noRecursiveCalls(getTopLevel(), new HashSet<Integer>());
 
 	}
 
@@ -507,7 +512,7 @@ public class Subroutines{
 	 *
 	 * @throws StructuralCodeConstraintException if the above constraint is not satisfied.
 	 */
-	private void noRecursiveCalls(Subroutine sub, Set set){
+	private void noRecursiveCalls(Subroutine sub, Set<Integer> set){
 		Subroutine[] subs = sub.subSubs();
 
 		for (int i=0; i<subs.length; i++){
@@ -534,7 +539,7 @@ public class Subroutines{
 	 * @see #getTopLevel()
 	 */
 	public Subroutine getSubroutine(InstructionHandle leader){
-		Subroutine ret = (Subroutine) subroutines.get(leader);
+		Subroutine ret = subroutines.get(leader);
 		
 		if (ret == null){
 			throw new AssertionViolatedException("Subroutine requested for an InstructionHandle that is not a leader of a subroutine.");
@@ -559,9 +564,9 @@ public class Subroutines{
 	 * @see #getTopLevel()
 	 */
 	public Subroutine subroutineOf(InstructionHandle any){
-		Iterator i = subroutines.values().iterator();
+		Iterator<Subroutine> i = subroutines.values().iterator();
 		while (i.hasNext()){
-			Subroutine s = (Subroutine) i.next();
+			Subroutine s = i.next();
 			if (s.contains(any)) {
                 return s;
             }

Modified: jakarta/bcel/trunk/src/test/java/org/apache/bcel/AnnotationGenTestCase.java
URL: http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/test/java/org/apache/bcel/AnnotationGenTestCase.java?rev=1149459&r1=1149458&r2=1149459&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/test/java/org/apache/bcel/AnnotationGenTestCase.java (original)
+++ jakarta/bcel/trunk/src/test/java/org/apache/bcel/AnnotationGenTestCase.java Fri Jul 22 04:34:27 2011
@@ -134,7 +134,6 @@ public class AnnotationGenTestCase exten
 		try
 		{
 			String beforeName = a.getTypeName();
-			List beforeValues = a.getValues();
 			ByteArrayOutputStream baos = new ByteArrayOutputStream();
 			DataOutputStream dos = new DataOutputStream(baos);
 			a.dump(dos);
@@ -147,7 +146,6 @@ public class AnnotationGenTestCase exten
 					.isRuntimeVisible());
 			dis.close();
 			String afterName = annAfter.getTypeName();
-			List afterValues = annAfter.getValues();
 			if (!beforeName.equals(afterName))
 			{
 				fail("Deserialization failed: before type='" + beforeName
@@ -161,10 +159,8 @@ public class AnnotationGenTestCase exten
 			}
 			for (int i = 0; i < a.getValues().size(); i++)
 			{
-				ElementValuePairGen beforeElement = (ElementValuePairGen) a
-						.getValues().get(i);
-				ElementValuePairGen afterElement = (ElementValuePairGen) annAfter
-						.getValues().get(i);
+				ElementValuePairGen beforeElement = a.getValues().get(i);
+				ElementValuePairGen afterElement = annAfter.getValues().get(i);
 				if (!beforeElement.getNameString().equals(
 						afterElement.getNameString()))
 				{



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@jakarta.apache.org
For additional commands, e-mail: notifications-help@jakarta.apache.org