Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[linux-distros-dev] Backporting PyDev to Java 1.4

Hi,

For those who are not familiar with it PyDev is a (the) Python
environment plugin for Eclipse. It currently uses Java 1.5 so it's
unshippable by many Linux distros. We are currently shipping version
0.9.3 in Fedora, this version still uses Java 1.4 but it's quite old.

I know that some Ubuntu guys backported version 1.0.3 to Java 1.4
previously and it's currently available in Ubuntu. I recently backported
version 1.0.6 to Java 1.4, and I'm posting the patches here in case
others want to use them. I'm going to update the patches for the
latest version (1.0.8), which is a bug fix release, and repost them.
I will only be able to get to that early next week, so if anybody wants
to do it, I'll be more than happy :-).

I'm also planning to make some other patches that will set some useful
defaults in the Preferences, such as the location of the Python
interpreter and the site-packages directory. This will probably be
slightly different for the various distros but that's a small
difference.

I'm happy to take any criticism about the patch. ;-)
Igor

P.S. From minimal testing it seems to work fine, but I haven't run
the test suit on it yet.


Index: org.python.pydev.core/src/org/python/pydev/core/DeltaSaver.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/DeltaSaver.java,v
retrieving revision 1.5
diff -u -r1.5 DeltaSaver.java
--- org.python.pydev.core/src/org/python/pydev/core/DeltaSaver.java	25 Jan 2006 12:16:39 -0000	1.5
+++ org.python.pydev.core/src/org/python/pydev/core/DeltaSaver.java	23 May 2006 20:35:40 -0000
@@ -15,6 +15,7 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.Iterator;
 import java.util.List;
 
 import org.python.pydev.core.log.Log;
@@ -33,7 +34,7 @@
  * 
  * @author Fabio
  */
-public class DeltaSaver<X> {
+public class DeltaSaver {
     
     /**
      * Superclass of all commands
@@ -50,7 +51,7 @@
 
         public abstract void processWith(IDeltaProcessor deltaProcessor);
         
-        public void readData(ICallback<Object, ObjectInputStream> readFromFileMethod, ObjectInputStream in) {
+        public void readData(ICallback readFromFileMethod, ObjectInputStream in) {
             this.data = readFromFileMethod.call(in);
         }
 
@@ -69,7 +70,6 @@
             super(o);
         }
 
-        @SuppressWarnings("unchecked")
         public void processWith(IDeltaProcessor deltaProcessor){
             deltaProcessor.processDelete(data);
         }
@@ -90,7 +90,6 @@
             super(o);
         }
         
-        @SuppressWarnings("unchecked")
         public void processWith(IDeltaProcessor deltaProcessor){
             deltaProcessor.processInsert(data);
         }
@@ -110,7 +109,6 @@
             super(o);
         }
         
-        @SuppressWarnings("unchecked")
         public void processWith(IDeltaProcessor deltaProcessor){
             deltaProcessor.processUpdate(data);
         }
@@ -129,7 +127,7 @@
     /**
      * List of commands
      */
-    private List<DeltaCommand> commands;
+    private List commands;
     
     /**
      * Used to keep track of a number to use to save the command
@@ -140,16 +138,16 @@
      * This is the method that should read the data in the delta from a file... This is because of the &*(^%EO way eclipse handles this kind of stuff,
      * so, we can't just serialize it from another plugin.
      */
-    private ICallback<Object, ObjectInputStream> readFromFileMethod;
+    private ICallback readFromFileMethod;
     
     /**
      * @param dirToSaveDeltas this is the directory where the deltas should be saved
      * @param extension this is the extension that should be given to the deltas
      */
-    public DeltaSaver(File dirToSaveDeltas, String extension, ICallback<Object, ObjectInputStream> readFromFileMethod) {
+    public DeltaSaver(File dirToSaveDeltas, String extension, ICallback readFromFileMethod) {
         this.dirToSaveDeltas = dirToSaveDeltas;
         this.suffix = "."+extension;
-        this.commands = Collections.synchronizedList(new ArrayList<DeltaCommand>());
+        this.commands = Collections.synchronizedList(new ArrayList());
         this.readFromFileMethod = readFromFileMethod;
         validateDir();
         loadDeltas();
@@ -173,8 +171,10 @@
      */
     private void loadDeltas() {
     	synchronized(this.commands){
-	        ArrayList<File> deltasFound = findDeltas();
-	        for (File file : deltasFound) {
+	        ArrayList deltasFound = findDeltas();
+            for (Iterator iter = deltasFound.iterator(); iter.hasNext();) {
+                File file = (File) iter.next();
+                
 	            try {
 	                DeltaCommand cmd = (DeltaCommand) IOUtils.readFromFile(file, this.readFromFileMethod);
 	                if(cmd != null && cmd.data != null){
@@ -191,20 +191,24 @@
     /**
      * @return a list of files with all the deltas in the dir we are acting upon
      */
-    private ArrayList<File> findDeltas() {
-        ArrayList<File> deltasFound = new ArrayList<File>();
+    private ArrayList findDeltas() {
+        ArrayList deltasFound = new ArrayList();
         File[] files = this.dirToSaveDeltas.listFiles();
-        for (File file : files) {
+        for (int i = 0; i < files.length; i++) {
+            File file = files[i];
+            
             if(file.exists() && file.isFile() && file.getName().endsWith(suffix)){
                 deltasFound.add(file);
             }
         }
         //also, sort by the name (which must be an integer)
-        Collections.sort(deltasFound, new Comparator<File>(){
+        Collections.sort(deltasFound, new Comparator(){
 
-            public int compare(File o1, File o2) {
-                String i = FullRepIterable.headAndTail(o1.getName())[0];
-                String j = FullRepIterable.headAndTail(o2.getName())[0];
+            public int compare(Object o1, Object o2) {
+                File o1f = (File)o1;
+                File o2f = (File)o2;
+                String i = FullRepIterable.headAndTail(o1f.getName())[0];
+                String j = FullRepIterable.headAndTail(o2f.getName())[0];
                 return new Integer(i).compareTo(new Integer(j));
             }}
         );
@@ -253,8 +257,10 @@
      * Clears all deltas in the disk (and in memory... also restarts numbering the deltas)
      */
     public void clearAll() {
-        ArrayList<File> deltas = findDeltas();
-        for (File file : deltas) {
+        ArrayList deltas = findDeltas();
+        for (Iterator iter = deltas.iterator(); iter.hasNext();) {
+            File file = (File) iter.next();
+            
         	if(file.exists()){
         		file.delete();
         	}
@@ -263,25 +269,27 @@
         nCommands = 0;
     }
 
-    public void addInsertCommand(X o) {
+    public void addInsertCommand(Object o) {
         addCommand(new DeltaInsertCommand(o));
     }
 
-    public void addDeleteCommand(X o) {
+    public void addDeleteCommand(Object o) {
         addCommand(new DeltaDeleteCommand(o));
     }
 
-    public void addUpdateCommand(X o) {
+    public void addUpdateCommand(Object o) {
         addCommand(new DeltaUpdateCommand(o));
     }
 
     /**
      * Passes the current deltas to the delta processor.
      */
-    public void processDeltas(IDeltaProcessor<X> deltaProcessor) {
+    public void processDeltas(IDeltaProcessor deltaProcessor) {
     	synchronized(this.commands){
 			boolean processed = false;
-	        for (DeltaCommand cmd : this.commands) {
+            for (Iterator iter = this.commands.iterator(); iter.hasNext();) {
+                DeltaCommand cmd = (DeltaCommand) iter.next();
+
 	            try {
 					cmd.processWith(deltaProcessor);
 					processed = false;
@@ -326,7 +334,7 @@
      * @param readFromFileMethod 
      * @return
      */
-    public static Object readFromFile(File astOutputFile, ICallback<Object, ObjectInputStream> readFromFileMethod) {
+    public static Object readFromFile(File astOutputFile, ICallback readFromFileMethod) {
         try {
         	boolean deletFile = false;
         	//the file is not even there
Index: org.python.pydev.core/src/org/python/pydev/core/ExtensionHelper.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/ExtensionHelper.java,v
retrieving revision 1.12
diff -u -r1.12 ExtensionHelper.java
--- org.python.pydev.core/src/org/python/pydev/core/ExtensionHelper.java	21 Feb 2006 19:27:29 -0000	1.12
+++ org.python.pydev.core/src/org/python/pydev/core/ExtensionHelper.java	23 May 2006 20:35:40 -0000
@@ -19,7 +19,7 @@
 public class ExtensionHelper {
 
     
-    private static Map<String, IExtension[]> extensionsCache = new HashMap<String, IExtension[]>();
+    private static Map extensionsCache = new HashMap();
     
     //pydev
     public final static String PYDEV_COMPLETION = "org.python.pydev.pydev_completion";
@@ -40,7 +40,7 @@
 
     
     private static IExtension[] getExtensions(String type) {
-        IExtension[] extensions = extensionsCache.get(type);
+        IExtension[] extensions = (IExtension[]) extensionsCache.get(type);
         if(extensions == null){
             IExtensionRegistry registry = Platform.getExtensionRegistry();
             if(registry != null){ // we may not be in eclipse env when testing
@@ -82,7 +82,6 @@
      * @param type the extension we want to get
      * @return a list of classes created from those extensions
      */
-    @SuppressWarnings("unchecked")
     public static List getParticipants(String type) {
         ArrayList list = new ArrayList();
         IExtension[] extensions = getExtensions(type);
Index: org.python.pydev.core/src/org/python/pydev/core/FullRepIterable.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/FullRepIterable.java,v
retrieving revision 1.14
diff -u -r1.14 FullRepIterable.java
--- org.python.pydev.core/src/org/python/pydev/core/FullRepIterable.java	17 Apr 2006 16:25:28 -0000	1.14
+++ org.python.pydev.core/src/org/python/pydev/core/FullRepIterable.java	23 May 2006 20:35:40 -0000
@@ -18,9 +18,9 @@
  * 
  * @author Fabio
  */
-public class FullRepIterable implements Iterable<String>{
+public class FullRepIterable{
 
-    private static final class ReverseFullRepIterator implements Iterator<String> {
+    private static final class ReverseFullRepIterator implements Iterator {
 
         private String fullRep;
 
@@ -32,7 +32,7 @@
             return fullRep.length() > 0;
         }
 
-        public String next() {
+        public Object next() {
             if(fullRep.length() == 0){
                 throw new RuntimeException("no more items");
             }
@@ -52,7 +52,7 @@
         
     }
     
-    private static final class FullRepIterator implements Iterator<String> {
+    private static final class FullRepIterator implements Iterator {
         private int i = -1;
         private boolean lastStep; //even if there is no point, we should return the last string
         private String fullRep;
@@ -67,7 +67,7 @@
             return ret;
         }
 
-        public String next() {
+        public Object next() {
             int j = fullRep.indexOf('.', i);
             if(j == -1){
                 lastStep = true;
@@ -106,7 +106,7 @@
         this.reverse = reverse;
     }
 
-    public Iterator<String> iterator() {
+    public Iterator iterator() {
         if(!reverse){
             return new FullRepIterator(this.fullRep);
         }else{
Index: org.python.pydev.core/src/org/python/pydev/core/ICallback.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/ICallback.java,v
retrieving revision 1.1
diff -u -r1.1 ICallback.java
--- org.python.pydev.core/src/org/python/pydev/core/ICallback.java	14 Oct 2005 01:36:17 -0000	1.1
+++ org.python.pydev.core/src/org/python/pydev/core/ICallback.java	23 May 2006 20:35:40 -0000
@@ -3,7 +3,7 @@
  */
 package org.python.pydev.core;
 
-public interface ICallback<Ret, Arg> {
+public interface ICallback {
 
-    Ret call(Arg arg);
+    Object call(Object arg);
 }
Index: org.python.pydev.core/src/org/python/pydev/core/ICodeCompletionASTManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/ICodeCompletionASTManager.java,v
retrieving revision 1.4
diff -u -r1.4 ICodeCompletionASTManager.java
--- org.python.pydev.core/src/org/python/pydev/core/ICodeCompletionASTManager.java	25 Jan 2006 16:19:14 -0000	1.4
+++ org.python.pydev.core/src/org/python/pydev/core/ICodeCompletionASTManager.java	23 May 2006 20:35:40 -0000
@@ -110,7 +110,7 @@
      * 0: mod
      * 1: tok
      */
-    public abstract Tuple<IModule, String> findOnImportedMods( IPythonNature nature, String activationToken, IModule current);
+    public abstract Tuple findOnImportedMods( IPythonNature nature, String activationToken, IModule current);
 
     /**
      * This function tries to find some activation token defined in some imported module.  
@@ -127,7 +127,7 @@
      * 0: mod
      * 1: tok
      */
-    public abstract Tuple<IModule, String> findOnImportedMods( IToken[] importedModules, IPythonNature nature, String activationToken, String currentModuleName);
+    public abstract Tuple findOnImportedMods( IToken[] importedModules, IPythonNature nature, String activationToken, String currentModuleName);
     
     /**
      * Finds the tokens on the given imported modules
Index: org.python.pydev.core/src/org/python/pydev/core/IDeltaProcessor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/IDeltaProcessor.java,v
retrieving revision 1.2
diff -u -r1.2 IDeltaProcessor.java
--- org.python.pydev.core/src/org/python/pydev/core/IDeltaProcessor.java	14 Oct 2005 01:36:17 -0000	1.2
+++ org.python.pydev.core/src/org/python/pydev/core/IDeltaProcessor.java	23 May 2006 20:35:40 -0000
@@ -3,22 +3,22 @@
  */
 package org.python.pydev.core;
 
-public interface IDeltaProcessor<X> {
+public interface IDeltaProcessor {
 
     /**
      * Process some update that was added with the passed data.
      */
-    void processUpdate(X data);
+    void processUpdate(Object data);
     
     /**
      * Process some delete that was added with the passed data.
      */
-    void processDelete(X data);
+    void processDelete(Object data);
     
     /**
      * Process some insert that was added with the passed data.
      */
-    void processInsert(X data);
+    void processInsert(Object data);
     
     /**
      * Ends the processing (so that the processor might save all the delta info in a large chunck,
Index: org.python.pydev.core/src/org/python/pydev/core/IInterpreterManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/IInterpreterManager.java,v
retrieving revision 1.2
diff -u -r1.2 IInterpreterManager.java
--- org.python.pydev.core/src/org/python/pydev/core/IInterpreterManager.java	17 Mar 2006 12:54:32 -0000	1.2
+++ org.python.pydev.core/src/org/python/pydev/core/IInterpreterManager.java	23 May 2006 20:35:40 -0000
@@ -85,7 +85,7 @@
      * All the information cached should be cleared but the information related to the passed interpreters
      * @param allButTheseInterpreters name of the interpreters that should not have the information cleared
      */
-    public void clearAllBut(List<String> allButTheseInterpreters);
+    public void clearAllBut(List allButTheseInterpreters);
 
     /**
      * @return whether this manager treats jython
Index: org.python.pydev.core/src/org/python/pydev/core/IModule.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/IModule.java,v
retrieving revision 1.1
diff -u -r1.1 IModule.java
--- org.python.pydev.core/src/org/python/pydev/core/IModule.java	15 Jan 2006 00:25:32 -0000	1.1
+++ org.python.pydev.core/src/org/python/pydev/core/IModule.java	23 May 2006 20:35:40 -0000
@@ -57,7 +57,7 @@
      * @return array of definitions.
      * @throws Exception
      */
-    public abstract IDefinition[] findDefinition(String token, int line, int col, IPythonNature nature, List<FindInfo> findInfo) throws Exception;
+    public abstract IDefinition[] findDefinition(String token, int line, int col, IPythonNature nature, List findInfo) throws Exception;
 
     /**
      * This function should return all tokens that are global for a given token.
@@ -78,6 +78,6 @@
 
     public abstract String getName();
 
-    public abstract List<IToken> getLocalImportedModules(int line, int col);
+    public abstract List getLocalImportedModules(int line, int col);
 
 }
\ No newline at end of file
Index: org.python.pydev.core/src/org/python/pydev/core/IModulesManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/IModulesManager.java,v
retrieving revision 1.2
diff -u -r1.2 IModulesManager.java
--- org.python.pydev.core/src/org/python/pydev/core/IModulesManager.java	25 Jan 2006 16:19:14 -0000	1.2
+++ org.python.pydev.core/src/org/python/pydev/core/IModulesManager.java	23 May 2006 20:35:40 -0000
@@ -28,7 +28,7 @@
     /**
      * @return a set with the names of all available modules
      */
-    public abstract Set<String> getAllModuleNames();
+    public abstract Set getAllModuleNames();
 
     public abstract ModulesKey[] getOnlyDirectModules();
 
@@ -82,6 +82,6 @@
     /**
      * @return the paths that constitute the pythonpath as a list of strings
      */
-    public abstract List<String> getCompletePythonPath();
+    public abstract List getCompletePythonPath();
 
 }
Index: org.python.pydev.core/src/org/python/pydev/core/ISystemModulesManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/ISystemModulesManager.java,v
retrieving revision 1.2
diff -u -r1.2 ISystemModulesManager.java
--- org.python.pydev.core/src/org/python/pydev/core/ISystemModulesManager.java	16 Jan 2006 17:17:33 -0000	1.2
+++ org.python.pydev.core/src/org/python/pydev/core/ISystemModulesManager.java	23 May 2006 20:35:40 -0000
@@ -7,7 +7,7 @@
 
 public interface ISystemModulesManager {
 
-    public abstract void regenerateForcedBuilltins(Collection<String> forcedLibs);
+    public abstract void regenerateForcedBuilltins(Collection forcedLibs);
 
     /**
      * @see org.python.pydev.editor.codecompletion.revisited.ModulesManager#getBuiltins()
@@ -17,6 +17,6 @@
     /**
      * @param forcedLibs
      */
-    public abstract void setBuiltins(Collection<String> forcedLibs);
+    public abstract void setBuiltins(Collection forcedLibs);
 
 }
\ No newline at end of file
Index: org.python.pydev.core/src/org/python/pydev/core/ModulesKey.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/ModulesKey.java,v
retrieving revision 1.2
diff -u -r1.2 ModulesKey.java
--- org.python.pydev.core/src/org/python/pydev/core/ModulesKey.java	22 Jan 2006 20:19:08 -0000	1.2
+++ org.python.pydev.core/src/org/python/pydev/core/ModulesKey.java	23 May 2006 20:35:40 -0000
@@ -63,7 +63,6 @@
         return this.name.hashCode();
     }
 	
-    @Override
     public String toString() {
         if(file != null){
             return name+" - "+file;
Index: org.python.pydev.core/src/org/python/pydev/core/ObjectsPool.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/ObjectsPool.java,v
retrieving revision 1.3
diff -u -r1.3 ObjectsPool.java
--- org.python.pydev.core/src/org/python/pydev/core/ObjectsPool.java	12 Apr 2006 19:45:52 -0000	1.3
+++ org.python.pydev.core/src/org/python/pydev/core/ObjectsPool.java	23 May 2006 20:35:40 -0000
@@ -28,7 +28,6 @@
      * E.g.: If an integer with the value 1 is requested, it will se if that value already exists and return it.
      * If it doesn't exist, the parameter itself will be put in the pool.
      */
-    @SuppressWarnings("unchecked")
 	public synchronized Object getFromPool(Object o){
     	synchronized(pool){
 	        Class class_ = o.getClass();
Index: org.python.pydev.core/src/org/python/pydev/core/REF.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/REF.java,v
retrieving revision 1.19
diff -u -r1.19 REF.java
--- org.python.pydev.core/src/org/python/pydev/core/REF.java	21 Apr 2006 21:00:28 -0000	1.19
+++ org.python.pydev.core/src/org/python/pydev/core/REF.java	23 May 2006 20:35:40 -0000
@@ -182,7 +182,7 @@
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    public static Object getStrAsObj(String persisted, ICallback<Object, ObjectInputStream> readFromFileMethod) throws IOException, ClassNotFoundException {
+    public static Object getStrAsObj(String persisted, ICallback readFromFileMethod) throws IOException, ClassNotFoundException {
         InputStream input = new ByteArrayInputStream(decodeBase64(persisted));
         Object o = readFromInputStreamAndCloseIt(readFromFileMethod, input);
         return o;
@@ -194,7 +194,7 @@
      * @return
      * @throws IOException
      */
-    public static Object readFromInputStreamAndCloseIt(ICallback<Object, ObjectInputStream> readFromFileMethod, InputStream input) {
+    public static Object readFromInputStreamAndCloseIt(ICallback readFromFileMethod, InputStream input) {
         ObjectInputStream in = null;
         Object o = null;
         try {
@@ -314,7 +314,7 @@
      * @param args the arguments received for the call
      * @return the return of the method
      */
-    public static Object invoke(Object obj, String name, Object... args) {
+    public static Object invoke(Object obj, String name, Object [] args) {
         //the args are not checked for the class because if a subclass is passed, the method is not correctly gotten
         //another method might do it...
         Method m = findMethod(obj, name, args);
@@ -322,7 +322,7 @@
     }
 
     
-    public static Object invoke(Object obj, Method m, Object... args) {
+    public static Object invoke(Object obj, Method m, Object [] args) {
         try {
             return m.invoke(obj, args);
         } catch (Exception e) {
@@ -330,24 +330,26 @@
         }
     }
     
-    public static Method findMethod(Object obj, String name, Object... args) {
+    public static Method findMethod(Object obj, String name, Object [] args) {
         return findMethod(obj.getClass(), name, args);   
     }
     
-    public static Method findMethod(Class class_, String name, Object... args) {
+    public static Method findMethod(Class class_, String name, Object [] args) {
         try {
             Method[] methods = class_.getMethods();
-            for (Method method : methods) {
+            for (int i = 0; i < methods.length; i++) {
+				Method method = methods[i];
 
                 Class[] parameterTypes = method.getParameterTypes();
                 if(method.getName().equals(name) && parameterTypes.length == args.length){
                     //check the parameters
-                    int i = 0;
-                    for (Class param : parameterTypes) {
-                        if(!param.isInstance(args[i])){
+                
+                    
+                	for (int j = 0; j < parameterTypes.length; j++) {
+						Class param = parameterTypes[j];
+                        if(!param.isInstance(args[j])){
                             continue;
                         }
-                        i++;
                     }
                     //invoke it
                     return method;
@@ -367,7 +369,8 @@
     public static String getValidProjectName(IProject project) {
         String name = project.getName();
         
-        for (char c : INVALID_FILESYSTEM_CHARS) {
+        for (int i = 0; i < INVALID_FILESYSTEM_CHARS.length; i++) {
+			char c = INVALID_FILESYSTEM_CHARS[i];
             name = name.replace(c, '_');
         }
         
Index: org.python.pydev.core/src/org/python/pydev/core/Tuple.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/Tuple.java,v
retrieving revision 1.4
diff -u -r1.4 Tuple.java
--- org.python.pydev.core/src/org/python/pydev/core/Tuple.java	29 Sep 2005 16:01:11 -0000	1.4
+++ org.python.pydev.core/src/org/python/pydev/core/Tuple.java	23 May 2006 20:35:40 -0000
@@ -10,17 +10,16 @@
  * 
  * @author Fabio
  */
-public class Tuple<X ,Y> implements Serializable{
+public class Tuple implements Serializable{
 
-    public X o1;
-    public Y o2;
+    public Object o1;
+    public Object o2;
 
-    public Tuple(X o1, Y o2) {
+    public Tuple(Object o1, Object o2) {
         this.o1 = o1;
         this.o2 = o2;
     }
     
-    @Override
     public boolean equals(Object obj) {
         if(!(obj instanceof Tuple)){
             return false;
@@ -36,12 +35,10 @@
         return true;
     }
     
-    @Override
     public int hashCode() {
         return o1.hashCode() * o2.hashCode();
     }
     
-    @Override
     public String toString() {
         StringBuffer buffer = new StringBuffer();
         buffer.append("Tuple [");
Index: org.python.pydev.core/src/org/python/pydev/core/Tuple3.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/Tuple3.java,v
retrieving revision 1.1
diff -u -r1.1 Tuple3.java
--- org.python.pydev.core/src/org/python/pydev/core/Tuple3.java	19 Mar 2006 18:48:29 -0000	1.1
+++ org.python.pydev.core/src/org/python/pydev/core/Tuple3.java	23 May 2006 20:35:40 -0000
@@ -10,19 +10,18 @@
  * 
  * @author Fabio
  */
-public class Tuple3<X ,Y, Z> implements Serializable{
+public class Tuple3 implements Serializable{
 
-    public X o1;
-    public Y o2;
-    public Z o3;
+    public Object o1;
+    public Object o2;
+    public Object o3;
 
-    public Tuple3(X o1, Y o2, Z o3) {
+    public Tuple3(Object o1, Object o2, Object o3) {
         this.o1 = o1;
         this.o2 = o2;
         this.o3 = o3;
     }
     
-    @Override
     public boolean equals(Object obj) {
         if(!(obj instanceof Tuple3)){
             return false;
@@ -41,12 +40,10 @@
         return true;
     }
     
-    @Override
     public int hashCode() {
         return o1.hashCode() * o2.hashCode() * o3.hashCode();
     }
     
-    @Override
     public String toString() {
         StringBuffer buffer = new StringBuffer();
         buffer.append("Tuple [");
Index: org.python.pydev.core/src/org/python/pydev/core/bundle/ImageCache.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/bundle/ImageCache.java,v
retrieving revision 1.2
diff -u -r1.2 ImageCache.java
--- org.python.pydev.core/src/org/python/pydev/core/bundle/ImageCache.java	17 Apr 2006 16:25:28 -0000	1.2
+++ org.python.pydev.core/src/org/python/pydev/core/bundle/ImageCache.java	23 May 2006 20:35:40 -0000
@@ -20,7 +20,7 @@
 public class ImageCache {
 	
 	
-	private Map<String, Image> imageHash = new HashMap<String, Image>(10);
+	private Map imageHash = new HashMap(10);
 	private URL baseURL; 
 	private Image missing = null;
 	
Index: org.python.pydev.core/src/org/python/pydev/core/cache/Cache.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/cache/Cache.java,v
retrieving revision 1.1
diff -u -r1.1 Cache.java
--- org.python.pydev.core/src/org/python/pydev/core/cache/Cache.java	14 Feb 2006 15:29:41 -0000	1.1
+++ org.python.pydev.core/src/org/python/pydev/core/cache/Cache.java	23 May 2006 20:35:41 -0000
@@ -5,20 +5,20 @@
 /**
  * Defines the interface for a cache
  */
-public interface Cache<Key, Val> {
+public interface Cache {
 
 	/**
 	 * This method returns the value for the given key. 
 	 */
-	public Val getObj(Key o);
+	public Object getObj(Object o);
 
 	/**
 	 * This method removes some key from the cache
 	 */
-	public void remove(Key key);
+	public void remove(Object key);
 
 	/**
 	 * Adds some value to the cache
 	 */
-	public void add(Key key, Val n);
+	public void add(Object key, Object n);
 }
Index: org.python.pydev.core/src/org/python/pydev/core/cache/DiskCache.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/cache/DiskCache.java,v
retrieving revision 1.4
diff -u -r1.4 DiskCache.java
--- org.python.pydev.core/src/org/python/pydev/core/cache/DiskCache.java	22 Apr 2006 14:05:09 -0000	1.4
+++ org.python.pydev.core/src/org/python/pydev/core/cache/DiskCache.java	23 May 2006 20:35:41 -0000
@@ -6,6 +6,7 @@
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.Set;
 
 import org.python.pydev.core.REF;
@@ -20,7 +21,7 @@
  * 
  * -- And yes, the cache itself is serializable! 
  */
-public class DiskCache extends LRUCache<String, Serializable> implements Serializable{
+public class DiskCache extends LRUCache implements Serializable{
 
 	private static final long serialVersionUID = 1L;
 
@@ -34,7 +35,7 @@
 	/**
 	 * The keys will be in memory all the time... only the values will come and go to the disk.
 	 */
-	private Set<String> keys = new HashSet<String>();
+	private Set keys = new HashSet();
 	
 	/**
 	 * The files persisted should have this suffix (should start with .)
@@ -44,11 +45,10 @@
     /**
      * Custom deserialization is needed.
      */
-    @SuppressWarnings("unchecked")
 	private void readObject(ObjectInputStream aStream) throws IOException, ClassNotFoundException {
     	
         aStream.defaultReadObject();
-        keys = (Set<String>) aStream.readObject();
+        keys = (Set) aStream.readObject();
         folderToPersist = (String) aStream.readObject();
         suffix = (String) aStream.readObject();
         maxSize = aStream.readInt();
@@ -83,7 +83,7 @@
 	
 	public synchronized Serializable getObj(String key) {
 		synchronized(cache){
-			Serializable v = super.getObj(key);
+			Serializable v = (Serializable) super.getObj(key);
 			if(v == null && keys.contains(key)){
 				//miss in memory... get from disk
 				File file = getFileForKey(key);
@@ -144,7 +144,9 @@
 	 */
 	public synchronized void clear() {
 		synchronized(cache){
-			for(String key : keys){
+            for (Iterator iter = keys.iterator(); iter.hasNext();) {
+                String key = (String) iter.next();
+               
 				super.remove(key);
 				File fileForKey = getFileForKey(key);
 				fileForKey.delete();
@@ -156,9 +158,9 @@
 	/**
 	 * @return a copy of the keys available 
 	 */
-	public synchronized Set<String> keys() {
+	public synchronized Set keys() {
 		synchronized(cache){
-			return new HashSet<String>(keys);
+			return new HashSet(keys);
 		}
 	}
 
Index: org.python.pydev.core/src/org/python/pydev/core/cache/LRUCache.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/cache/LRUCache.java,v
retrieving revision 1.3
diff -u -r1.3 LRUCache.java
--- org.python.pydev.core/src/org/python/pydev/core/cache/LRUCache.java	12 Apr 2006 17:22:17 -0000	1.3
+++ org.python.pydev.core/src/org/python/pydev/core/cache/LRUCache.java	23 May 2006 20:35:41 -0000
@@ -14,8 +14,8 @@
  * 
  * (it is actually serializable or not depending on its keys and values)
  */
-public class LRUCache<Key, Val> implements Cache<Key, Val>, Serializable{
-
+public class LRUCache implements Cache, Serializable{ 
+    
 	protected int maxSize;
 
 	private static final long serialVersionUID = 1L;
@@ -27,8 +27,8 @@
 		cache = createMap(maxSize);
 	}
 
-	protected LinkedHashMap<Key, Val> createMap(int maxSize) {
-		return new LinkedHashMap<Key,Val>(maxSize+1, .75F, true) {
+	protected LinkedHashMap createMap(int maxSize) {
+		return new LinkedHashMap(maxSize+1, .75F, true) {
 	        // This method is called just after a new entry has been added
 	        public boolean removeEldestEntry(Map.Entry eldest) {
 	            return size() > LRUCache.this.maxSize;
@@ -41,7 +41,7 @@
 			removeEntries--;
 			if(removeEntries == 0){
 				maxSize = initialMaxSize;
-				Iterator<Entry<Key, Val>> iter = cache.entrySet().iterator();
+				Iterator iter = cache.entrySet().iterator();
 				//go to the position of the 'eldest' entries
 				for (int i = 0; i < cache.size() - maxSize; i++) {
 					iter.next();
@@ -78,17 +78,17 @@
 	}
 	
 	//Create cache
-    protected LinkedHashMap<Key,Val> cache;
+    protected LinkedHashMap cache;
     
-	public Val getObj(Key key) {
+	public Object getObj(Object key) {
 		return cache.get(key);
 	}
     
-	public void remove(Key key) {
+	public void remove(Object key) {
 		cache.remove(key);
 	}
 	
-	public void add(Key key, Val val) {
+	public void add(Object key, Object val) {
 		cache.put(key, val);
 	}
 	
Index: org.python.pydev.core/src/org/python/pydev/core/docutils/PySelection.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/docutils/PySelection.java,v
retrieving revision 1.12
diff -u -r1.12 PySelection.java
--- org.python.pydev.core/src/org/python/pydev/core/docutils/PySelection.java	13 Apr 2006 15:40:42 -0000	1.12
+++ org.python.pydev.core/src/org/python/pydev/core/docutils/PySelection.java	23 May 2006 20:35:41 -0000
@@ -706,13 +706,13 @@
         return doc.get(absoluteCursorOffset, end-absoluteCursorOffset);
     }
 
-    public Tuple<String, Integer> getCurrToken() throws BadLocationException {
-        Tuple<String, Integer> tup = extractPrefix(doc, getAbsoluteCursorOffset(), false);
-        String prefix = tup.o1;
+    public Tuple getCurrToken() throws BadLocationException {
+        Tuple tup = extractPrefix(doc, getAbsoluteCursorOffset(), false);
+        String prefix = (String) tup.o1;
 
         // ok, now, get the rest of the token, as we already have its prefix
 
-        int start = tup.o2-prefix.length();
+        int start = ((Integer)tup.o2).intValue() - prefix.length();
         int end = start;
         while (doc.getLength() - 1 >= end) {
             char ch = doc.getChar(end);
@@ -722,8 +722,8 @@
                 break;
             }
         }
-        String post = doc.get(tup.o2, end-tup.o2);
-        return new Tuple<String, Integer>(prefix+post, start);
+        String post = doc.get(((Integer)tup.o2).intValue(), end - ((Integer)tup.o2).intValue());
+        return new Tuple(prefix+post, new Integer(start));
     }
  
    /**
@@ -733,8 +733,8 @@
     * 
     * @return a Tuple so that the first param is the list and the second the offset of the end of the parentesis it may return null if no starting parentesis was found at the current line
     */
-    public Tuple<List<String>, Integer> getInsideParentesisToks(boolean addSelf) {
-        List<String> l = new ArrayList<String>();
+    public Tuple getInsideParentesisToks(boolean addSelf) {
+        List l = new ArrayList();
 
         String line = getLine();
         int openParIndex = line.indexOf('(');
@@ -760,7 +760,7 @@
                 l.add(trimmed);
             }
         }
-        return new Tuple<List<String>, Integer>(l, j);
+        return new Tuple(l, new Integer(j));
     }
 
 
@@ -800,7 +800,7 @@
      * - a String with the line where some dedent token was found while looking for that scope.
      * - a string with the lowest indent (null if none was found)
      */
-    public Tuple3<String, String, String> getPreviousLineThatStartsScope() {
+    public Tuple3 getPreviousLineThatStartsScope() {
         DocIterator iterator = new DocIterator(false);
         String foundDedent = null;
         int lowest = Integer.MAX_VALUE;
@@ -810,10 +810,11 @@
             String line = (String) iterator.next();
             String trimmed = line.trim();
             
-            for (String dedent : PySelection.INDENT_TOKENS) {
+            for (int i = 0; i < PySelection.INDENT_TOKENS.length; i++) {
+                String dedent = PySelection.INDENT_TOKENS[i];
             	if(trimmed.startsWith(dedent)){
             		if(isCompleteToken(trimmed, dedent)){
-            			return new Tuple3<String, String, String>(line, foundDedent, lowestStr);
+            			return new Tuple3(line, foundDedent, lowestStr);
             		}
             	}
             }
@@ -846,7 +847,7 @@
 
 
     public static String extractPrefix(IDocument document, int offset) {
-    	return extractPrefix(document, offset, false).o1;
+    	return (String) extractPrefix(document, offset, false).o1;
     }
 
 
@@ -893,14 +894,14 @@
      * @return the activation token and the qualifier.
      */
     public static String [] getActivationTokenAndQual(IDocument theDoc, int documentOffset, boolean getFullQualifier) {
-        Tuple<String, Integer> tupPrefix = extractPrefix(theDoc, documentOffset, getFullQualifier);
+        Tuple tupPrefix = extractPrefix(theDoc, documentOffset, getFullQualifier);
         
         if(getFullQualifier == true){
         	//may have changed
-        	documentOffset = tupPrefix.o2;
+        	documentOffset = ((Integer)tupPrefix.o2).intValue();
         }
         
-    	String activationToken = tupPrefix.o1;
+    	String activationToken = (String)tupPrefix.o1;
         documentOffset = documentOffset-activationToken.length()-1;
     
         try {
@@ -971,7 +972,7 @@
      * @param getFullQualifier if true we get the full qualifier (even if it passes the current cursor location)
      * @return
      */
-    public static Tuple<String, Integer> extractPrefix(IDocument document, int offset, boolean getFullQualifier) {
+    public static Tuple extractPrefix(IDocument document, int offset, boolean getFullQualifier) {
     	try {
     		if(getFullQualifier){
     			//if we have to get the full qualifier, we'll have to walk the offset (cursor) forward
@@ -988,7 +989,7 @@
     		int i= offset;
     		
     		if (i > document.getLength())
-    			return new Tuple<String, Integer>("", document.getLength()); //$NON-NLS-1$
+    			return new Tuple("", new Integer(document.getLength())); //$NON-NLS-1$
     	
     		while (i > 0) {
     			char ch= document.getChar(i - 1);
@@ -997,9 +998,9 @@
     			i--;
     		}
     
-    		return new Tuple<String, Integer>(document.get(i, offset - i), offset);
+    		return new Tuple(document.get(i, offset - i), new Integer(offset));
     	} catch (BadLocationException e) {
-    		return new Tuple<String, Integer>("", offset); //$NON-NLS-1$
+    		return new Tuple("", new Integer(offset)); //$NON-NLS-1$
     	}
     }
 
@@ -1122,7 +1123,8 @@
 
 
     public static boolean startsWithDedentToken(String trimmedLine) {
-        for (String dedent : PySelection.DEDENT_TOKENS) {
+        for (int i = 0; i < PySelection.DEDENT_TOKENS.length; i++) {
+            String dedent = PySelection.DEDENT_TOKENS[i];
             if(trimmedLine.startsWith(dedent)){
                 return isCompleteToken(trimmedLine, dedent);
             }
Index: org.python.pydev.core/src/org/python/pydev/core/docutils/StringUtils.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/src/org/python/pydev/core/docutils/StringUtils.java,v
retrieving revision 1.3
diff -u -r1.3 StringUtils.java
--- org.python.pydev.core/src/org/python/pydev/core/docutils/StringUtils.java	22 Mar 2006 01:41:59 -0000	1.3
+++ org.python.pydev.core/src/org/python/pydev/core/docutils/StringUtils.java	23 May 2006 20:35:41 -0000
@@ -5,7 +5,7 @@
 
 public class StringUtils {
 
-    public static String format(String str, Object ... args){
+    public static String format(String str, Object[] args){
         StringBuffer buffer = new StringBuffer();
         int j = 0;
         
Index: org.python.pydev.core/tests/org/python/pydev/core/DeltaSaverTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/tests/org/python/pydev/core/DeltaSaverTest.java,v
retrieving revision 1.2
diff -u -r1.2 DeltaSaverTest.java
--- org.python.pydev.core/tests/org/python/pydev/core/DeltaSaverTest.java	14 Oct 2005 01:36:17 -0000	1.2
+++ org.python.pydev.core/tests/org/python/pydev/core/DeltaSaverTest.java	23 May 2006 20:35:41 -0000
@@ -24,15 +24,16 @@
 
     protected void tearDown() throws Exception {
         super.tearDown();
-        new DeltaSaver<Object>(new File("."), "deltatest", getCallBack()).clearAll(); //leave no traces
+        new DeltaSaver(new File("."), "deltatest", getCallBack()).clearAll(); //leave no traces
     }
 
-    private ICallback<Object, ObjectInputStream> getCallBack() {
-        return new ICallback<Object, ObjectInputStream>(){
+    private ICallback getCallBack() {
+        return new ICallback(){
 
-            public Object call(ObjectInputStream arg) {
+            public Object call(Object arg) {
                 try {
-                    return arg.readObject();
+                    ObjectInputStream arg1 = (ObjectInputStream) arg;
+                    return arg1.readObject();
                 } catch (IOException e) {
                     throw new RuntimeException(e);
                 } catch (ClassNotFoundException e) {
@@ -41,24 +42,24 @@
             }};
     }
 
-    public static class DeltaProcessor implements IDeltaProcessor<String>{
+    public static class DeltaProcessor implements IDeltaProcessor{
 
-        public List<String> state = new ArrayList<String>();
+        public List state = new ArrayList();
         
         public int processed;
 
-        public void processUpdate(String data) {
+        public void processUpdate(Object data) {
             throw new RuntimeException("should not be called");
         }
 
-        public void processDelete(String data) {
+        public void processDelete(Object data) {
             processed+=1;
             state.remove(data);
         }
 
-        public void processInsert(String data) {
+        public void processInsert(Object data) {
             processed+=1;
-            state.add((String) data);
+            state.add(data);
         }
 
         public void endProcessing() {
@@ -67,12 +68,12 @@
     }
 
     public void testSaveRestore() throws Exception {
-        DeltaSaver<String> saver = new DeltaSaver<String>(new File("."), "deltatest", getCallBack());
+        DeltaSaver saver = new DeltaSaver(new File("."), "deltatest", getCallBack());
         saver.addInsertCommand("ins1");
         saver.addInsertCommand("ins2");
         saver.addDeleteCommand("ins1");
         
-        DeltaSaver<String> restorer = new DeltaSaver<String>(new File("."), "deltatest", getCallBack());
+        DeltaSaver restorer = new DeltaSaver(new File("."), "deltatest", getCallBack());
         assertEquals(3, restorer.availableDeltas());
         DeltaProcessor deltaProcessor = new DeltaProcessor();
         restorer.processDeltas(deltaProcessor);
@@ -80,7 +81,7 @@
         assertEquals(1, deltaProcessor.state.size());
         assertEquals("ins2", deltaProcessor.state.get(0));
 
-        restorer = new DeltaSaver<String>(new File("."), "deltatest", getCallBack());
+        restorer = new DeltaSaver(new File("."), "deltatest", getCallBack());
         assertEquals(0, restorer.availableDeltas());
         
     }
@@ -88,22 +89,22 @@
 
     
     
-    public static class InsertDeltaProcessor implements IDeltaProcessor<Integer>{
+    public static class InsertDeltaProcessor implements IDeltaProcessor{
 
-        public List<String> state = new ArrayList<String>();
+        public List state = new ArrayList();
         
         public int processed;
 
-        public void processUpdate(Integer data) {
+        public void processUpdate(Object data) {
             throw new RuntimeException("should not be called");
         }
 
-        public void processDelete(Integer data) {
+        public void processDelete(Object data) {
             throw new RuntimeException("should not be called");
         }
 
-        public void processInsert(Integer data) {
-            assertEquals((Object)processed, (Object)data);
+        public void processInsert(Object data) {
+            assertEquals(new Integer(processed), data);
             processed+=1;
         }
 
@@ -114,11 +115,11 @@
 
     public void testSaveRestore3() throws Exception {
         //check if the order is correct
-        DeltaSaver<Integer> saver = new DeltaSaver<Integer>(new File("."), "deltatest", getCallBack());
+        DeltaSaver saver = new DeltaSaver(new File("."), "deltatest", getCallBack());
         for (int i = 0; i < 50; i++) {
-            saver.addInsertCommand(i);
+            saver.addInsertCommand(new Integer(i));
         }
-        DeltaSaver<Integer> restorer = new DeltaSaver<Integer>(new File("."), "deltatest", getCallBack());
+        DeltaSaver restorer = new DeltaSaver(new File("."), "deltatest", getCallBack());
         assertEquals(50, restorer.availableDeltas());
         restorer.processDeltas(new InsertDeltaProcessor());
     }
Index: org.python.pydev.core/tests/org/python/pydev/core/FullRepIterableTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/tests/org/python/pydev/core/FullRepIterableTest.java,v
retrieving revision 1.4
diff -u -r1.4 FullRepIterableTest.java
--- org.python.pydev.core/tests/org/python/pydev/core/FullRepIterableTest.java	16 Nov 2005 13:28:40 -0000	1.4
+++ org.python.pydev.core/tests/org/python/pydev/core/FullRepIterableTest.java	23 May 2006 20:35:41 -0000
@@ -57,7 +57,9 @@
         assertFalse(iterator.hasNext());
         
         int i = 0;
-        for(String dummy : new FullRepIterable("testlib.unittest.relative")){
+        for (Iterator iter = new FullRepIterable("testlib.unittest.relative").iterator(); iter.hasNext();) {
+            String dummy = (String) iter.next();
+            
             i++;
         }
         assertEquals(3, i);
@@ -72,7 +74,9 @@
         assertFalse(iterator.hasNext());
         
         int i = 0;
-        for(String dummy : new FullRepIterable("testlib.unittest.relative")){
+        for (Iterator iter = new FullRepIterable("testlib.unittest.relative").iterator(); iter.hasNext();) {
+            String dummy = (String) iter.next();
+            
             i++;
         }
         assertEquals(3, i);
Index: org.python.pydev.core/tests/org/python/pydev/core/cache/LRUCacheTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.core/org.python.pydev.core/tests/org/python/pydev/core/cache/LRUCacheTest.java,v
retrieving revision 1.1
diff -u -r1.1 LRUCacheTest.java
--- org.python.pydev.core/tests/org/python/pydev/core/cache/LRUCacheTest.java	12 Apr 2006 17:22:17 -0000	1.1
+++ org.python.pydev.core/tests/org/python/pydev/core/cache/LRUCacheTest.java	23 May 2006 20:35:41 -0000
@@ -20,21 +20,21 @@
 		
 	}
 	public void testRegular() throws Exception {
-		LRUCache<Integer, Integer> cache = new LRUCache<Integer, Integer>(2);
-		cache.add(1,1);
-		cache.add(2,2);
-		cache.add(3,3);
-		assertNull(cache.getObj(1));
+		LRUCache cache = new LRUCache(2);
+		cache.add(new Integer(1),new Integer(1));
+		cache.add(new Integer(2),new Integer(2));
+		cache.add(new Integer(3),new Integer(3));
+		assertNull(cache.getObj(new Integer(1)));
 		
-		cache.add(4,4);
-		assertNull(cache.getObj(2));
+		cache.add(new Integer(4),new Integer(4));
+		assertNull(cache.getObj(new Integer(2)));
 		
 		//there is only 3 and 4 now
 		cache.startGrowAsNeeded(Integer.MAX_VALUE);
-		cache.add(5,5);
-		cache.add(6,6);
-		assertNotNull(cache.getObj(3));
-		assertNotNull(cache.getObj(4));
+		cache.add(new Integer(5),new Integer(5));
+		cache.add(new Integer(6),new Integer(6));
+		assertNotNull(cache.getObj(new Integer(3)));
+		assertNotNull(cache.getObj(new Integer(4)));
 		
 		cache.stopGrowAsNeeded();
 		assertEquals(2, cache.cache.size());
Index: src/org/python/pydev/debug/model/AbstractDebugTarget.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/model/AbstractDebugTarget.java,v
retrieving revision 1.6
diff -u -r1.6 AbstractDebugTarget.java
--- org.python.pydev.debug/src/org/python/pydev/debug/model/AbstractDebugTarget.java	22 Feb 2006 16:14:32 -0000	1.6
+++ org.python.pydev.debug/src/org/python/pydev/debug/model/AbstractDebugTarget.java	23 May 2006 20:35:45 -0000
@@ -1,6 +1,7 @@
 package org.python.pydev.debug.model;
 
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -229,7 +230,9 @@
 	 * @return an existing thread with a given id (null if none)
 	 */
 	protected PyThread findThreadByID(String thread_id)  {		
-		for (IThread thread : threads){
+	    for (int i = 0; i < threads.length; i++) {
+            IThread thread= threads[i];
+            
 			if (thread_id.equals(((PyThread)thread).getId())){
 				return (PyThread)thread;
             }
@@ -271,7 +274,9 @@
                     IThread[] newnewThreads = new IThread[newSize];
 					int i = 0;
                     
-					for (IThread newThread: newThreads){
+                    for (int j = 0; j < newThreads.length; j++) {
+                        IThread newThread = newThreads[j];
+                        
 						if (!((PyThread)newThread).isPydevThread()){
 							newnewThreads[i] = newThread;
                             i += 1;
@@ -373,8 +378,8 @@
      * @param stackFrames the stack frames that should be gotten as a map
      * @return a map with the id of the stack pointing to the stack itself
      */
-    private Map<String, IStackFrame> getStackFrameArrayAsMap(IStackFrame[] stackFrames){
-        HashMap<String, IStackFrame> map = new HashMap<String, IStackFrame>();
+    private Map getStackFrameArrayAsMap(IStackFrame[] stackFrames){
+        HashMap map = new HashMap();
         for (int i = 0; i < stackFrames.length; i++) {
             PyStackFrame s = (PyStackFrame) stackFrames[i];
             map.put(s.getId(), s);
@@ -389,11 +394,11 @@
 	private void verifyModified(IStackFrame[] stackFrame) {
 	    if( oldStackFrame!=null ) {
     		
-            Map<String, IStackFrame> oldStackFrameArrayAsMap = getStackFrameArrayAsMap(oldStackFrame);
+            Map oldStackFrameArrayAsMap = getStackFrameArrayAsMap(oldStackFrame);
             for( int i=0; i<stackFrame.length; i++ ) {
     			PyStackFrame newFrame = (PyStackFrame)stackFrame[i];
     		
-                IStackFrame oldFrame = oldStackFrameArrayAsMap.get(newFrame.getId());
+                IStackFrame oldFrame = (IStackFrame) oldStackFrameArrayAsMap.get(newFrame.getId());
                 if(oldFrame != null){
 					verifyVariablesModified( newFrame, (PyStackFrame) oldFrame );
     			}
@@ -411,7 +416,7 @@
 		PyVariable newVariable = null;
         
 		try {
-            Map<String, IVariable> variablesAsMap = oldFrame.getVariablesAsMap();
+            Map variablesAsMap = oldFrame.getVariablesAsMap();
 			IVariable[] newFrameVariables = newFrame.getVariables();
             
             //we have to check for each new variable
@@ -490,7 +495,9 @@
 
         // now, register all the breakpoints in all projects
         IProject projects[] = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-        for (IProject project : projects) {
+        for (int i = 0; i < projects.length; i++) {
+            IProject project = projects[i];
+            
         	if(!project.isOpen()){
         		continue;
         	}
@@ -500,7 +507,9 @@
                 IMarker[] condMarkers = project.findMarkers(PyBreakpoint.PY_CONDITIONAL_BREAK_MARKER, true, IResource.DEPTH_INFINITE);
                 IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
                 
-                for (IMarker marker : markers) {
+                for (int j = 0; j < markers.length; j++) {
+                    IMarker marker = markers[j];
+                    
                     PyBreakpoint brk = (PyBreakpoint) breakpointManager.getBreakpoint(marker);
                     
                     if (brk.isEnabled()) {
@@ -509,7 +518,9 @@
                     }
                 }
                 
-                for (IMarker marker: condMarkers) {
+                for (int j = 0; j < condMarkers.length; j++) {
+                    IMarker marker = condMarkers[j];
+                    
                 	PyBreakpoint brk = (PyBreakpoint) breakpointManager.getBreakpoint(marker);
                 	if (brk.isEnabled()) {
                 		SetBreakpointCommand cmd = new SetBreakpointCommand(debugger, brk.getFile(), brk.getLine(), brk.getCondition());
@@ -530,12 +541,11 @@
      * This function adds the input listener extension point, so that plugins that only care about
      * the input in the console can know about it.
      */
-    @SuppressWarnings("unchecked")
     public void addConsoleInputListener(){
     	IConsole console = DebugUITools.getConsole(this.getProcess());
 	    if (console instanceof ProcessConsole) {
 	    	final ProcessConsole c = (ProcessConsole) console;
-	    	final List<IConsoleInputListener> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_DEBUG_CONSOLE_INPUT_LISTENER);
+	    	final List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_DEBUG_CONSOLE_INPUT_LISTENER);
 	    	final AbstractDebugTarget target = this;
 	    	//let's listen the doc for the changes
 	    	c.getDocument().addDocumentListener(new IDocumentListener(){
@@ -553,7 +563,9 @@
 									if(event.fText.length() <= 2){
 										//the user typed something
 										final String inputFound = p.getString();
-										for (IConsoleInputListener listener : participants) {
+                                        for (Iterator iter = participants.iterator(); iter.hasNext();) {
+                                            IConsoleInputListener listener = (IConsoleInputListener) iter.next();
+                                            
 											listener.newLineReceived(inputFound, target);
 										}
 									}
@@ -579,7 +591,9 @@
 								if(p.getType().equals(IOConsolePartition.INPUT_PARTITION_TYPE)){
 									if(event.fText.length() > 2){
 										//the user pasted something
-										for (IConsoleInputListener listener : participants) {
+                                        for (Iterator iter = participants.iterator(); iter.hasNext();) {
+                                            IConsoleInputListener listener = (IConsoleInputListener) iter.next();
+                                            
 											listener.pasteReceived(event.fText, target);
 										}
 									}
Index: src/org/python/pydev/debug/model/DeferredWorkbenchAdapter.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/model/DeferredWorkbenchAdapter.java,v
retrieving revision 1.5
diff -u -r1.5 DeferredWorkbenchAdapter.java
--- org.python.pydev.debug/src/org/python/pydev/debug/model/DeferredWorkbenchAdapter.java	13 Apr 2006 20:02:54 -0000	1.5
+++ org.python.pydev.debug/src/org/python/pydev/debug/model/DeferredWorkbenchAdapter.java	23 May 2006 20:35:45 -0000
@@ -21,7 +21,6 @@
 		this.parent = parent;
 	}
 	
-	@Override
 	public boolean isContainer() {
 		if(parent instanceof PyVariableCollection){
 			return true;
Index: src/org/python/pydev/debug/model/PyStackFrame.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/model/PyStackFrame.java,v
retrieving revision 1.11
diff -u -r1.11 PyStackFrame.java
--- org.python.pydev.debug/src/org/python/pydev/debug/model/PyStackFrame.java	9 Feb 2006 18:52:30 -0000	1.11
+++ org.python.pydev.debug/src/org/python/pydev/debug/model/PyStackFrame.java	23 May 2006 20:35:45 -0000
@@ -117,9 +117,12 @@
      * 
      * @return the map
      */
-	public Map<String, IVariable> getVariablesAsMap() throws DebugException {
-        HashMap<String, IVariable> map = new HashMap<String, IVariable>();
-        for (IVariable var : variables) {
+	public Map getVariablesAsMap() throws DebugException {
+        HashMap map = new HashMap();
+        
+        for (int i = 0; i < variables.length; i++) {
+            IVariable var = variables[i];
+            
             map.put(var.getName(), var);
         }
 	    return map;
Index: src/org/python/pydev/debug/model/XMLUtils.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/model/XMLUtils.java,v
retrieving revision 1.11
diff -u -r1.11 XMLUtils.java
--- org.python.pydev.debug/src/org/python/pydev/debug/model/XMLUtils.java	20 Jan 2006 13:24:42 -0000	1.11
+++ org.python.pydev.debug/src/org/python/pydev/debug/model/XMLUtils.java	23 May 2006 20:35:45 -0000
@@ -58,7 +58,7 @@
 	static class XMLToThreadInfo extends DefaultHandler {
 		
 		public AbstractDebugTarget target;
-		public List<PyThread> threads = new ArrayList<PyThread>();
+		public List threads = new ArrayList();
 		
 		public XMLToThreadInfo(AbstractDebugTarget target) {
 			this.target = target;
@@ -132,8 +132,8 @@
 	static class XMLToStackInfo extends DefaultHandler {
 		public PyThread thread;
 		public String stop_reason;
-		public List<IStackFrame> stack = new ArrayList<IStackFrame>();
-		public List<PyVariable> locals;
+		public List stack = new ArrayList();
+		public List locals;
 		public AbstractDebugTarget target;
 		PyStackFrame currentFrame;
 		
@@ -179,7 +179,7 @@
 		}
 		
 		private void initializeLocals() {
-			locals = new ArrayList<PyVariable>();
+			locals = new ArrayList();
 			PyVariableCollection global = new PyVariableCollection(target, "Globals", "frame.f_global", "Global variables", currentFrame.getGlobalLocator());
 			locals.add(global);	// locals always include global as the top
 		}
@@ -228,7 +228,7 @@
 					initializeLocals();
 				}
 				
-				IVariable[] locArry = locals.toArray(new IVariable[0]);
+				IVariable[] locArry = (IVariable[]) locals.toArray(new IVariable[0]);
 				currentFrame.setVariables(locArry);
 				locals = null;
 			}
@@ -247,7 +247,7 @@
 			XMLToStackInfo info = new XMLToStackInfo(target);
 			parser.parse(new ByteArrayInputStream(payload.getBytes()), info);
 			
-			stack = info.stack.toArray(new IStackFrame[0]);
+			stack = (IStackFrame[]) info.stack.toArray(new IStackFrame[0]);
 			
 			retVal[0] = info.thread;
 			retVal[1] = info.stop_reason;
@@ -270,12 +270,12 @@
 	static class XMLToVariableInfo extends DefaultHandler {
 		private AbstractDebugTarget target;
 		private IVariableLocator locator;
-		public List<PyVariable> vars;
+		public List vars;
 		
 		public XMLToVariableInfo(AbstractDebugTarget target, IVariableLocator locator) {
 			this.target = target;
 			this.locator = locator;
-			vars = new ArrayList<PyVariable>();
+			vars = new ArrayList();
 		}
 		
 		public void startElement(String uri, String localName, String qName,
Index: src/org/python/pydev/debug/model/remote/GetFrameCommand.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/model/remote/GetFrameCommand.java,v
retrieving revision 1.1
diff -u -r1.1 GetFrameCommand.java
--- org.python.pydev.debug/src/org/python/pydev/debug/model/remote/GetFrameCommand.java	20 Jan 2006 13:24:42 -0000	1.1
+++ org.python.pydev.debug/src/org/python/pydev/debug/model/remote/GetFrameCommand.java	23 May 2006 20:35:45 -0000
@@ -6,7 +6,6 @@
 		super(debugger, locator);
 	}
 	
-	@Override
 	protected int getCommandId() {
 		return CMD_GET_FRAME;
 	}
Index: src/org/python/pydev/debug/ui/MainModuleTab.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/MainModuleTab.java,v
retrieving revision 1.3
diff -u -r1.3 MainModuleTab.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/MainModuleTab.java	22 Feb 2006 00:25:12 -0000	1.3
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/MainModuleTab.java	23 May 2006 20:35:45 -0000
@@ -174,7 +174,6 @@
         return "Main";
     }
     
-    @Override
     public Image getImage() {
         return PydevPlugin.getImageCache().get(Constants.MAIN_ICON);
     }
Index: src/org/python/pydev/debug/ui/actions/BreakpointRulerAction.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/BreakpointRulerAction.java,v
retrieving revision 1.3
diff -u -r1.3 BreakpointRulerAction.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/BreakpointRulerAction.java	17 Dec 2005 12:58:44 -0000	1.3
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/BreakpointRulerAction.java	23 May 2006 20:35:45 -0000
@@ -128,11 +128,11 @@
 				IMarker[] markers= null;
 				if (resource instanceof IFile) {
 					markers= resource.findMarkers(PyBreakpoint.PY_BREAK_MARKER, true, IResource.DEPTH_INFINITE);
-					List<IMarker> markerList = Arrays.asList(markers);
-					ArrayList<IMarker> fillMarkers = new ArrayList(markerList);
+					List markerList = Arrays.asList(markers);
+					ArrayList fillMarkers = new ArrayList(markerList);
 					fillMarkers.addAll(Arrays.asList(resource.findMarkers(PyBreakpoint.PY_CONDITIONAL_BREAK_MARKER, true, IResource.DEPTH_INFINITE)));
 					markers = new IMarker[fillMarkers.size()];
-					markers = fillMarkers.toArray(markers);
+					markers = (IMarker[]) fillMarkers.toArray(markers);
 				} else {
 					IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
 					markers= root.findMarkers(PyBreakpoint.PY_BREAK_MARKER, true, IResource.DEPTH_INFINITE);
Index: src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerAction.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerAction.java,v
retrieving revision 1.1
diff -u -r1.1 EnableDisableBreakpointRulerAction.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerAction.java	17 Dec 2005 12:58:44 -0000	1.1
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerAction.java	23 May 2006 20:35:45 -0000
@@ -40,7 +40,6 @@
         }
 	}
 
-	@Override
 	public void run() {
 		
 		if (getBreakpoint() != null) {
Index: src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java,v
retrieving revision 1.1
diff -u -r1.1 EnableDisableBreakpointRulerActionDelegate.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java	17 Dec 2005 12:58:44 -0000	1.1
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java	23 May 2006 20:35:45 -0000
@@ -8,7 +8,6 @@
 public class EnableDisableBreakpointRulerActionDelegate extends
 		AbstractRulerActionDelegate {
 
-	@Override
 	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
 		return new EnableDisableBreakpointRulerAction(editor, rulerInfo);
 	}
Index: src/org/python/pydev/debug/ui/actions/PythonBreakpointPropertiesRulerActionDelegate.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/PythonBreakpointPropertiesRulerActionDelegate.java,v
retrieving revision 1.1
diff -u -r1.1 PythonBreakpointPropertiesRulerActionDelegate.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/PythonBreakpointPropertiesRulerActionDelegate.java	17 Dec 2005 12:58:44 -0000	1.1
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/actions/PythonBreakpointPropertiesRulerActionDelegate.java	23 May 2006 20:35:45 -0000
@@ -18,7 +18,6 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
 	 */
-	@Override
 	protected IAction createAction(ITextEditor editor,
 			IVerticalRulerInfo rulerInfo) {
 		return new PythonBreakpointPropertiesRulerAction(editor, rulerInfo);
Index: src/org/python/pydev/debug/ui/launching/JythonLaunchConfigurationDelegate.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/JythonLaunchConfigurationDelegate.java,v
retrieving revision 1.1
diff -u -r1.1 JythonLaunchConfigurationDelegate.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/JythonLaunchConfigurationDelegate.java	14 Aug 2005 21:28:14 -0000	1.1
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/JythonLaunchConfigurationDelegate.java	23 May 2006 20:35:45 -0000
@@ -6,7 +6,6 @@
 
 public class JythonLaunchConfigurationDelegate extends AbstractLaunchConfigurationDelegate {
 
-    @Override
     protected String getRunnerConfigRun() {
         return PythonRunnerConfig.RUN_JYTHON;
     }
Index: src/org/python/pydev/debug/ui/launching/JythonLaunchShortcut.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/JythonLaunchShortcut.java,v
retrieving revision 1.2
diff -u -r1.2 JythonLaunchShortcut.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/JythonLaunchShortcut.java	22 Feb 2006 00:25:12 -0000	1.2
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/JythonLaunchShortcut.java	23 May 2006 20:35:45 -0000
@@ -9,12 +9,10 @@
 
 public class JythonLaunchShortcut extends AbstractLaunchShortcut{
 
-    @Override
     protected String getLaunchConfigurationType() {
         return Constants.ID_JYTHON_LAUNCH_CONFIGURATION_TYPE;
     }
     
-    @Override
     protected IInterpreterManager getInterpreterManager() {
         return PydevPlugin.getJythonInterpreterManager();
     }
Index: src/org/python/pydev/debug/ui/launching/PythonRunner.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/PythonRunner.java,v
retrieving revision 1.24
diff -u -r1.24 PythonRunner.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/PythonRunner.java	7 Apr 2006 16:33:44 -0000	1.24
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/PythonRunner.java	23 May 2006 20:35:45 -0000
@@ -130,7 +130,7 @@
         
         // Launch & connect to the debugger		
         subMonitor.subTask("Constructing command_line...");
-        String commandLineAsString = SimpleRunner.getCommandLineAsString(cmdLine);
+        String commandLineAsString = SimpleRunner.getCommandLineAsString(cmdLine, new String[] {});
         System.out.println("running command line: "+commandLineAsString);
         Map processAttributes = new HashMap();
             
Index: src/org/python/pydev/debug/ui/launching/PythonRunnerConfig.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/PythonRunnerConfig.java,v
retrieving revision 1.46
diff -u -r1.46 PythonRunnerConfig.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/PythonRunnerConfig.java	17 Apr 2006 02:06:17 -0000	1.46
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/launching/PythonRunnerConfig.java	23 May 2006 20:35:45 -0000
@@ -379,7 +379,9 @@
 			e.printStackTrace();
 		}
 		String ret = "";
-		for (String s : cp){
+        for (int i = 0; i < cp.length; i++) {
+            String s = cp[i];
+            
 			ret += s + SimpleRunner.getPythonPathSeparator();
 		}
 		
@@ -392,7 +394,7 @@
 	 * @throws CoreException 
 	 */
 	public String[] getCommandLine() throws CoreException {
-		List<String> cmdArgs = new ArrayList<String>();
+		List cmdArgs = new ArrayList();
         
         if(isJython()){
             //"java.exe" -classpath "C:\bin\jython21\jython.jar" org.python.util.jython script %ARGS%
@@ -495,7 +497,7 @@
      * @param cmdArgs
      * @throws CoreException
      */
-    private void addVmArgs(List<String> cmdArgs) throws CoreException {
+    private void addVmArgs(List cmdArgs) throws CoreException {
         String[] vmArguments = getVMArguments(configuration);
         if(vmArguments != null){
             for (int i = 0; i < vmArguments.length; i++){
@@ -519,7 +521,7 @@
 		String[] args;
         try {
             args = getCommandLine();
-            return SimpleRunner.getCommandLineAsString(args);
+            return SimpleRunner.getCommandLineAsString(args, new String[] {});
         } catch (CoreException e) {
             throw new RuntimeException(e);
         }
Index: src/org/python/pydev/debug/ui/propertypages/PythonBreakpointPage.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.debug/src/org/python/pydev/debug/ui/propertypages/PythonBreakpointPage.java,v
retrieving revision 1.1
diff -u -r1.1 PythonBreakpointPage.java
--- org.python.pydev.debug/src/org/python/pydev/debug/ui/propertypages/PythonBreakpointPage.java	17 Dec 2005 12:58:45 -0000	1.1
+++ org.python.pydev.debug/src/org/python/pydev/debug/ui/propertypages/PythonBreakpointPage.java	23 May 2006 20:35:45 -0000
@@ -65,7 +65,6 @@
 	public static final String ATTR_DELETE_ON_CANCEL = PyDebugModelPresentation.PY_DEBUG_MODEL_ID + ".ATTR_DELETE_ON_CANCEL";  //$NON-NLS-1$
 
 	
-	@Override
 	protected Control createContents(Composite parent) {
 		noDefaultAndApplyButton();
 		Composite mainComposite = createComposite(parent, 1);
Index: src/org/python/pydev/jython/JythonPlugin.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.jython/src/org/python/pydev/jython/JythonPlugin.java,v
retrieving revision 1.16
diff -u -r1.16 JythonPlugin.java
--- org.python.pydev.jython/src/org/python/pydev/jython/JythonPlugin.java	21 Apr 2006 20:58:55 -0000	1.16
+++ org.python.pydev.jython/src/org/python/pydev/jython/JythonPlugin.java	23 May 2006 20:35:56 -0000
@@ -4,10 +4,11 @@
 import java.io.FileFilter;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-
+ 
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
@@ -78,7 +79,6 @@
 			setPackageNames(bundles);
 		}
 
-		@SuppressWarnings("unchecked")
 		public Class loadClass(String className) throws ClassNotFoundException {
 			try {
 				return super.loadClass(className);
@@ -107,7 +107,7 @@
 		 * Set the package names available given the bundles that we can access
 		 */
 		private void setPackageNames(Bundle[] bundles) {
-			List<String> names = new ArrayList<String>();
+			List names = new ArrayList();
 			for (int i = 0; i < bundles.length; ++i) {
 				String packages = (String) bundles[i].getHeaders().get("Provide-Package");
 				if (packages != null) {
@@ -235,12 +235,12 @@
 	 * @return any error that happened while executing the script
 	 * 
 	 */
-	public static Throwable exec(HashMap<String, Object> locals, String fileToExec, IPythonInterpreter interpreter) {
+	public static Throwable exec(HashMap locals, String fileToExec, IPythonInterpreter interpreter) {
 		File fileWithinJySrc = JythonPlugin.getFileWithinJySrc(fileToExec);
     	return exec(locals, interpreter, fileWithinJySrc, new File[]{fileWithinJySrc.getParentFile()});
 	}
 	
-	public static List<Throwable> execAll(HashMap<String, Object> locals, final String startingWith, IPythonInterpreter interpreter) {
+	public static List execAll(HashMap locals, final String startingWith, IPythonInterpreter interpreter) {
 		//exec files beneath jysrc in org.python.pydev.jython
 		File jySrc = JythonPlugin.getJySrcDirFile();
 		File additionalScriptingLocation = JyScriptingPreferencesPage.getAdditionalScriptingLocation();
@@ -254,16 +254,20 @@
      * @param beneathFolders the folders we want to get the scripts from
      * @return the errors that occured while executing the scripts
      */
-    public static List<Throwable> execAll(HashMap<String, Object> locals, final String startingWith, IPythonInterpreter interpreter, File[] beneathFolders) {
-        List<Throwable> errors = new ArrayList<Throwable>();
-        for (File file : beneathFolders) {
+    public static List execAll(HashMap locals, final String startingWith, IPythonInterpreter interpreter, File[] beneathFolders) {
+        List errors = new ArrayList();
+        for (int i = 0; i < beneathFolders.length; i++) {
+            File file = beneathFolders[i];
+            
             if(file != null){
                 if(!file.exists()){
                     Log.log(IStatus.ERROR, "The folder:"+file+" does not exist and therefore cannot be used to find scripts to run starting with:"+startingWith, null);
                 }
                 File[] files = getFilesBeneathFolder(startingWith, file);
                 if(files != null){
-                    for(File f : files){
+                    for (int j = 0; j < files.length; j++) {
+                        File f = files[j];
+                        
                         Throwable throwable = exec(locals, interpreter, f, beneathFolders);
                         if(throwable != null){
                             errors.add(throwable);
@@ -296,16 +300,16 @@
 	 * Holds a cache with the name of the created code to a tuple with the file timestamp and the Code Object
 	 * that was generated with the contents of that timestamp.
 	 */
-	private static Map<File, Tuple<Long, Object>> codeCache = new HashMap<File,Tuple<Long, Object>>();
+	private static Map codeCache = new HashMap(); //<File, Tuple<Long, Object>>
 	
 	/**
 	 * @param pythonpathFolders folders that should be in the pythonpath when executing the script
 	 * @see JythonPlugin#exec(HashMap, String, PythonInterpreter)
 	 * Same as before but the file to execute is passed as a parameter
 	 */
-	public static synchronized Throwable exec(HashMap<String, Object> locals, IPythonInterpreter interpreter, File fileToExec, File[] pythonpathFolders) {
+	public static synchronized Throwable exec(HashMap locals, IPythonInterpreter interpreter, File fileToExec, File[] pythonpathFolders) {
         if(locals == null){
-            locals = new HashMap<String, Object>();
+            locals = new HashMap();
         }
 		synchronized (codeCache) { //hold on there... one at a time... please?
 			try {
@@ -316,14 +320,16 @@
 	            String codeObjName = "code"+fileName.substring(0, fileName.indexOf('.'));
 	            final String codeObjTimestampName = codeObjName+"Timestamp";
 	            
-				for (Map.Entry<String, Object> entry : locals.entrySet()) {
-					interpreter.set(entry.getKey(), entry.getValue());
+                for (Iterator iter = locals.entrySet().iterator(); iter.hasNext();) {
+                    Map.Entry entry = (Map.Entry) iter.next();
+                    
+					interpreter.set((String) entry.getKey(), entry.getValue());
 				}
 				
 				boolean regenerate = false;
-				Tuple<Long, Object> timestamp = codeCache.get(fileToExec);
+				Tuple timestamp = (Tuple) codeCache.get(fileToExec);
 				final long lastModified = fileToExec.lastModified();
-				if(timestamp == null || timestamp.o1 != lastModified){
+				if(timestamp == null || ((Long)timestamp.o1).longValue() != lastModified){
 					//the file timestamp changed, so, we have to regenerate it
 					regenerate = true;
 				}
@@ -359,7 +365,9 @@
 	                
 	                StringBuffer pythonPathFolders = new StringBuffer();
 	                pythonPathFolders.append("[");
-	                for (File file : pythonpathFolders) {
+                    for (int i = 0; i < pythonpathFolders.length; i++) {
+                        File file = pythonpathFolders[i];
+                        
                         if (file != null){
     	                    pythonPathFolders.append("r'");
     	                    pythonPathFolders.append(REF.getFileAbsolutePath(file));
@@ -383,18 +391,18 @@
                     addToSysPath.append(pythonPathFolders);
                     addToSysPath.append("\n");
                     
-	                String toExec = StringUtils.format(loadFile, path, path, addToSysPath.toString());
+	                String toExec = StringUtils.format(loadFile, new Object []{path, path, addToSysPath.toString()});
 	                interpreter.exec(toExec);
-					String exec = StringUtils.format("%s = compile(toExec, r'%s', 'exec')", codeObjName, path);
+					String exec = StringUtils.format("%s = compile(toExec, r'%s', 'exec')", new Object []{codeObjName, path});
 					interpreter.exec(exec);
 					//set its timestamp
-					interpreter.set(codeObjTimestampName, lastModified);
+					interpreter.set(codeObjTimestampName, new Long(lastModified));
 					
 					Object codeObj = interpreter.get(codeObjName);
-					codeCache.put(fileToExec, new Tuple<Long, Object>(lastModified, codeObj));
+					codeCache.put(fileToExec, new Tuple(new Long(lastModified), codeObj));
 				}
 				
-				interpreter.exec(StringUtils.format("exec(%s)" , codeObjName));
+				interpreter.exec(StringUtils.format("exec(%s)" , new Object [] {codeObjName}));
 			} catch (Throwable e) {
 				if(JyScriptingPreferencesPage.getShowScriptingOutput()){
 					Log.log(IStatus.ERROR, "Error while executing:"+fileToExec, e);
@@ -442,8 +450,8 @@
     		interpreter.setOut(new ScriptOutput(getBlack(), getConsole()));
     		interpreter.setErr(new ScriptOutput(getRed(), getConsole()));
         }
-		interpreter.set("False", 0);
-		interpreter.set("True", 1);
+		interpreter.set("False", new Integer(0));
+		interpreter.set("True", new Integer(1));
 		return interpreter;
 	}
 	
Index: src/org/python/pydev/jython/ScriptOutput.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.jython/src/org/python/pydev/jython/ScriptOutput.java,v
retrieving revision 1.2
diff -u -r1.2 ScriptOutput.java
--- org.python.pydev.jython/src/org/python/pydev/jython/ScriptOutput.java	22 Mar 2006 01:42:15 -0000	1.2
+++ org.python.pydev.jython/src/org/python/pydev/jython/ScriptOutput.java	23 May 2006 20:35:56 -0000
@@ -71,7 +71,6 @@
 	/**
 	 * OutputStream interface
 	 */
-	@Override
 	public void write(int b) throws IOException {
 		if(writeToConsole){
 			IOConsoleOutputStream out = getOutputStream();
Index: src/org/python/pydev/jython/ScriptingExtensionInitializer.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.jython/src/org/python/pydev/jython/ScriptingExtensionInitializer.java,v
retrieving revision 1.2
diff -u -r1.2 ScriptingExtensionInitializer.java
--- org.python.pydev.jython/src/org/python/pydev/jython/ScriptingExtensionInitializer.java	21 Mar 2006 23:20:05 -0000	1.2
+++ org.python.pydev.jython/src/org/python/pydev/jython/ScriptingExtensionInitializer.java	23 May 2006 20:35:56 -0000
@@ -8,7 +8,6 @@
 public class ScriptingExtensionInitializer extends AbstractPreferenceInitializer{
 	public static final String DEFAULT_SCOPE = "org.python.pydev.jython";
 	
-	@Override
 	public void initializeDefaultPreferences() {
 		Preferences node = new DefaultScope().getNode(DEFAULT_SCOPE);
         
Index: src/org/python/pydev/jython/ui/JyScriptingPreferencesPage.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.jython/src/org/python/pydev/jython/ui/JyScriptingPreferencesPage.java,v
retrieving revision 1.3
diff -u -r1.3 JyScriptingPreferencesPage.java
--- org.python.pydev.jython/src/org/python/pydev/jython/ui/JyScriptingPreferencesPage.java	21 Apr 2006 19:31:01 -0000	1.3
+++ org.python.pydev.jython/src/org/python/pydev/jython/ui/JyScriptingPreferencesPage.java	23 May 2006 20:35:56 -0000
@@ -29,7 +29,6 @@
     public void init(IWorkbench workbench) {
     }
 
-    @Override
     public void createFieldEditors() {
         Composite p = getFieldEditorParent();
         addField(new BooleanFieldEditor(SHOW_SCRIPTING_OUTPUT, "Show the output given from the scripting to some console?", p));
Index: src/org/python/pydev/parser/ParserScheduler.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/ParserScheduler.java,v
retrieving revision 1.1
diff -u -r1.1 ParserScheduler.java
--- org.python.pydev.parser/src/org/python/pydev/parser/ParserScheduler.java	14 Sep 2005 14:33:05 -0000	1.1
+++ org.python.pydev.parser/src/org/python/pydev/parser/ParserScheduler.java	23 May 2006 20:36:02 -0000
@@ -119,7 +119,6 @@
             //ok, the time for this request is:
             timeParseLaterRequested = System.currentTimeMillis();
             new Thread(){
-                @Override
                 public void run() {
                     try {
                         sleep(TIME_TO_PARSE_LATER);
Index: src/org/python/pydev/parser/PyParser.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/PyParser.java,v
retrieving revision 1.26
diff -u -r1.26 PyParser.java
--- org.python.pydev.parser/src/org/python/pydev/parser/PyParser.java	20 Mar 2006 19:37:35 -0000	1.26
+++ org.python.pydev.parser/src/org/python/pydev/parser/PyParser.java	23 May 2006 20:36:02 -0000
@@ -81,7 +81,7 @@
     /**
      * listeners that get notified of succesfull or unsuccessful parser achievements
      */
-    private ArrayList<IParserObserver> parserListeners; 
+    private ArrayList parserListeners; 
 
     /**
      * used to enable tracing in the grammar
@@ -107,7 +107,7 @@
      * should only be called for testing. does not register as a thread
      */
     public PyParser() {
-        parserListeners = new ArrayList<IParserObserver>();
+        parserListeners = new ArrayList();
         scheduler = new ParserScheduler(this);
 
         documentListener = new IDocumentListener() {
@@ -222,12 +222,14 @@
     protected void fireParserChanged(SimpleNode root, IAdaptable file, IDocument doc) {
         this.root = root;
         synchronized(parserListeners){
-        	for (IParserObserver l : parserListeners) {
+            for (Iterator iter = parserListeners.iterator(); iter.hasNext();) {
+                IParserObserver l = (IParserObserver) iter.next();
         		l.parserChanged(root, file, doc);
 			}
 
-        	List<IParserObserver> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_PARSER_OBSERVER);
-            for (IParserObserver observer : participants) {
+        	List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_PARSER_OBSERVER);
+            for (Iterator iter = participants.iterator(); iter.hasNext();) {
+                IParserObserver observer = (IParserObserver) iter.next();
                 observer.parserChanged(root, file, doc);
             }
         }
@@ -239,11 +241,13 @@
      */
     protected void fireParserError(Throwable error, IAdaptable file, IDocument doc) {
         synchronized(parserListeners){
-        	for (IParserObserver l : parserListeners) {
+            for (Iterator iter = parserListeners.iterator(); iter.hasNext();) {
+                IParserObserver l = (IParserObserver) iter.next();
                 l.parserError(error, file, doc);
             }
-            List<IParserObserver> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_PARSER_OBSERVER);
-            for (IParserObserver observer : participants) {
+            List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_PARSER_OBSERVER);
+            for (Iterator iter = participants.iterator(); iter.hasNext();) {
+                IParserObserver observer = (IParserObserver) iter.next();
                 observer.parserError(error, file, doc);
             }
         }
Index: src/org/python/pydev/parser/jython/PythonGrammar.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/jython/PythonGrammar.java,v
retrieving revision 1.2
diff -u -r1.2 PythonGrammar.java
--- org.python.pydev.parser/src/org/python/pydev/parser/jython/PythonGrammar.java	6 Apr 2006 16:16:41 -0000	1.2
+++ org.python.pydev.parser/src/org/python/pydev/parser/jython/PythonGrammar.java	23 May 2006 20:36:02 -0000
@@ -70,7 +70,7 @@
                     Object next = iter.next();
                     int strategy = STRATEGY_ADD_AFTER_PREV; //default strategy
                     if(next instanceof Object[]){
-                        strategy = (Integer)((Object[])next)[1];
+                        strategy = ((Integer)((Object[])next)[1]).intValue();
                         next = ((Object[])next)[0];
                     }
 
@@ -126,12 +126,12 @@
     }
 
     private void addSpecialToken(Object o, int strategy) {
-        token_source.specialTokens.add(new Object[]{o, strategy});
+        token_source.specialTokens.add(new Object[]{o,  new Integer(strategy)});
     }
 
     private void addSpecialToken(Object o) {
         //the default is adding after the previous token
-        token_source.specialTokens.add(new Object[]{o, STRATEGY_ADD_AFTER_PREV});
+        token_source.specialTokens.add(new Object[]{o, new Integer(STRATEGY_ADD_AFTER_PREV)});
     }
 
 
@@ -178,7 +178,7 @@
      */
     private boolean findTokenAndAdd(String token, String put, boolean searchOnLast) throws ParseException {
         Object s = createSpecialStr(token, put, searchOnLast);
-        token_source.specialTokens.add(new Object[]{s, STRATEGY_ADD_AFTER_PREV});
+        token_source.specialTokens.add(new Object[]{s,  new Integer(STRATEGY_ADD_AFTER_PREV)});
         return s instanceof SpecialStr;
     }
 
@@ -252,7 +252,7 @@
             //raw string (does not decode slashes)
             String str = s.substring(quotes+start+1, s.length()-quotes);
             //System.out.println("out: "+str);
-            return new Object[]{str,ustring, true, getType(s.charAt(start+1), quotes)};
+            return new Object[]{str, new Boolean(ustring), new Boolean(true), new Integer(getType(s.charAt(start+1), quotes))};
 
         } else {
             StringBuffer sb = new StringBuffer(s.length());
@@ -262,7 +262,7 @@
 
             String str = hostLiteralMkr.decode_UnicodeEscape(s, i, n, "strict", ustring);
             //System.out.println("out: "+str);
-            return new Object[]{str, ustring, false, getType(s.charAt(start), quotes)};
+            return new Object[]{str, new Boolean(ustring), new Boolean(false), new Integer(getType(s.charAt(start), quotes))};
         }
     }
 
Index: src/org/python/pydev/parser/jython/SimpleNode.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/jython/SimpleNode.java,v
retrieving revision 1.1
diff -u -r1.1 SimpleNode.java
--- org.python.pydev.parser/src/org/python/pydev/parser/jython/SimpleNode.java	20 Mar 2006 19:37:35 -0000	1.1
+++ org.python.pydev.parser/src/org/python/pydev/parser/jython/SimpleNode.java	23 May 2006 20:36:02 -0000
@@ -4,6 +4,7 @@
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.python.pydev.parser.jython.ast.VisitorIF;
@@ -21,8 +22,8 @@
      * If they are not of commentType, they should be strings, with things such as colons, parenthesis, etc, to help
      * in the process of pretty-printing the ast.
      */
-    public List<Object> specialsBefore = new ArrayList<Object>();
-    public List<Object> specialsAfter  = new ArrayList<Object>();
+    public List specialsBefore = new ArrayList();
+    public List specialsAfter  = new ArrayList();
 
     public SimpleNode() { }
 
@@ -113,7 +114,9 @@
      */
     private int getIndex(int[] lineCol, List l) {
         int i=0;
-        for(Object o : l){
+        for (Iterator iter = l.iterator(); iter.hasNext();) {
+            Object o = (Object) iter.next();
+            
             int[] existing = getLineCol(o);
             if(existing == null){
                 //do nothing... (will be after it)
@@ -150,7 +153,9 @@
      */
     private int doCount(List l) {
         int i=0;
-        for(Object o : l){
+        for (Iterator iter = l.iterator(); iter.hasNext();) {
+            Object o = (Object) iter.next();
+            
             if (o instanceof String || o instanceof SpecialStr){
                 i++;
             }
Index: src/org/python/pydev/parser/jython/SpecialStr.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/jython/SpecialStr.java,v
retrieving revision 1.1
diff -u -r1.1 SpecialStr.java
--- org.python.pydev.parser/src/org/python/pydev/parser/jython/SpecialStr.java	20 Mar 2006 19:37:35 -0000	1.1
+++ org.python.pydev.parser/src/org/python/pydev/parser/jython/SpecialStr.java	23 May 2006 20:36:02 -0000
@@ -11,17 +11,14 @@
 		this.beginCol = beginCol;
 	}
 	
-	@Override
 	public String toString() {
 		return str;
 	}
 
-	@Override
 	public int hashCode() {
 		return str.hashCode();
 	}
 	
-	@Override
 	public boolean equals(Object obj) {
 		if(!(obj instanceof SpecialStr)){
 			return false;
Index: src/org/python/pydev/parser/jython/TreeBuilder.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/jython/TreeBuilder.java,v
retrieving revision 1.2
diff -u -r1.2 TreeBuilder.java
--- org.python.pydev.parser/src/org/python/pydev/parser/jython/TreeBuilder.java	6 Apr 2006 16:16:41 -0000	1.2
+++ org.python.pydev.parser/src/org/python/pydev/parser/jython/TreeBuilder.java	23 May 2006 20:36:02 -0000
@@ -174,7 +174,7 @@
         case JJTUNICODE:
         case JJTSTRING:
             Object[] image = (Object[]) n.getImage();
-            return new Str((String)image[0], (Integer)image[3], (Boolean)image[1], (Boolean)image[2]);
+            return new Str((String)image[0], ((Integer)image[3]).intValue(), ((Boolean)image[1]).booleanValue(), ((Boolean)image[2]).booleanValue());
 
         case JJTSUITE:
             stmtType[] stmts = new stmtType[arity];
@@ -657,8 +657,8 @@
 
             exprType[] values = new exprType[3];
             int k = 0;
-            java.util.List<Object> specialsBefore = new ArrayList<Object>();
-            java.util.List<Object> specialsAfter = new ArrayList<Object>();
+            java.util.List specialsBefore = new ArrayList();
+            java.util.List specialsAfter = new ArrayList();
             for (int j = 0; j < arity; j++) {
                 if (arr[j].getId() == JJTCOLON){
                     specialsBefore.addAll(arr[j].specialsBefore);
Index: src/org/python/pydev/parser/visitors/NodeUtils.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/visitors/NodeUtils.java,v
retrieving revision 1.27
diff -u -r1.27 NodeUtils.java
--- org.python.pydev.parser/src/org/python/pydev/parser/visitors/NodeUtils.java	12 Apr 2006 01:38:03 -0000	1.27
+++ org.python.pydev.parser/src/org/python/pydev/parser/visitors/NodeUtils.java	23 May 2006 20:36:02 -0000
@@ -6,6 +6,7 @@
 import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 import org.python.pydev.core.FullRepIterable;
@@ -120,7 +121,9 @@
         }else if (node instanceof Tuple){
             StringBuffer buf = new StringBuffer();
             Tuple t = (Tuple)node;
-            for ( exprType e : t.elts){
+            for (int i = 0; i < t.elts.length; i++) {
+                exprType e = t.elts[i];
+                
                 buf.append(getRepresentationString(e, useTypeRepr));
                 buf.append(", ");
             }
@@ -145,7 +148,9 @@
             
         }else if (node instanceof Import){
             aliasType[] names = ((Import)node).names;
-            for (aliasType n : names) {
+            for (int i = 0; i < names.length; i++) {
+                aliasType n = names[i];
+                
                 if(n.asname != null){
                     return ((NameTok)n.asname).id;
                 }
@@ -219,7 +224,9 @@
         	//get it forwards
         	List attributeParts = getAttributeParts((Attribute) node);
         	StringBuffer buf = new StringBuffer();
-        	for (Object part : attributeParts) {
+            for (Iterator iter = attributeParts.iterator(); iter.hasNext();) {
+                Object part = (                Object) iter.next();
+                
 				if(part instanceof Call){
 					//stop on a call (that's what we usually want, since the end will depend on the things that 
 					//return from the call).
@@ -469,7 +476,7 @@
      * in the grammar.
      */
 	public static List getAttributeParts(Attribute node) {
-		ArrayList<Object> nodes = new ArrayList<Object>();
+		ArrayList nodes = new ArrayList();
 		
 		nodes.add(node.attr);
 		SimpleNode s = node.value;
@@ -501,9 +508,11 @@
      * @param onlyLastSegment determines whether we should return only the last segment if the name
      * of the parent resolves to a dotted name.
      */
-    public static List<String> getParentNames(ClassDef def, boolean onlyLastSegment) {
-        ArrayList<String> ret = new ArrayList<String>();
-        for(exprType base: def.bases){
+    public static List getParentNames(ClassDef def, boolean onlyLastSegment) {
+        ArrayList ret = new ArrayList();
+        for (int i = 0; i < def.bases.length; i++) {
+            exprType base = def.bases[i];
+            
             String rep = getFullRepresentationString(base);
             if(onlyLastSegment){
                 rep = FullRepIterable.getLastPart(rep);
Index: src/org/python/pydev/parser/visitors/comparator/SimpleNodeComparator.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/visitors/comparator/SimpleNodeComparator.java,v
retrieving revision 1.1
diff -u -r1.1 SimpleNodeComparator.java
--- org.python.pydev.parser/src/org/python/pydev/parser/visitors/comparator/SimpleNodeComparator.java	6 Apr 2006 16:17:51 -0000	1.1
+++ org.python.pydev.parser/src/org/python/pydev/parser/visitors/comparator/SimpleNodeComparator.java	23 May 2006 20:36:02 -0000
@@ -13,16 +13,14 @@
 
 class FlatVisitor extends VisitorBase{
 
-    List<SimpleNode> visited = new ArrayList<SimpleNode>();
+    List visited = new ArrayList();
     
-    @Override
     protected Object unhandled_node(SimpleNode node) throws Exception {
         visited.add(node);
         //System.out.println("adding:"+node.getClass().getName());
         return null;
     }
 
-    @Override
     public void traverse(SimpleNode node) throws Exception {
         node.traverse(this);
     }
@@ -38,12 +36,12 @@
         FlatVisitor flatVisitor = new FlatVisitor();
         flatVisitor.traverse(original);
         
-        Iterator<SimpleNode> it = flatVisitorOriginal.visited.iterator();
-        Iterator<SimpleNode> it2 = flatVisitor.visited.iterator();
+        Iterator it = flatVisitorOriginal.visited.iterator();
+        Iterator it2 = flatVisitor.visited.iterator();
         
         while(it.hasNext() && it2.hasNext()){
-            SimpleNode node = it.next();
-            SimpleNode node2 = it2.next();
+            SimpleNode node = (SimpleNode) it.next();
+            SimpleNode node2 = (SimpleNode) it2.next();
             if(node.getClass() != node2.getClass()){
                 throw new DifferException("Nodes differ. "+node.getClass().getName()+" != "+ node2.getClass().getName());
             }
Index: src/org/python/pydev/parser/visitors/scope/DefinitionsASTIteratorVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/DefinitionsASTIteratorVisitor.java,v
retrieving revision 1.5
diff -u -r1.5 DefinitionsASTIteratorVisitor.java
--- org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/DefinitionsASTIteratorVisitor.java	9 Apr 2006 20:42:19 -0000	1.5
+++ org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/DefinitionsASTIteratorVisitor.java	23 May 2006 20:36:02 -0000
@@ -75,7 +75,7 @@
     /**
      * Creates the iterator and transverses the passed root so that the results can be gotten.
      */
-    public static DefinitionsASTIteratorVisitor create(SimpleNode root){
+    public static EasyASTIteratorVisitor create(SimpleNode root){
         if(root == null){
             return null;
         }
@@ -88,7 +88,7 @@
         return visitor;
     }
 
-    public Iterator<ASTEntry> getOutline() {
+    public Iterator getOutline() {
         return getIterator(new Class[]{ClassDef.class, FunctionDef.class, Attribute.class, Name.class});
     }
 
Index: src/org/python/pydev/parser/visitors/scope/EasyASTIteratorVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/EasyASTIteratorVisitor.java,v
retrieving revision 1.10
diff -u -r1.10 EasyASTIteratorVisitor.java
--- org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/EasyASTIteratorVisitor.java	12 Apr 2006 01:38:02 -0000	1.10
+++ org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/EasyASTIteratorVisitor.java	23 May 2006 20:36:02 -0000
@@ -95,7 +95,7 @@
         return visitor;
     }
 
-    public static Iterator<ASTEntry> createClassIterator(SimpleNode ast) {
+    public static Iterator createClassIterator(SimpleNode ast) {
         EasyASTIteratorVisitor visitor = create(ast);
         return visitor.getClassesIterator();
     }
Index: src/org/python/pydev/parser/visitors/scope/EasyAstIteratorBase.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/EasyAstIteratorBase.java,v
retrieving revision 1.7
diff -u -r1.7 EasyAstIteratorBase.java
--- org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/EasyAstIteratorBase.java	12 Apr 2006 01:38:03 -0000	1.7
+++ org.python.pydev.parser/src/org/python/pydev/parser/visitors/scope/EasyAstIteratorBase.java	23 May 2006 20:36:02 -0000
@@ -23,9 +23,9 @@
  */
 public abstract class EasyAstIteratorBase  extends VisitorBase{
 
-    private List<ASTEntry> nodes = new ArrayList<ASTEntry>();
+    private List nodes = new ArrayList();
 
-    protected Stack<SimpleNode> stack = new Stack<SimpleNode>();
+    protected Stack stack = new Stack();
     
     protected SimpleNode lastVisited;
     
@@ -98,7 +98,7 @@
     /**
      * Cache to keep track of the nodes and the entries they generated (this is done while visiting).
      */
-    private Map<SimpleNode, ASTEntry> nodeCache = new HashMap<SimpleNode, ASTEntry>();
+    private Map nodeCache = new HashMap();
     
     /**
      * @param entry
@@ -112,7 +112,7 @@
      * @return
      */
     protected ASTEntry getEntryWithNode(SimpleNode o) {
-        return nodeCache.get(o);
+        return (ASTEntry) nodeCache.get(o);
     }
 
     /** 
@@ -206,22 +206,22 @@
     /**
      * @return and iterator that passes through all the nodes
      */
-    public Iterator<ASTEntry> getIterator() {
+    public Iterator getIterator() {
         return nodes.iterator();
     }
 
     /**
      * @return an iterator for all the classes definitions
      */
-    public Iterator<ASTEntry> getClassesIterator() {
+    public Iterator getClassesIterator() {
         return getIterator(ClassDef.class);
     }
 
     /**
      * @return a list with all the class and method definitions
      */
-    public List<ASTEntry> getClassesAndMethodsList() {
-        Iterator<ASTEntry> classesAndMethodsIterator = getClassesAndMethodsIterator();
+    public List getClassesAndMethodsList() {
+        Iterator classesAndMethodsIterator = getClassesAndMethodsIterator();
         return getIteratorAsList(classesAndMethodsIterator);
     }
     
@@ -229,8 +229,8 @@
      * @param iter this is the iterator we want to get as a list
      * @return a list with the elements of the iterator
      */
-    protected List<ASTEntry> getIteratorAsList(Iterator<ASTEntry> iter) {
-        ArrayList<ASTEntry> list = new ArrayList<ASTEntry>();
+    protected List getIteratorAsList(Iterator iter) {
+        ArrayList list = new ArrayList();
         while (iter.hasNext()) {
             list.add(iter.next());
         }
@@ -240,14 +240,14 @@
     /**
      * @return an iterator for class and method definitions
      */
-    public Iterator<ASTEntry> getClassesAndMethodsIterator() {
+    public Iterator getClassesAndMethodsIterator() {
         return getIterator(new Class[]{ClassDef.class, FunctionDef.class});
     }
 
     /**
      * @see EasyASTIteratorVisitor#getIterator(Class[])
      */
-    public Iterator<ASTEntry> getIterator(Class class_) {
+    public Iterator getIterator(Class class_) {
         return getIterator(new Class[]{class_});
     }
 
@@ -255,8 +255,8 @@
      * @param classes the classes we are searching for
      * @return an iterator with nodes found from the passed classes
      */
-    public Iterator<ASTEntry> getIterator(Class[] classes) {
-        List<ASTEntry> newList = new ArrayList<ASTEntry>();
+    public Iterator getIterator(Class[] classes) {
+        List newList = new ArrayList();
         for (Iterator iter = nodes.iterator(); iter.hasNext();) {
             ASTEntry entry = (ASTEntry) iter.next();
             if(isFromClass(entry.node, classes)){
@@ -271,7 +271,6 @@
      * @param classes this are the classes we are looking for
      * @return true if the node is from one of the passed classes (may be some subclass too)
      */
-    @SuppressWarnings("unchecked")
     protected boolean isFromClass(SimpleNode node, Class[] classes) {
         Class class1 = node.getClass();
         for (int i = 0; i < classes.length; i++) {
@@ -282,10 +281,10 @@
         return false;
     }
     
-    public List<ASTEntry> getAsList(Class class_) {
+    public List getAsList(Class class_) {
         return getAsList(new Class[]{class_});
     }
-    public List<ASTEntry> getAsList(Class[] classes) {
+    public List getAsList(Class[] classes) {
         return getIteratorAsList(getIterator(classes));
     }
 
Index: tests/org/python/pydev/parser/PyParserPrintTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/tests/org/python/pydev/parser/PyParserPrintTest.java,v
retrieving revision 1.2
diff -u -r1.2 PyParserPrintTest.java
--- org.python.pydev.parser/tests/org/python/pydev/parser/PyParserPrintTest.java	20 Mar 2006 19:37:35 -0000	1.2
+++ org.python.pydev.parser/tests/org/python/pydev/parser/PyParserPrintTest.java	23 May 2006 20:36:02 -0000
@@ -33,7 +33,7 @@
         "    def met1(self, a):#comment2\n" +
         "        pass                   \n" +
         "#comment3";
-        SimpleNode node = parseLegalDocStr(s);
+        SimpleNode node = parseLegalDocStr(s, new Object[] {});
         Module m = (Module) node;
 
     }
Index: tests/org/python/pydev/parser/PyParserTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/tests/org/python/pydev/parser/PyParserTest.java,v
retrieving revision 1.18
diff -u -r1.18 PyParserTest.java
--- org.python.pydev.parser/tests/org/python/pydev/parser/PyParserTest.java	6 Apr 2006 16:16:41 -0000	1.18
+++ org.python.pydev.parser/tests/org/python/pydev/parser/PyParserTest.java	23 May 2006 20:36:02 -0000
@@ -40,7 +40,7 @@
         "class Class1:         \n" +
         "    def met1(self, a):\n" +
         "        pass";
-        SimpleNode node = parseLegalDocStr(s);
+        SimpleNode node = parseLegalDocStr(s, new Object[] {});
         Module m = (Module) node;
         ClassDef d = (ClassDef) m.body[0];
         FunctionDef f = (FunctionDef) d.body[0];
@@ -74,7 +74,7 @@
     	"really really big string\n" +
     	"really really big string\n" +
     	"'''";
-    	parseLegalDocStr(s);
+    	parseLegalDocStr(s, new Object[] {});
     }
     
     public void testErr() {
@@ -89,7 +89,7 @@
         String s = "" +
                 "def m():\n" +
                 "    yield 1";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
 
     
@@ -101,7 +101,7 @@
             "    def m():\n" +
             "        pass\n" +
             "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testDecorator2() {
@@ -112,7 +112,7 @@
             "    pass\n" +
             "\n" +
             "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testDecorator4() {
@@ -122,7 +122,7 @@
         "    pass\n" +
         "\n" +
         "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testDecorator5() {
@@ -132,7 +132,7 @@
         "    funcattrs(1)\n" +
         "\n" +
         "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testDecorator3() {
@@ -144,7 +144,7 @@
         "    pass\n" +
         "\n" +
         "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testDecorator6() {
@@ -154,7 +154,7 @@
         "    pass\n" +
         "\n" +
         "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testOnNumarray() {
@@ -191,7 +191,7 @@
         for (int i = 0; i < files.length; i++) {
             File f = files[i];
             if(f.getAbsolutePath().toLowerCase().endsWith(".py")){
-                parseLegalDocStr(REF.getFileContents(f), f);
+                parseLegalDocStr(REF.getFileContents(f), new Object[] {f});
             }
         }
     }
@@ -199,25 +199,25 @@
     public void testOnUnittestMod() {
         String loc = TestDependent.PYTHON_LIB+"unittest.py";
         String s = REF.getFileContents(new File(loc));
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testOnCodecsMod() {
         String loc = TestDependent.PYTHON_LIB+"codecs.py";
         String s = REF.getFileContents(new File(loc));
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testOnDocBaseHTTPServer() {
         String loc = TestDependent.PYTHON_LIB+"BaseHTTPServer.py";
         String s = REF.getFileContents(new File(loc));
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testOnDocXMLRPCServerMod() {
         String loc = TestDependent.PYTHON_LIB+"DocXMLRPCServer.py";
         String s = REF.getFileContents(new File(loc));
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testNewImportParser() {
@@ -228,7 +228,7 @@
         "\n" +
         "\n" +
         "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testNewImportParser2() {
@@ -239,7 +239,7 @@
         "\n" +
         "\n" +
         "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testNewImportParser3() {
@@ -255,7 +255,7 @@
     
     public void testParser() {
         String s = "class C: pass";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
 
     public void testEndWithComment() {
@@ -263,7 +263,7 @@
                 "    pass\n" +
                 "#end\n" +
                 "";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testParser7() {
@@ -272,7 +272,7 @@
         "    False, True = 0, 1\n"+
         "\n"+
         "\n";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testParser8() {
@@ -282,7 +282,7 @@
 "\n"+
 "\n"+
 "\n";
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testParser2() {
@@ -292,25 +292,25 @@
         "for foo in sorted(val for val in td.itervalues() if val[0] == 's'):    \n"+
         "    print foo                                                          \n";
         
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testParser3() {
         String s = "print (x for x in y)";
         
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
 
     public void testParser4() {
         String s = "print sum(x for x in y)";
         
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testParser5() {
         String s = "print sum(x.b for x in y)";
         
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     public void testParser6() {
@@ -321,7 +321,7 @@
         "        if match: return match\n"+
         "\n"+
         "\n";        
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     
@@ -333,7 +333,7 @@
         "\n"+
         "\n"+
         "\n";        
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
     /**
@@ -345,10 +345,10 @@
     	String s = "" +
     	"l = [ \"encode\", \"decode\" ] \n"+
     	"\n";        
-    	SimpleNode node = parseLegalDocStr(s);
-    	List<ASTEntry> strs = SequencialASTIteratorVisitor.create(node).getAsList(new Class[]{Str.class});
-    	assertEquals(7, strs.get(0).node.beginColumn);
-    	assertEquals(17, strs.get(1).node.beginColumn);
+    	SimpleNode node = parseLegalDocStr(s, new Object[] {});
+    	List strs = SequencialASTIteratorVisitor.create(node).getAsList(new Class[]{Str.class});
+    	assertEquals(7, ((ASTEntry)strs.get(0)).node.beginColumn);
+    	assertEquals(17, ((ASTEntry)strs.get(1)).node.beginColumn);
     }
     
     
@@ -362,7 +362,7 @@
         "    pass\n"+        
         "\n"+        
         "\n";        
-        parseLegalDocStr(s);
+        parseLegalDocStr(s, new Object[] {});
     }
     
 }
Index: tests/org/python/pydev/parser/PyParserTestBase.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/tests/org/python/pydev/parser/PyParserTestBase.java,v
retrieving revision 1.9
diff -u -r1.9 PyParserTestBase.java
--- org.python.pydev.parser/tests/org/python/pydev/parser/PyParserTestBase.java	6 Apr 2006 16:16:41 -0000	1.9
+++ org.python.pydev.parser/tests/org/python/pydev/parser/PyParserTestBase.java	23 May 2006 20:36:02 -0000
@@ -33,7 +33,7 @@
 	 * @param s
 	 * @return 
 	 */
-	protected static SimpleNode parseLegalDocStr(String s, Object ... additionalErrInfo) {
+	protected static SimpleNode parseLegalDocStr(String s, Object [] additionalErrInfo) {
 	    Document doc = new Document(s);
 	    return parseLegalDoc(doc, additionalErrInfo, new PyParser());
 	}
Index: tests/org/python/pydev/parser/visitors/NodeUtilsTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/tests/org/python/pydev/parser/visitors/NodeUtilsTest.java,v
retrieving revision 1.1
diff -u -r1.1 NodeUtilsTest.java
--- org.python.pydev.parser/tests/org/python/pydev/parser/visitors/NodeUtilsTest.java	26 Oct 2005 14:56:32 -0000	1.1
+++ org.python.pydev.parser/tests/org/python/pydev/parser/visitors/NodeUtilsTest.java	23 May 2006 20:36:02 -0000
@@ -14,29 +14,29 @@
 
 	public void testFullRep() throws Exception {
         SequencialASTIteratorVisitor visitor = SequencialASTIteratorVisitor.create(parseLegalDocStr(
-        		"print a.b.c().d.__class__"));
+        		"print a.b.c().d.__class__", new Object[] {}));
         
-        Iterator<ASTEntry> iterator = visitor.getIterator();
+        Iterator iterator = visitor.getIterator();
 		iterator.next(); //Module
 		iterator.next(); //Print
-		ASTEntry entry = iterator.next(); //Attribute
+		ASTEntry entry = (ASTEntry) iterator.next(); //Attribute
 		assertEquals("a.b.c", NodeUtils.getFullRepresentationString(entry.node));
 
 
 		visitor = SequencialASTIteratorVisitor.create(parseLegalDocStr(
-			"'r.a.s.b'.join('a')"));
+			"'r.a.s.b'.join('a')", new Object[] {}));
 		iterator = visitor.getIterator();
 		iterator.next(); //Module
 		iterator.next(); //Expr
-		entry = iterator.next(); //Attribute
+		entry = (ASTEntry) iterator.next(); //Attribute
 		assertEquals("str.join", NodeUtils.getFullRepresentationString(entry.node));
 		
 		visitor = SequencialASTIteratorVisitor.create(parseLegalDocStr(
-			"print aa.bbb.cccc[comp.id].hasSimulate"));
+			"print aa.bbb.cccc[comp.id].hasSimulate", new Object[] {}));
 		iterator = visitor.getIterator();
 		iterator.next(); //Module
 		iterator.next(); //Expr
-		entry = iterator.next(); //Attribute
+		entry = (ASTEntry) iterator.next(); //Attribute
 		assertEquals("aa.bbb.cccc", NodeUtils.getFullRepresentationString(entry.node));
 	}
 }
Index: src/org/python/copiedfromeclipsesrc/JavaVmLocationFinder.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/copiedfromeclipsesrc/JavaVmLocationFinder.java,v
retrieving revision 1.3
diff -u -r1.3 JavaVmLocationFinder.java
--- org.python.pydev/src/org/python/copiedfromeclipsesrc/JavaVmLocationFinder.java	13 Aug 2005 14:36:24 -0000	1.3
+++ org.python.pydev/src/org/python/copiedfromeclipsesrc/JavaVmLocationFinder.java	23 May 2006 20:35:21 -0000
@@ -89,8 +89,8 @@
     /**
      * @return the default java jars (rt.jar ... )
      */
-    public static List<File> findDefaultJavaJars(){
-        return (List<File>) callbackJavaJars.call(null);
+    public static List findDefaultJavaJars(){
+        return (List) callbackJavaJars.call(null);
     }
     
     /**
@@ -102,10 +102,13 @@
             IVMInstall defaultVMInstall = JavaRuntime.getDefaultVMInstall();
             LibraryLocation[] libraryLocations = JavaRuntime.getLibraryLocations(defaultVMInstall);
             
-            ArrayList<File> jars = new ArrayList<File>();
-            for (LibraryLocation location : libraryLocations) {
-                jars.add(location.getSystemLibraryPath().toFile());
-            }
+            ArrayList jars = new ArrayList();
+            for (int i = 0; i < libraryLocations.length; i++) {
+				LibraryLocation location = libraryLocations[i];
+				jars.add(location.getSystemLibraryPath().toFile());
+				
+			}
+            
             return jars;
         }
         
Index: src/org/python/copiedfromeclipsesrc/PythonPairMatcher.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/copiedfromeclipsesrc/PythonPairMatcher.java,v
retrieving revision 1.5
diff -u -r1.5 PythonPairMatcher.java
--- org.python.pydev/src/org/python/copiedfromeclipsesrc/PythonPairMatcher.java	16 Mar 2006 00:29:59 -0000	1.5
+++ org.python.pydev/src/org/python/copiedfromeclipsesrc/PythonPairMatcher.java	23 May 2006 20:35:21 -0000
@@ -260,11 +260,11 @@
         try {
             fReader.configureBackwardReader(document, offset, true, true);
             
-            Map<Character, Integer> stack = new HashMap<Character, Integer>();
+            Map stack = new HashMap();
             
             for (int i = 0; i < fPairs.length; i++) {
                 if(i %2 == 0){
-                    stack.put(fPairs[i], 1);
+                    stack.put(new Character(fPairs[i]), new Integer(1));
                 }
             }
             
@@ -272,16 +272,16 @@
             while (c != PythonCodeReader.EOF) {
                 if (c == ')' || c == ']' || c == '}' ){
                     char peer = DocUtils.getPeer((char)c);
-                    Integer iStack = stack.get((char)peer);
-                    iStack++;
-                    stack.put(peer, iStack);
+                    Integer iStack = (Integer) stack.get(new Character((char)peer));
+                    iStack = new Integer(iStack.intValue() + 1);
+                    stack.put(new Character(peer), iStack);
                     
                 }else if (c == '(' || c == '[' || c == '{'){
-                    Integer iStack = stack.get((char)c);
-                    iStack--;
-                    stack.put((char) c, iStack);
+                    Integer iStack = (Integer) stack.get(new Character((char)c));
+                    iStack = new Integer (iStack.intValue() - 1);
+                    stack.put(new Character((char) c), iStack);
                     
-                    if (iStack == 0){
+                    if (iStack.intValue() == 0){
                         return fReader.getOffset();
                     }
                 }
Index: src/org/python/pydev/builder/PyDevBuilder.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/PyDevBuilder.java,v
retrieving revision 1.43
diff -u -r1.43 PyDevBuilder.java
--- org.python.pydev/src/org/python/pydev/builder/PyDevBuilder.java	18 Mar 2006 13:20:03 -0000	1.43
+++ org.python.pydev/src/org/python/pydev/builder/PyDevBuilder.java	23 May 2006 20:35:21 -0000
@@ -45,9 +45,8 @@
      * 
      * @return a list of visitors for building the application.
      */
-    @SuppressWarnings("unchecked")
-    public List<PyDevBuilderVisitor> getVisitors() {
-        List<PyDevBuilderVisitor> list = new ArrayList<PyDevBuilderVisitor>();
+    public List getVisitors() {
+        List list = new ArrayList();
         list.add(new PyTodoVisitor());
         list.add(new PyLintVisitor());
         list.add(new PyCodeCompletionVisitor());
@@ -88,7 +87,7 @@
                 PyDevDeltaCounter counterVisitor = new PyDevDeltaCounter();
                 delta.accept(counterVisitor);
                 
-                List<PyDevBuilderVisitor> visitors = getVisitors();
+                List visitors = getVisitors();
                 
                 //sort by priority
                 Collections.sort(visitors); 
@@ -119,9 +118,9 @@
             
             //and the nature...
             if (nature != null){
-                List<IResource> resourcesToParse = new ArrayList<IResource>();
+                List resourcesToParse = new ArrayList();
     
-                List<PyDevBuilderVisitor> visitors = getVisitors();
+                List visitors = getVisitors();
                 notifyVisitingWillStart(visitors, monitor);
     
                 monitor.beginTask("Building...", (visitors.size() * 100) + 30);
@@ -171,14 +170,16 @@
 
     }
 
-    private void notifyVisitingWillStart(List<PyDevBuilderVisitor> visitors, IProgressMonitor monitor) {
-        for (PyDevBuilderVisitor visitor : visitors) {
+    private void notifyVisitingWillStart(List visitors, IProgressMonitor monitor) {
+        for (Iterator iter = visitors.iterator(); iter.hasNext();) {
+            PyDevBuilderVisitor visitor = (PyDevBuilderVisitor) iter.next();
             visitor.visitingWillStart(monitor);
         }
     }
 
-    private void notifyVisitingEnded(List<PyDevBuilderVisitor> visitors, IProgressMonitor monitor) {
-        for (PyDevBuilderVisitor visitor : visitors) {
+    private void notifyVisitingEnded(List visitors, IProgressMonitor monitor) {
+        for (Iterator iter = visitors.iterator(); iter.hasNext();) {
+            PyDevBuilderVisitor visitor = (PyDevBuilderVisitor) iter.next();
             visitor.visitingEnded(monitor);
         }
     }
@@ -191,7 +192,7 @@
      * @param member the resource we are adding
      * @param nature the nature associated to the resource
      */
-    private void addToResourcesToParse(List<IResource> resourcesToParse, IResource member, PythonNature nature) {
+    private void addToResourcesToParse(List resourcesToParse, IResource member, PythonNature nature) {
         //analyze it only if it is a valid source file 
         String fileExtension = member.getFileExtension();
         if (fileExtension != null && PythonPathHelper.isValidSourceFile("."+fileExtension)) {
@@ -229,8 +230,8 @@
             }
             IDocument doc = REF.getDocFromResource(r);
             
-            HashMap<String, Object> memo = new HashMap<String, Object>();
-            memo.put(PyDevBuilderVisitor.IS_FULL_BUILD, true); //mark it as full build
+            HashMap memo = new HashMap();
+            memo.put(PyDevBuilderVisitor.IS_FULL_BUILD, new Boolean(true)); //mark it as full build
             
             if(doc != null){ //might be out of synch
                 for (Iterator it = visitors.iterator(); it.hasNext() && monitor.isCanceled() == false;) {
Index: src/org/python/pydev/builder/PyDevBuilderVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/PyDevBuilderVisitor.java,v
retrieving revision 1.35
diff -u -r1.35 PyDevBuilderVisitor.java
--- org.python.pydev/src/org/python/pydev/builder/PyDevBuilderVisitor.java	17 Apr 2006 16:25:02 -0000	1.35
+++ org.python.pydev/src/org/python/pydev/builder/PyDevBuilderVisitor.java	23 May 2006 20:35:21 -0000
@@ -31,7 +31,7 @@
  * 
  * @author Fabio Zadrozny
  */
-public abstract class PyDevBuilderVisitor implements Comparable<PyDevBuilderVisitor>{
+public abstract class PyDevBuilderVisitor implements Comparable{
 
     public static final int MAX_TO_VISIT_INFINITE = -1;
 
@@ -66,9 +66,13 @@
 	 * Compares them by priority (they are ordered before visiting by priority, so, this can
 	 * be useful if some visitor needs to run only after some other visitor was executed).
 	 */
-    public int compareTo(PyDevBuilderVisitor o) {
+    public int compareTo(Object o) {
     	int priority = getPriority();
-    	int otherPriority = o.getPriority();
+        if (! (o instanceof PyDevBuilderVisitor))
+            throw new ClassCastException();
+        
+        PyDevBuilderVisitor v = (PyDevBuilderVisitor) o;
+    	int otherPriority = v.getPriority();
     	if(priority < otherPriority){
     		return -1;
     	}
@@ -95,7 +99,7 @@
      * In this way, we can keep from having to recreate some info (such as the ast) each time over and over
      * for each visitor. 
      */
-    public HashMap<String, Object> memo;
+    public HashMap memo;
 
     /**
      * Constant indicating value in memory to represent a ful build.
@@ -225,12 +229,11 @@
      */
     protected IResource[] getInitDependents(IResource initResource){
         
-        List<IResource> toRet = new ArrayList<IResource>();
+        List toRet = new ArrayList();
         IContainer parent = initResource.getParent();
-        
         try {
             fillWithMembers(toRet, parent);
-            return toRet.toArray(new IResource[0]);
+            return (IResource []) toRet.toArray(new IResource[0]);
         } catch (CoreException e) {
             //that's ok, it might not exist anymore
             return new IResource[0];
@@ -242,7 +245,7 @@
      * @param parent
      * @throws CoreException
      */
-    private void fillWithMembers(List<IResource> toRet, IContainer parent) throws CoreException {
+    private void fillWithMembers(List toRet, IContainer parent) throws CoreException {
         IResource[] resources = parent.members();
         
         for (int i = 0; i < resources.length; i++) {
Index: src/org/python/pydev/builder/PydevGrouperVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/PydevGrouperVisitor.java,v
retrieving revision 1.9
diff -u -r1.9 PydevGrouperVisitor.java
--- org.python.pydev/src/org/python/pydev/builder/PydevGrouperVisitor.java	18 Mar 2006 13:20:03 -0000	1.9
+++ org.python.pydev/src/org/python/pydev/builder/PydevGrouperVisitor.java	23 May 2006 20:35:21 -0000
@@ -5,6 +5,7 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.resources.IResource;
@@ -21,15 +22,18 @@
  */
 public class PydevGrouperVisitor extends PydevInternalResourceDeltaVisitor {
 
-    private List<PyDevBuilderVisitor> visitors;
+    private List visitors;
 
-    public PydevGrouperVisitor(List<PyDevBuilderVisitor> _visitors, IProgressMonitor monitor, int totalResources) {
+    public PydevGrouperVisitor(List _visitors, IProgressMonitor monitor, int totalResources) {
         super(monitor, totalResources);
         //make a copy - should be already sorted at this point
-        this.visitors = new ArrayList<PyDevBuilderVisitor>(_visitors);
+        this.visitors = new ArrayList(_visitors);
     }
-    
-    /**
+
+
+
+
+	/**
      * @param name determines the name of the method to visit (added removed or changed)
      * @param isAddOrChange true if it is an add or change
      * @param resource the resource to visit
@@ -40,17 +44,20 @@
         if(!PythonNature.isResourceInPythonpath(resource)){
         	return; // we only analyze resources that are in the pythonpath
         }
-        HashMap<String, Object> memo = new HashMap<String, Object>();
-        memo.put(PyDevBuilderVisitor.IS_FULL_BUILD, false); //mark it as a delta build
+        HashMap memo = new HashMap();
+        memo.put(PyDevBuilderVisitor.IS_FULL_BUILD, new Boolean(false)); //mark it as a delta build
         
-        for (PyDevBuilderVisitor visitor : visitors) {
+        for (Iterator iter = visitors.iterator(); iter.hasNext();) {
+			PyDevBuilderVisitor visitor = (PyDevBuilderVisitor) iter.next();
+
             // some visitors cannot visit too many elements because they do a lot of processing
             if (visitor.maxResourcesToVisit() == PyDevBuilderVisitor.MAX_TO_VISIT_INFINITE || visitor.maxResourcesToVisit() >= totalResources) {
                 visitor.memo = memo; //setting the memo must be the first thing.
                 try {
                     //communicate progress for each visitor
                     PyDevBuilder.communicateProgress(monitor, totalResources, currentResourcesVisited, resource, visitor);
-                    REF.invoke(visitor, name, resource, document, monitor);
+                    REF.invoke(visitor, name, new Object[]{
+                    									resource, document, monitor});
                     
                     //ok, standard visiting ended... now, we have to check if we should visit the other
                     //resources if it was an __init__.py file that changed
@@ -58,7 +65,10 @@
                         IResource[] initDependents = getInitDependents(resource);
                         
                         for (int i = 0; i < initDependents.length; i++) {
-                            REF.invoke(visitor, name, initDependents[i], REF.getDocFromResource(initDependents[i]), monitor);
+                            REF.invoke(visitor, name, new Object[] {
+                            		initDependents[i], 
+                            		REF.getDocFromResource(initDependents[i]), 
+                            		monitor});
                         }
                     }
                 } catch (Exception e) {
@@ -69,19 +79,17 @@
         
     }
 
-    @Override
     public void visitAddedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
         visitWith("visitAddedResource", true, resource, document, monitor);
     }
     
-    @Override
     public void visitChangedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
         visitWith("visitChangedResource", true, resource, document, monitor);
     }
 
-    @Override
     public void visitRemovedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
         visitWith("visitRemovedResource", false, resource, document, monitor);
     }
 
+
 }
Index: src/org/python/pydev/builder/PydevMarkerUtils.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/PydevMarkerUtils.java,v
retrieving revision 1.8
diff -u -r1.8 PydevMarkerUtils.java
--- org.python.pydev/src/org/python/pydev/builder/PydevMarkerUtils.java	17 Mar 2006 13:29:05 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/builder/PydevMarkerUtils.java	23 May 2006 20:35:21 -0000
@@ -3,8 +3,10 @@
  */
 package org.python.pydev.builder;
 
+import java.awt.Image;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -25,11 +27,13 @@
     /**
      * Checks pre-existance of marker.
      */
-    public static IMarker markerExists(IResource resource, String message, int charStart, int charEnd, String type, List<IMarker> existingMarkers) {
+    public static IMarker markerExists(IResource resource, String message, int charStart, int charEnd, String type, List existingMarkers) {
         existingMarkers = checkExistingMarkers(resource, type, existingMarkers);
         
         try {
-            for (IMarker task : existingMarkers) {
+        	for (Iterator iter = existingMarkers.iterator(); iter.hasNext();) {
+				IMarker task = (IMarker) iter.next();
+				
                 Object msg = task.getAttribute(IMarker.MESSAGE);
                 Object start = task.getAttribute(IMarker.CHAR_START);
                 Object end = task.getAttribute(IMarker.CHAR_END);
@@ -39,8 +43,8 @@
                 	return null;
                 }
                 boolean eqMessage = msg.equals(message);
-                boolean eqCharStart = (Integer) start == charStart;
-				boolean eqCharEnd = (Integer) end == charEnd;
+                boolean eqCharStart = ((Integer) start).intValue() == charStart;
+				boolean eqCharEnd = ((Integer) end).intValue() == charEnd;
 
                 if (eqMessage && eqCharStart && eqCharEnd) {
                     return task;
@@ -64,12 +68,13 @@
      * @param lineNumber line number where marker should exist
      * @return pre-existance of marker
      */
-    public static IMarker markerExists(IResource resource, String message, int lineNumber, String type, List<IMarker> existingMarkers) {
+    public static IMarker markerExists(IResource resource, String message, int lineNumber, String type, List existingMarkers) {
         existingMarkers = checkExistingMarkers(resource, type, existingMarkers);
         
         try {
-            for (IMarker task : existingMarkers) {
-                boolean eqLineNumber = (Integer)task.getAttribute(IMarker.LINE_NUMBER) == lineNumber;
+        	for (Iterator iter = existingMarkers.iterator(); iter.hasNext();) {
+				IMarker task = (IMarker) iter.next();
+				boolean eqLineNumber = ((Integer)task.getAttribute(IMarker.LINE_NUMBER)).intValue() == lineNumber;
                 boolean eqMessage = task.getAttribute(IMarker.MESSAGE).equals(message);
                 if (eqLineNumber && eqMessage){
                     return task;
@@ -90,13 +95,13 @@
 
     public static IMarker createMarker(IResource resource, IDocument doc, String message, 
             int lineStart, int colStart, int lineEnd, int colEnd, 
-            String markerType, int severity, Map<String, Object> additionalInfo) {
+            String markerType, int severity, Map additionalInfo) {
         return createMarker(resource, doc, message, lineStart, colStart, lineEnd, colEnd, markerType, severity, additionalInfo, null);
     }
     
     public static IMarker createMarker(IResource resource, IDocument doc, String message, 
             int lineStart, int colStart, int lineEnd, int colEnd, 
-            String markerType, int severity, Map<String, Object> additionalInfo, List<IMarker> existingMarkers) {
+            String markerType, int severity, Map additionalInfo, List existingMarkers) {
     
         existingMarkers = checkExistingMarkers(resource, markerType, existingMarkers);
 
@@ -139,7 +144,7 @@
             try {
                 
                 
-                HashMap<String, Object> map = new HashMap<String, Object>();
+                HashMap map = new HashMap();
                 map.put(IMarker.MESSAGE, message);
                 map.put(IMarker.LINE_NUMBER, new Integer(lineStart));
                 map.put(IMarker.CHAR_START, new Integer(startAbsolute));
@@ -148,7 +153,9 @@
                 
                 //add the additional info
                 if(additionalInfo != null){
-	                for (Map.Entry<String, Object> entry : additionalInfo.entrySet()) {
+                	for (Iterator iter = additionalInfo.entrySet().iterator(); iter
+							.hasNext();) {
+						Map.Entry entry = (Map.Entry) iter.next();
 	                    map.put(entry.getKey(), entry.getValue());
 	                }
                 }
@@ -161,12 +168,12 @@
         	//to check if it exists, we don't check all attributes, so, let's update those that we don't check (if needed).
         	try {
         		final Object lN = marker.getAttribute(IMarker.LINE_NUMBER);
-				if(lN == null || ((Integer)lN) != lineStart){
+				if(lN == null || ((Integer)lN).intValue() != lineStart){
         			marker.setAttribute(IMarker.LINE_NUMBER, new Integer(lineStart));
         		}
 				
         		final Object mS = marker.getAttribute(IMarker.SEVERITY);
-				if(mS == null || ((Integer)mS) != severity){
+				if(mS == null || ((Integer)mS).intValue() != severity){
         			marker.setAttribute(IMarker.SEVERITY, new Integer(severity));
         		}
 				
@@ -183,16 +190,17 @@
      * @param existingMarkers
      * @return
      */
-    private static List<IMarker> checkExistingMarkers(IResource resource, String markerType, List<IMarker> existingMarkers) {
+    private static List checkExistingMarkers(IResource resource, String markerType, List existingMarkers) {
         if(existingMarkers == null){
             try {
-                existingMarkers = new ArrayList<IMarker>();
+                existingMarkers = new ArrayList();
                 IMarker[] markers = resource.findMarkers(markerType, true, IResource.DEPTH_ZERO);
-                for (IMarker marker : markers) {
-                    existingMarkers.add(marker);
+                for (int i = 0; i < markers.length; i++) {
+					IMarker marker = markers[i];
+					existingMarkers.add(marker);
                 }
             } catch (CoreException e) {
-            	existingMarkers = new ArrayList<IMarker>();
+            	existingMarkers = new ArrayList();
                 PydevPlugin.log(e);
             }
         }
@@ -201,8 +209,8 @@
     
 
 
-    public static IMarker createMarker(IResource resource, IDocument doc, String message, int lineNumber, String markerType, int severity, boolean userEditable, boolean istransient, List<IMarker> existingMarkers) {
-    	HashMap<String, Object> map = new HashMap<String, Object>();
+    public static IMarker createMarker(IResource resource, IDocument doc, String message, int lineNumber, String markerType, int severity, boolean userEditable, boolean istransient, List existingMarkers) {
+    	HashMap map = new HashMap();
     	map.put(IMarker.USER_EDITABLE, new Boolean(userEditable));
     	map.put(IMarker.TRANSIENT, new Boolean(istransient));
         return createMarker(resource, doc, message, lineNumber, 0, lineNumber, 0, markerType, severity, map, existingMarkers);
Index: src/org/python/pydev/builder/pychecker/PyCheckerLauncher.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/pychecker/PyCheckerLauncher.java,v
retrieving revision 1.8
diff -u -r1.8 PyCheckerLauncher.java
--- org.python.pydev/src/org/python/pydev/builder/pychecker/PyCheckerLauncher.java	31 Jan 2006 13:04:39 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/builder/pychecker/PyCheckerLauncher.java	23 May 2006 20:35:21 -0000
@@ -154,7 +154,7 @@
         
         String contents = "";
         try {
-            contents = new SimplePythonRunner().runAndGetOutput(pycheckerLocation, new String[]{resourceLocation}, new File(pycheckerLocation).getParentFile()).o1;
+            contents = (String) new SimplePythonRunner().runAndGetOutput(pycheckerLocation, new String[]{resourceLocation}, new File(pycheckerLocation).getParentFile()).o1;
         } catch (RuntimeException e) {
             System.err.println("Exception during process creation of pychecker on resource: " + resourceLocation + ".");
             throw e;
Index: src/org/python/pydev/builder/pychecker/PyCheckerVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/pychecker/PyCheckerVisitor.java,v
retrieving revision 1.7
diff -u -r1.7 PyCheckerVisitor.java
--- org.python.pydev/src/org/python/pydev/builder/pychecker/PyCheckerVisitor.java	5 Oct 2005 11:15:12 -0000	1.7
+++ org.python.pydev/src/org/python/pydev/builder/pychecker/PyCheckerVisitor.java	23 May 2006 20:35:21 -0000
@@ -30,5 +30,5 @@
      */
     public void visitRemovedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
     }
-    
+
 }
Index: src/org/python/pydev/builder/pycremover/PycRemoverBuilderVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/pycremover/PycRemoverBuilderVisitor.java,v
retrieving revision 1.5
diff -u -r1.5 PycRemoverBuilderVisitor.java
--- org.python.pydev/src/org/python/pydev/builder/pycremover/PycRemoverBuilderVisitor.java	5 Oct 2005 11:15:12 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/builder/pycremover/PycRemoverBuilderVisitor.java	23 May 2006 20:35:21 -0000
@@ -18,11 +18,11 @@
 
 public class PycRemoverBuilderVisitor extends PyDevBuilderVisitor{
 
-    @Override
+
     public void visitChangedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
     }
 
-    @Override
+
     public void visitRemovedResource(IResource resource, IDocument document, IProgressMonitor monitor) {
         String loc = resource.getLocation().toOSString()+"c"; //.py+c = .pyc
         if(loc.endsWith(".pyc")){
@@ -36,12 +36,14 @@
                 }
 
                 //remove all: file and links
-                for(final IFile workspaceFile : files){
+                for (int i = 0; i < files.length; i++) {
+                    final IFile workspaceFile = files[i];
+                    
                     if (workspaceFile != null && workspaceFile.exists()) {
                         
                         new Job("Deleting File"){
                             
-                            @Override
+                            
                             protected IStatus run(IProgressMonitor monitor) {
                                 monitor.beginTask("Delete .pyc file: "+workspaceFile.getName(), 1);
                                 try {
@@ -63,4 +65,5 @@
         }
     }
 
+
 }
Index: src/org/python/pydev/builder/pylint/PyLintPrefInitializer.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/pylint/PyLintPrefInitializer.java,v
retrieving revision 1.2
diff -u -r1.2 PyLintPrefInitializer.java
--- org.python.pydev/src/org/python/pydev/builder/pylint/PyLintPrefInitializer.java	31 Jan 2006 13:04:39 -0000	1.2
+++ org.python.pydev/src/org/python/pydev/builder/pylint/PyLintPrefInitializer.java	23 May 2006 20:35:21 -0000
@@ -10,7 +10,6 @@
 
 public class PyLintPrefInitializer extends AbstractPreferenceInitializer{
 
-    @Override
     public void initializeDefaultPreferences() {
         Preferences node = new DefaultScope().getNode(PydevPlugin.DEFAULT_PYDEV_SCOPE);
         
Index: src/org/python/pydev/builder/pylint/PyLintVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/builder/pylint/PyLintVisitor.java,v
retrieving revision 1.32
diff -u -r1.32 PyLintVisitor.java
--- org.python.pydev/src/org/python/pydev/builder/pylint/PyLintVisitor.java	31 Jan 2006 13:04:39 -0000	1.32
+++ org.python.pydev/src/org/python/pydev/builder/pylint/PyLintVisitor.java	23 May 2006 20:35:21 -0000
@@ -183,7 +183,7 @@
             File script = new File(PyLintPrefPage.getPyLintLocation());
             File arg = new File(location.toOSString());
 
-            ArrayList<String> list = new ArrayList<String>();
+            ArrayList list = new ArrayList();
             list.add("--include-ids=y");
             
             //user args
@@ -198,15 +198,15 @@
             IProject project = resource.getProject();
             
             String scriptToExe = REF.getFileAbsolutePath(script);
-			String[] paramsToExe = list.toArray(new String[0]);
+			String[] paramsToExe = (String []) list.toArray(new String[0]);
 			String cmdLineToExe = SimplePythonRunner.makeExecutableCommandStr(scriptToExe, paramsToExe);
 			write("Pylint: Executing command line:'"+cmdLineToExe+"'", out);
 			
-			Tuple<String, String> outTup = new SimplePythonRunner().runAndGetOutput(cmdLineToExe, script.getParentFile(), project);
+			Tuple outTup = new SimplePythonRunner().runAndGetOutput(cmdLineToExe, script.getParentFile(), project);
 			write("Pylint: The stdout of the command line is: "+outTup.o1, out);
 			write("Pylint: The stderr of the command line is: "+outTup.o2, out);
 			
-			String output = outTup.o1;
+			String output = (String) outTup.o1;
 
             StringTokenizer tokenizer = new StringTokenizer(output, "\r\n");
             
@@ -221,7 +221,7 @@
                 PydevPlugin.log(new RuntimeException("PyLint ERROR: \n"+output));
                 return;
             }
-            if(outTup.o2.indexOf("Traceback (most recent call last):") != -1){
+            if(((String)outTup.o2).indexOf("Traceback (most recent call last):") != -1){
             	PydevPlugin.log(new RuntimeException("PyLint ERROR: \n"+outTup.o2));
             	return;
             }
@@ -376,4 +376,6 @@
         }
         return i;
     }
+    
+
 }
Index: src/org/python/pydev/editor/PyCodeScanner.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/PyCodeScanner.java,v
retrieving revision 1.8
diff -u -r1.8 PyCodeScanner.java
--- org.python.pydev/src/org/python/pydev/editor/PyCodeScanner.java	3 Mar 2006 00:39:13 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/editor/PyCodeScanner.java	23 May 2006 20:35:21 -0000
@@ -174,7 +174,7 @@
 		funcNameToken  = new Token( new TextAttribute(colorCache.getNamedColor(PydevPrefs.FUNC_NAME_COLOR), null, preferences.getInt(PydevPrefs.FUNC_NAME_STYLE)));
 		
 		setDefaultReturnToken(defaultToken);
-		List<IRule> rules = new ArrayList<IRule>();
+		List rules = new ArrayList();
 		
 		// Scanning strategy:
 		// 1) whitespace
@@ -183,12 +183,13 @@
 		
 		rules.add(new WhitespaceRule(new GreatWhite()));
 		
-        Map<String,IToken> defaults = new HashMap<String, IToken>();
+        Map defaults = new HashMap();
         defaults.put("self", selfToken);
         
         PyWordRule wordRule = new PyWordRule(new GreatKeywordDetector(), defaultToken, classNameToken, funcNameToken);
-        for (String keyword : KEYWORDS) {
-            IToken token = defaults.get(keyword);
+        for (int i = 0; i < KEYWORDS.length; i++) {
+            String keyword = KEYWORDS[i];
+            IToken token = (IToken) defaults.get(keyword);
             if(token == null){
                 token = keywordToken;
             }
@@ -200,6 +201,6 @@
         rules.add(new WordRule(new DecoratorDetector(), decoratorToken));
 		rules.add(new WordRule(new NumberDetector(), numberToken));
 		
-		setRules(rules.toArray(new IRule[0]));
+		setRules((IRule[]) rules.toArray(new IRule[0]));
 	}
 }
Index: src/org/python/pydev/editor/PyEdit.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/PyEdit.java,v
retrieving revision 1.92
diff -u -r1.92 PyEdit.java
--- org.python.pydev/src/org/python/pydev/editor/PyEdit.java	6 Apr 2006 15:58:53 -0000	1.92
+++ org.python.pydev/src/org/python/pydev/editor/PyEdit.java	23 May 2006 20:35:21 -0000
@@ -4,6 +4,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.ListResourceBundle;
 import java.util.Map;
@@ -136,18 +137,18 @@
     Hyperlink fMouseListener;
 
     /** listeners that get notified of model changes */
-    List<IModelListener> modelListeners;
+    List modelListeners;
 
     // ---------------------------- listeners stuff
     /**
      * Those are the ones that register with the PYDEV_PYEDIT_LISTENER extension point
      */
-    private static List<IPyEditListener> editListeners;
+    private static List editListeners;
     
     /**
      * Those are the ones that register at runtime (not throught extensions points).
      */
-    private List<IPyEditListener> registeredEditListeners = new ArrayList<IPyEditListener>();
+    private List registeredEditListeners = new ArrayList();
 
     /**
      * This is the scripting engine that is binded to this interpreter.
@@ -163,7 +164,8 @@
     }
 
     private void notifyOnDispose() {
-        for(IPyEditListener listener : getAllListeners()){
+        for (Iterator iter = getAllListeners().iterator(); iter.hasNext();) {
+            IPyEditListener listener = (IPyEditListener) iter.next();
             try {
                 listener.onDispose(this);
             } catch (Exception e) {
@@ -177,7 +179,8 @@
      * @param document the document just set
      */
     private void notifyOnSetDocument(IDocument document) {
-        for(IPyEditListener listener : getAllListeners()){
+        for (Iterator iter = getAllListeners().iterator(); iter.hasNext();) {
+            IPyEditListener listener = (IPyEditListener) iter.next();
             try {
                 listener.onSetDocument(document, this);
             } catch (Exception e) {
@@ -188,7 +191,8 @@
     }
     
     private void notifyOnCreateActions(MyResources resources) {
-        for(IPyEditListener listener : getAllListeners()){
+        for (Iterator iter = getAllListeners().iterator(); iter.hasNext();) {
+            IPyEditListener listener = (IPyEditListener) iter.next();
             try {
                 listener.onCreateActions(resources, this);
             } catch (Exception e) {
@@ -199,7 +203,8 @@
     }
 
     private void notifyOnSave() {
-        for(IPyEditListener listener : getAllListeners()){
+        for (Iterator iter = getAllListeners().iterator(); iter.hasNext();) {
+            IPyEditListener listener = (IPyEditListener) iter.next();
             try {
                 listener.onSave(this);
             } catch (Throwable e) {
@@ -209,8 +214,8 @@
         }
     }
     
-    private List<IPyEditListener> getAllListeners() {
-        ArrayList<IPyEditListener> listeners = new ArrayList<IPyEditListener>();
+    private List getAllListeners() {
+        ArrayList listeners = new ArrayList();
         if(editListeners != null){
             listeners.addAll(editListeners);
         }
@@ -220,7 +225,6 @@
 
     // ---------------------------- end listeners stuff
     
-    @SuppressWarnings("unchecked")
 	public PyEdit() {
         super();
         
@@ -229,7 +233,7 @@
         	editListeners = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_PYEDIT_LISTENER);
         }
         
-        modelListeners = new ArrayList<IModelListener>();
+        modelListeners = new ArrayList();
         colorCache = new ColorCache(PydevPlugin.getChainedPrefStore());
         
         editConfiguration = new PyEditConfiguration(colorCache, this);
@@ -413,7 +417,6 @@
      *  
      * @see org.eclipse.ui.texteditor.AbstractTextEditor#doSetInput(org.eclipse.ui.IEditorInput)
      */
-    @Override
     protected void doSetInput(IEditorInput input) throws CoreException {
         super.doSetInput(input);
         IDocument document = getDocument(input);
@@ -867,7 +870,7 @@
                 message = message.replaceAll("\\r", " ");
                 message = message.replaceAll("\\n", " ");
             }
-            Map<String, Object> map = new HashMap<String, Object>();
+            Map map = new HashMap();
             map.put(IMarker.MESSAGE, message);
             map.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
             map.put(IMarker.LINE_NUMBER, new Integer(errorLine));
@@ -923,7 +926,8 @@
      */
     protected void fireModelChanged(AbstractNode root, SimpleNode root2) {
     	//create a copy, to avoid concurrent modifications
-        for (IModelListener listener : new ArrayList<IModelListener>(modelListeners)) {
+        for (Iterator iter = new ArrayList(modelListeners).iterator(); iter.hasNext();) {
+            IModelListener listener = (IModelListener) iter.next();
         	listener.modelChanged(root, root2);
 		}
     }
@@ -935,7 +939,7 @@
         IProject project = getProject();
         IPythonNature pythonNature = PythonNature.getPythonNature(project);
         if(pythonNature == null){
-            pythonNature = PydevPlugin.getInfoForFile(getEditorFile()).o1;
+            pythonNature = (IPythonNature) PydevPlugin.getInfoForFile(getEditorFile()).o1;
         }
         return pythonNature;
     }
@@ -954,8 +958,8 @@
         return ast;
     }
 
-    Map<String, ActionInfo> onOfflineActionListeners = new HashMap<String, ActionInfo>();
-    public Collection<ActionInfo> getOfflineActionDescriptions(){
+    Map onOfflineActionListeners = new HashMap();
+    public Collection getOfflineActionDescriptions(){
         return onOfflineActionListeners.values();
     }
     public void addOfflineActionListener(String key, IAction action) {
@@ -965,7 +969,7 @@
     	onOfflineActionListeners.put(key, new ActionInfo(action, description, key, needsEnter));
 	}
     public boolean activatesAutomaticallyOn(String key){
-        ActionInfo info = onOfflineActionListeners.get(key);
+        ActionInfo info = (ActionInfo) onOfflineActionListeners.get(key);
         if(info != null){
             if(!info.needsEnter){
                 return true;
@@ -977,7 +981,7 @@
      * @return if an action was binded and was successfully executed
      */
 	public boolean onOfflineAction(String requestedStr, OfflineActionTarget target) {
-		ActionInfo actionInfo = onOfflineActionListeners.get(requestedStr);
+		ActionInfo actionInfo = (ActionInfo) onOfflineActionListeners.get(requestedStr);
         if(actionInfo == null){
             target.statusError("No action was found binded to:"+requestedStr);
             return false;

Index: src/org/python/pydev/editor/PyEditConfiguration.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/PyEditConfiguration.java,v
retrieving revision 1.40
diff -u -r1.40 PyEditConfiguration.java
--- org.python.pydev/src/org/python/pydev/editor/PyEditConfiguration.java	17 Nov 2005 14:53:33 -0000	1.40
+++ org.python.pydev/src/org/python/pydev/editor/PyEditConfiguration.java	23 May 2006 20:35:21 -0000
@@ -74,12 +74,10 @@
     }
     
 
-    @Override
     public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
         return new PyAnnotationHover(sourceViewer);
     }
     
-    @Override
     public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
         return new PyTextHover(sourceViewer, contentType);
     }
Index: src/org/python/pydev/editor/PyPartitionScanner.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/PyPartitionScanner.java,v
retrieving revision 1.14
diff -u -r1.14 PyPartitionScanner.java
--- org.python.pydev/src/org/python/pydev/editor/PyPartitionScanner.java	15 Mar 2006 00:18:34 -0000	1.14
+++ org.python.pydev/src/org/python/pydev/editor/PyPartitionScanner.java	23 May 2006 20:35:21 -0000
@@ -49,21 +49,21 @@
     
 	public PyPartitionScanner() {
 		super();
-		List<IPredicateRule> rules = new ArrayList<IPredicateRule>();
+		List rules = new ArrayList();
 
 		addMultilineStringRule(rules);
 		addSinglelineStringRule(rules);
 		addReprRule(rules);
 		addCommentRule(rules);
 		
-		setPredicateRules(rules.toArray(new IPredicateRule[0]));
+		setPredicateRules((IPredicateRule[]) rules.toArray(new IPredicateRule[0]));
 	}
 
-	private void addReprRule(List<IPredicateRule> rules) {
+	private void addReprRule(List rules) {
 		rules.add(new SingleLineRule("`", "`", new Token(PY_BACKQUOTES)));
 	}
 
-	private void addSinglelineStringRule(List<IPredicateRule> rules) {
+	private void addSinglelineStringRule(List rules) {
 //		IToken singleLineString = new Token(PY_SINGLELINE_STRING);
 //		rules.add(new SingleLineRule("\"", "\"", singleLineString, '\\'));
 //		rules.add(new SingleLineRule("'", "'", singleLineString, '\\')); -- changed to the construct below because we need to continue on escape
@@ -78,7 +78,7 @@
 		rules.add(new PatternRule("\"", "\"", singleLineString, '\\', breaksOnEOL, breaksOnEOF, escapeContinuesLine));
 	}
 
-	private void addMultilineStringRule(List<IPredicateRule> rules) {
+	private void addMultilineStringRule(List rules) {
 		IToken multiLineString = new Token(PY_MULTILINE_STRING);
 		// deal with ''' and """ strings
 		rules.add(new MultiLineRule("'''", "'''", multiLineString, '\\')); 
@@ -101,7 +101,7 @@
 		//I also tried creating a new token for it, but it had problems too (not the same ones, but had other problems).
 	}
 
-	private void addCommentRule(List<IPredicateRule> rules) {
+	private void addCommentRule(List rules) {
 		IToken comment = new Token(PY_COMMENT);
 		rules.add(new EndOfLineRule("#", comment));
 	}
Index: src/org/python/pydev/editor/actions/PyGoToDefinition.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/actions/PyGoToDefinition.java,v
retrieving revision 1.18
diff -u -r1.18 PyGoToDefinition.java
--- org.python.pydev/src/org/python/pydev/editor/actions/PyGoToDefinition.java	17 Apr 2006 18:59:31 -0000	1.18
+++ org.python.pydev/src/org/python/pydev/editor/actions/PyGoToDefinition.java	23 May 2006 20:35:21 -0000
@@ -75,16 +75,17 @@
             final PyEdit pyEdit = getPyEdit();
             if(areRefactorPreconditionsOK(getRefactoringRequest())){
 
-                HashSet<ItemPointer> set = new HashSet<ItemPointer>();
+                HashSet set = new HashSet();
                 ItemPointer[] defs = findDefinition(pyEdit);
                 if(defs == null){
                 	shell.getDisplay().beep();
                 	return;
                 }
-                for (ItemPointer pointer : defs) {
+                for (int i = 0; i < defs.length; i++) {
+                    ItemPointer pointer = defs[i];
                     set.add(pointer);
                 }
-                final ItemPointer[] where = set.toArray(new ItemPointer[0]);
+                final ItemPointer[] where = (ItemPointer[]) set.toArray(new ItemPointer[0]);
     
                 if (where == null) {
                 	shell.getDisplay().beep();
Index: src/org/python/pydev/editor/actions/PyNextMethod.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/actions/PyNextMethod.java,v
retrieving revision 1.3
diff -u -r1.3 PyNextMethod.java
--- org.python.pydev/src/org/python/pydev/editor/actions/PyNextMethod.java	24 Sep 2005 16:30:13 -0000	1.3
+++ org.python.pydev/src/org/python/pydev/editor/actions/PyNextMethod.java	23 May 2006 20:35:21 -0000
@@ -28,12 +28,10 @@
 		return current;	
 	}
 
-    @Override
     protected boolean goToEndOfFile() {
         return true;
     }
 
-    @Override
     protected boolean goToStartOfFile() {
         return false;
     }
Index: src/org/python/pydev/editor/actions/PyOrganizeImports.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/actions/PyOrganizeImports.java,v
retrieving revision 1.7
diff -u -r1.7 PyOrganizeImports.java
--- org.python.pydev/src/org/python/pydev/editor/actions/PyOrganizeImports.java	25 Feb 2006 00:14:23 -0000	1.7
+++ org.python.pydev/src/org/python/pydev/editor/actions/PyOrganizeImports.java	23 May 2006 20:35:21 -0000
@@ -37,10 +37,10 @@
 			
 			if(ps.getStartLineIndex() == ps.getEndLineIndex()){
                 //let's see if someone wants to make a better implementation in another plugin...
-                List<IOrganizeImports> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_ORGANIZE_IMPORTS);
+                List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_ORGANIZE_IMPORTS);
                 if(participants.size() == 1){
                     PyEdit pyEdit = getPyEdit();
-                    participants.get(0).performArrangeImports(ps, pyEdit);
+                    ((IOrganizeImports) participants.get(0)).performArrangeImports(ps, pyEdit);
                 }else{
                     if(participants.size() > 1){
                         //let's issue a warning... this extension can only have 1 plugin implementing it
Index: src/org/python/pydev/editor/actions/PyPreviousMethod.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/actions/PyPreviousMethod.java,v
retrieving revision 1.3
diff -u -r1.3 PyPreviousMethod.java
--- org.python.pydev/src/org/python/pydev/editor/actions/PyPreviousMethod.java	24 Sep 2005 16:30:13 -0000	1.3
+++ org.python.pydev/src/org/python/pydev/editor/actions/PyPreviousMethod.java	23 May 2006 20:35:21 -0000
@@ -27,12 +27,10 @@
 		return current;	
 	}
 
-    @Override
     protected boolean goToEndOfFile() {
         return false;
     }
 
-    @Override
     protected boolean goToStartOfFile() {
         return true;
     }
Index: src/org/python/pydev/editor/actions/PyShowBrowser.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/actions/PyShowBrowser.java,v
retrieving revision 1.1
diff -u -r1.1 PyShowBrowser.java
--- org.python.pydev/src/org/python/pydev/editor/actions/PyShowBrowser.java	21 Feb 2006 19:27:37 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/editor/actions/PyShowBrowser.java	23 May 2006 20:35:21 -0000
@@ -7,7 +7,6 @@
  */
 public class PyShowBrowser extends PyShowOutline{
 
-	@Override
 	protected String getExtensionName() {
 		return ExtensionHelper.PYDEV_GLOBALS_BROWSER;
 	}
Index: src/org/python/pydev/editor/actions/PyShowOutline.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/actions/PyShowOutline.java,v
retrieving revision 1.4
diff -u -r1.4 PyShowOutline.java
--- org.python.pydev/src/org/python/pydev/editor/actions/PyShowOutline.java	21 Feb 2006 19:27:37 -0000	1.4
+++ org.python.pydev/src/org/python/pydev/editor/actions/PyShowOutline.java	23 May 2006 20:35:21 -0000
@@ -35,7 +35,6 @@
     	}
     }
     
-    @Override
     public void selectionChanged(IAction action, ISelection selection) {
     	IEditorActionDelegate participant = getParticipant();
     	if(participant != null){
Index: src/org/python/pydev/editor/actions/refactoring/PyRefactorAction.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/actions/refactoring/PyRefactorAction.java,v
retrieving revision 1.17
diff -u -r1.17 PyRefactorAction.java
--- org.python.pydev/src/org/python/pydev/editor/actions/refactoring/PyRefactorAction.java	22 Apr 2006 14:05:02 -0000	1.17
+++ org.python.pydev/src/org/python/pydev/editor/actions/refactoring/PyRefactorAction.java	23 May 2006 20:35:21 -0000
@@ -110,7 +110,7 @@
         IPyRefactoring pyRefactoring = AbstractPyRefactoring.getPyRefactoring();
         //check if it is able to do the method by checking its pre-condition
         try {
-            if ((Boolean) REF.invoke(pyRefactoring, conditionalMethod, new Object[0])) {
+            if (((Boolean) REF.invoke(pyRefactoring, conditionalMethod, new Object[0])).booleanValue()) {
                 return pyRefactoring;
             }
         } catch (Exception e) {
@@ -245,7 +245,6 @@
             //pyrefactoring instance in the perform action
             new Job("Performing: "+action.getClass().getName()){
 
-                @Override
                 protected IStatus run(IProgressMonitor monitor) {
                     try{
                         Operation o = new Operation(null, action);
Index: src/org/python/pydev/editor/autoedit/PyAutoIndentStrategy.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/autoedit/PyAutoIndentStrategy.java,v
retrieving revision 1.42
diff -u -r1.42 PyAutoIndentStrategy.java
--- org.python.pydev/src/org/python/pydev/editor/autoedit/PyAutoIndentStrategy.java	18 Apr 2006 21:39:52 -0000	1.42
+++ org.python.pydev/src/org/python/pydev/editor/autoedit/PyAutoIndentStrategy.java	23 May 2006 20:35:21 -0000
@@ -115,16 +115,16 @@
     }
 
 	private String indentBasedOnStartingScope(String text, PySelection selection, boolean checkForLowestBeforeNewScope) {
-		Tuple3<String,String, String> previousIfLine = selection.getPreviousLineThatStartsScope();
+		Tuple3 previousIfLine = selection.getPreviousLineThatStartsScope();
 		if(previousIfLine != null){
 		    String initial = getCharsBeforeNewLine(text);
 		    
 		    if(previousIfLine.o2 == null){ //no dedent was found
-		    	String indent = PySelection.getIndentationFromLine(previousIfLine.o1);
+		    	String indent = PySelection.getIndentationFromLine((String) previousIfLine.o1);
 
 		    	if(checkForLowestBeforeNewScope && previousIfLine.o3 != null){
 		    		
-                    indent = PySelection.getIndentationFromLine(previousIfLine.o3);
+                    indent = PySelection.getIndentationFromLine((String) previousIfLine.o3);
                     text = initial + indent;
                     
                 }else{
@@ -134,7 +134,7 @@
                 }
 		    	
 		    }else{ //some dedent was found
-		    	String indent = PySelection.getIndentationFromLine(previousIfLine.o2);
+		    	String indent = PySelection.getIndentationFromLine((String) previousIfLine.o2);
 		    	String indentationString = prefs.getIndentationString();
 		    	
 		    	final int i = indent.length() - indentationString.length();
@@ -232,12 +232,12 @@
         }
         return text;
     }
-    private Tuple<String, Integer> removeFirstIndent(String text) {
+    private Tuple removeFirstIndent(String text) {
         String indentationString = prefs.getIndentationString();
         if(text.startsWith(indentationString)){
-            return new Tuple<String, Integer>(text.substring(indentationString.length()), indentationString.length());
+            return new Tuple(text.substring(indentationString.length()), new Integer(indentationString.length()));
         }
-        return new Tuple<String, Integer>(text, 0);
+        return new Tuple(text, new Integer(0));
     }
 
     /**
@@ -454,7 +454,7 @@
      * @return the new indent and the number of chars it has been dedented (so, that has to be considered as a shift to the left
      * on subsequent things).
      */
-    public Tuple<String, Integer> autoDedentElse(IDocument document, DocumentCommand command, String tok) throws BadLocationException {
+    public Tuple autoDedentElse(IDocument document, DocumentCommand command, String tok) throws BadLocationException {
         if(getIndentPrefs().getAutoDedentElse()){
             PySelection ps = new PySelection(document, command.offset);
             String lineContents = ps.getCursorLineContents();
@@ -467,9 +467,9 @@
                     
                     String indent = prefs.getIndentationString();
                     if(lineIndent.length() == ifIndent.length()+indent.length()){
-                        Tuple<String,Integer> dedented = removeFirstIndent(lineContents);
-                        ps.replaceLineContentsToSelection(dedented.o1);
-                        command.offset = command.offset - dedented.o2;
+                        Tuple dedented = removeFirstIndent(lineContents);
+                        ps.replaceLineContentsToSelection((String) dedented.o1);
+                        command.offset = command.offset - ((Integer)dedented.o2).intValue();
                         return dedented;
                     }
                 }
@@ -478,7 +478,7 @@
         return null;
     }
     
-    public Tuple<String, Integer> autoDedentElse(IDocument document, DocumentCommand command) throws BadLocationException {
+    public Tuple autoDedentElse(IDocument document, DocumentCommand command) throws BadLocationException {
     	return autoDedentElse(document, command, "else");
     }
 
@@ -487,7 +487,7 @@
      * @return the new indent and the number of chars it has been dedented (so, that has to be considered as a shift to the left
      * on subsequent things).
      */
-    public Tuple<String, Integer> autoDedentElif(IDocument document, DocumentCommand command) throws BadLocationException {
+    public Tuple autoDedentElif(IDocument document, DocumentCommand command) throws BadLocationException {
     	return autoDedentElse(document, command, "elif");
     }
     
Index: src/org/python/pydev/editor/codecompletion/PyCodeCompletionInitializer.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/PyCodeCompletionInitializer.java,v
retrieving revision 1.1
diff -u -r1.1 PyCodeCompletionInitializer.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/PyCodeCompletionInitializer.java	20 Aug 2005 20:28:58 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/PyCodeCompletionInitializer.java	23 May 2006 20:35:21 -0000
@@ -10,7 +10,6 @@
 
 public class PyCodeCompletionInitializer extends AbstractPreferenceInitializer{
 
-    @Override
     public void initializeDefaultPreferences() {
         Preferences node = new DefaultScope().getNode(PydevPlugin.DEFAULT_PYDEV_SCOPE);
         
Index: src/org/python/pydev/editor/codecompletion/PythonStringCompletionProcessor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/PythonStringCompletionProcessor.java,v
retrieving revision 1.1
diff -u -r1.1 PythonStringCompletionProcessor.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/PythonStringCompletionProcessor.java	4 Nov 2005 14:35:12 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/PythonStringCompletionProcessor.java	23 May 2006 20:35:21 -0000
@@ -8,7 +8,6 @@
 		super(edit);
 	}
 	
-	@Override
 	public char[] getCompletionProposalAutoActivationCharacters() {
 		//no auto-activation within strings.
 		return new char[]{};
Index: src/org/python/pydev/editor/codecompletion/revisited/AbstractASTManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/AbstractASTManager.java,v
retrieving revision 1.10
diff -u -r1.10 AbstractASTManager.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/AbstractASTManager.java	19 Apr 2006 20:00:25 -0000	1.10
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/AbstractASTManager.java	23 May 2006 20:35:21 -0000
@@ -101,7 +101,7 @@
         //absoluteModule = absoluteModule.toLowerCase().trim();
 
         //set to hold the completion (no duplicates allowed).
-        Set<IToken> set = new HashSet<IToken>();
+        Set set = new HashSet();
 
         //first we get the imports... that complete for the token.
         getAbsoluteImportTokens(absoluteModule, set, PyCodeCompletion.TYPE_IMPORT, false);
@@ -123,7 +123,7 @@
      * @param moduleToGetTokensFrom the string that represents the token from where we are getting the imports
      * @param set the set where the tokens should be added
      */
-    protected void getAbsoluteImportTokens(String moduleToGetTokensFrom, Set<IToken> set, int type, boolean onlyFilesOnSameLevel) {
+    protected void getAbsoluteImportTokens(String moduleToGetTokensFrom, Set set, int type, boolean onlyFilesOnSameLevel) {
         for (Iterator iter = Arrays.asList(modulesManager.getAllModules()).iterator(); iter.hasNext();) {
             ModulesKey key = (ModulesKey) iter.next();
 
@@ -174,15 +174,15 @@
      * @param moduleToGetTokensFrom
      * @param set set where the tokens should be added
      */
-    protected void getTokensForModule(String original, IPythonNature nature, String moduleToGetTokensFrom, Set<IToken> set) {
+    protected void getTokensForModule(String original, IPythonNature nature, String moduleToGetTokensFrom, Set set) {
         if (moduleToGetTokensFrom.length() > 0) {
             if (original.endsWith(".")) {
                 original = original.substring(0, original.length() - 1);
             }
 
-            Tuple<IModule, String> modTok = findModuleFromPath(original, nature, false, null); //the current module name is not used as it is not relative
-            IModule m = modTok.o1;
-            String tok = modTok.o2;
+            Tuple modTok = findModuleFromPath(original, nature, false, null); //the current module name is not used as it is not relative
+            IModule m = (IModule) modTok.o1;
+            String tok = (String) modTok.o2;
             
             if(m == null){
             	//we were unable to find it with the given path, so, there's nothing else to do here...
@@ -295,7 +295,7 @@
      * @see org.python.pydev.editor.codecompletion.revisited.ICodeCompletionASTManage#getCompletionsForModule(org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule, org.python.pydev.editor.codecompletion.revisited.CompletionState, boolean)
      */
     public IToken[] getCompletionsForModule(IModule module, ICompletionState state, boolean searchSameLevelMods) {
-        ArrayList<IToken> importedModules = new ArrayList<IToken>();
+        ArrayList importedModules = new ArrayList();
         if(state.getLocalImportsGotten() == false){
             //in the first analyzed module, we have to get the local imports too. 
             state.setLocalImportsGotten (true);
@@ -319,13 +319,14 @@
             
 	        //now, lets check if this is actually a module that is an __init__ (if so, we have to get all
 	        //the other .py files as modules that are in the same level as the __init__)
-            Set<IToken> initial = new HashSet<IToken>();
+            Set initial = new HashSet();
             if(searchSameLevelMods){
 		        String modName = module.getName();
 		        if(modName != null && modName.endsWith(".__init__")){
-		        	HashSet<IToken> gotten = new HashSet<IToken>();
+		        	HashSet gotten = new HashSet();
 					getAbsoluteImportTokens(FullRepIterable.getParentModule(modName), gotten, PyCodeCompletion.TYPE_IMPORT, true);
-					for (IToken token : gotten) {
+                    for (Iterator iter = gotten.iterator(); iter.hasNext();) {
+                        IToken token = (IToken) iter.next();
 						if(token.getRepresentation().equals("__init__") == false){
 							initial.add(token);
 						}
@@ -335,7 +336,7 @@
 
 	        if (state.getActivationToken().length() == 0) {
 
-		        List<IToken> completions = getGlobalCompletions(globalTokens, importedModules.toArray(new IToken[0]), wildImportedModules, state, module);
+		        List completions = getGlobalCompletions(globalTokens, (IToken[]) importedModules.toArray(new IToken[0]), wildImportedModules, state, module);
 		        
 		        //now find the locals for the module
 		        if (state.getLine() >= 0){
@@ -346,12 +347,12 @@
 		        }
 		        completions.addAll(initial); //just addd all that are in the same level if it was an __init__
 
-                return completions.toArray(new IToken[0]);
+                return (IToken[]) completions.toArray(new IToken[0]);
                 
             }else{ //ok, we have a token, find it and get its completions.
                 
                 //first check if the token is a module... if it is, get the completions for that module.
-                IToken[] t = findTokensOnImportedMods(importedModules.toArray(new IToken[0]), state, module);
+                IToken[] t = findTokensOnImportedMods((IToken[]) importedModules.toArray(new IToken[0]), state, module);
                 if(t != null && t.length > 0){
                     return t;
                 }
@@ -422,8 +423,10 @@
      * 
      * @return a list of tokens found.
      */
-    protected IToken[] searchOnSameLevelMods(Set<IToken> initial, ICompletionState state) {
-        for (IToken token : initial) {
+    protected IToken[] searchOnSameLevelMods(Set initial, ICompletionState state) {
+        for (Iterator iter = initial.iterator(); iter.hasNext();) {
+            IToken token= (IToken) iter.next();
+            
 			//ok, maybe it was from the set that is in the same level as this one (this will only happen if we are on an __init__ module)
         	String rep = token.getRepresentation();
         	
@@ -478,7 +481,7 @@
         if (module instanceof SourceModule) {
             SourceModule s = (SourceModule) module;
             try {
-                Definition[] defs = s.findDefinition(state.getActivationToken(), state.getLine(), state.getCol(), state.getNature(), new ArrayList<FindInfo>());
+                Definition[] defs = (Definition[]) s.findDefinition(state.getActivationToken(), state.getLine(), state.getCol(), state.getNature(), new ArrayList());
                 for (int i = 0; i < defs.length; i++) {
                     if(!(defs[0].ast instanceof FunctionDef)){
                         //we might want to extend that later to check the return of some function...
@@ -513,7 +516,7 @@
      * @see org.python.pydev.editor.codecompletion.revisited.ICodeCompletionASTManage#getGlobalCompletions
      */
     public List getGlobalCompletions(IToken[] globalTokens, IToken[] importedModules, IToken[] wildImportedModules, ICompletionState state, IModule current) {
-        List<IToken> completions = new ArrayList<IToken>();
+        List completions = new ArrayList();
 
         //in completion with nothing, just go for what is imported and global tokens.
         for (int i = 0; i < globalTokens.length; i++) {
@@ -588,13 +591,13 @@
     }
 
     public IToken[] findTokensOnImportedMods( IToken[] importedModules, ICompletionState state, IModule current) {
-        Tuple<IModule, String> o = findOnImportedMods(importedModules, state.getNature(), state.getActivationToken(), current.getName());
+        Tuple o = findOnImportedMods(importedModules, state.getNature(), state.getActivationToken(), current.getName());
         
         if(o == null)
             return null;
         
-        IModule mod = o.o1;
-        String tok = o.o2;
+        IModule mod = (IModule) o.o1;
+        String tok = (String) o.o2;
 
         if(tok.length() == 0){
             //the activation token corresponds to an imported module. We have to get its global tokens and return them.
@@ -622,7 +625,7 @@
      * 0: mod
      * 1: tok
      */
-    public Tuple<IModule, String> findOnImportedMods( IPythonNature nature, String activationToken, IModule current) {
+    public Tuple findOnImportedMods( IPythonNature nature, String activationToken, IModule current) {
         IToken[] importedModules = current.getTokenImportedModules();
         return findOnImportedMods(importedModules, nature, activationToken, current.getName());
     }
@@ -642,11 +645,14 @@
      * 0: mod
      * 1: tok
      */
-    public Tuple<IModule, String> findOnImportedMods( IToken[] importedModules, IPythonNature nature, String activationToken, String currentModuleName) {
+    public Tuple findOnImportedMods( IToken[] importedModules, IPythonNature nature, String activationToken, String currentModuleName) {
         	
     	FullRepIterable iterable = new FullRepIterable(activationToken, true);
-    	for(String tok : iterable){
-    		for (IToken importedModule : importedModules) {
+        for (Iterator iter = iterable.iterator(); iter.hasNext();) {
+            String tok = (String) iter.next();
+           
+            for (int i = 0; i < importedModules.length; i++) {
+                IToken importedModule = importedModules[i];
         	
 	            final String modRep = importedModule.getRepresentation(); //this is its 'real' representation (alias) on the file (if it is from xxx import a as yyy, it is yyy)
 	            
@@ -663,18 +669,18 @@
     /**
      * Checks if some module can be resolved and returns the module it is resolved to (and to which token).
      */
-    protected Tuple<IModule, String> findOnImportedMods(IToken importedModule, String tok, IPythonNature nature, 
+    protected Tuple findOnImportedMods(IToken importedModule, String tok, IPythonNature nature, 
     		String activationToken, String currentModuleName) {
     	
-    	Tuple<IModule, String> modTok = null;
+    	Tuple modTok = null;
     	IModule mod = null;
         
         //check as relative with complete rep
         String asRelativeImport = importedModule.getAsRelativeImport(currentModuleName);
 		modTok = findModuleFromPath(asRelativeImport, nature, true, currentModuleName);
-        mod = modTok.o1;
+        mod = (IModule) modTok.o1;
         if(checkValidity(currentModuleName, mod)){
-            Tuple<IModule, String> ret = fixTok(modTok, tok, activationToken);
+            Tuple ret = fixTok(modTok, tok, activationToken);
             return ret;
         }
         
@@ -686,12 +692,12 @@
         	originalWithoutRep = originalWithoutRep + ".__init__";
         }
 		modTok = findModuleFromPath(originalWithoutRep, nature, true, null);
-        mod = modTok.o1;
-        if(modTok.o2.endsWith("__init__") == false && checkValidity(currentModuleName, mod)){
+        mod = (IModule) modTok.o1;
+        if(((String) modTok.o2).endsWith("__init__") == false && checkValidity(currentModuleName, mod)){
         	if(mod.isInGlobalTokens(importedModule.getRepresentation(), nature, false)){
         		//then this is the token we're looking for (otherwise, it might be a module).
-        		Tuple<IModule, String> ret =  fixTok(modTok, tok, activationToken);
-        		if(ret.o2.length() == 0){
+        		Tuple ret =  fixTok(modTok, tok, activationToken);
+        		if(((String) ret.o2).length() == 0){
         			ret.o2 = importedModule.getRepresentation();
         		}else{
         			ret.o2 = importedModule.getRepresentation()+"."+ret.o2;
@@ -704,9 +710,9 @@
         
         //the most 'simple' case: check as absolute with original rep
         modTok = findModuleFromPath(importedModule.getOriginalRep(), nature, false, null);
-        mod = modTok.o1;
+        mod = (IModule) modTok.o1;
         if(checkValidity(currentModuleName, mod)){
-            Tuple<IModule, String> ret =  fixTok(modTok, tok, activationToken);
+            Tuple ret =  fixTok(modTok, tok, activationToken);
             return ret;
         }
         
@@ -717,9 +723,9 @@
         
         //ok, one last shot, to see a relative looking in folders __init__
         modTok = findModuleFromPath(asRelativeImport, nature, false, null);
-        mod = modTok.o1;
+        mod = (IModule) modTok.o1;
         if(checkValidity(currentModuleName, mod)){
-            Tuple<IModule, String> ret = fixTok(modTok, tok, activationToken);
+            Tuple ret = fixTok(modTok, tok, activationToken);
             //now let's see if what we did when we found it as a relative import is correct:
             
             //if we didn't find it in an __init__ module, all should be ok
@@ -774,13 +780,13 @@
      * 
      * This means that if we had testcase.TestCase and found it as TestCase, the token is added with TestCase
      */
-    protected Tuple<IModule, String> fixTok(Tuple<IModule, String> modTok, String tok, String activationToken) {
+    protected Tuple fixTok(Tuple modTok, String tok, String activationToken) {
     	if(activationToken.length() > tok.length() && activationToken.startsWith(tok)){
     		String toAdd = activationToken.substring(tok.length() + 1);
-    		if(modTok.o2.length() == 0){
+    		if(((String) modTok.o2).length() == 0){
     			modTok.o2 = toAdd;
     		}else{
-    			modTok.o2 += "."+toAdd;
+    			modTok.o2 = (String) modTok.o2 + "."+toAdd;
     		}
     	}
 		return modTok;
@@ -797,7 +803,7 @@
      * @return tuple with found module and the String removed from the path in
      * order to find the module.
      */
-    protected Tuple<IModule, String> findModuleFromPath(String rep, IPythonNature nature, boolean dontSearchInit, String currentModuleName){
+    protected Tuple findModuleFromPath(String rep, IPythonNature nature, boolean dontSearchInit, String currentModuleName){
         String tok = "";
         IModule mod = getModule(rep, nature, dontSearchInit);
         String mRep = rep;
@@ -819,9 +825,9 @@
         	//if it equal, it should not match either, as it was found as the parent module... this can not happen because it must find
         	//it with __init__ if it was the parent module
         	if (mod.getName().length() <= parentModule.length()){
-        		return new Tuple<IModule, String>(null, null);
+        		return new Tuple(null, null);
         	}
         }
-        return new Tuple<IModule, String>((AbstractModule)mod, tok);
+        return new Tuple((AbstractModule)mod, tok);
     }
 }
Index: src/org/python/pydev/editor/codecompletion/revisited/CompletionState.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/CompletionState.java,v
retrieving revision 1.14
diff -u -r1.14 CompletionState.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/CompletionState.java	18 Mar 2006 21:34:29 -0000	1.14
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/CompletionState.java	23 May 2006 20:35:21 -0000
@@ -23,16 +23,16 @@
     public int col;
     public IPythonNature nature;
     
-    public Memo<String> memory = new Memo<String>();
-    public Memo<Definition> definitionMemory = new Memo<Definition>();
-    public Memo<IModule> wildImportMemory = new Memo<IModule>();
-    public Memo<String> importedModsCalled = new Memo<String>();
-    public Memo<String> findMemory = new Memo<String>();
+    public Memo memory = new Memo();
+    public Memo definitionMemory = new Memo();
+    public Memo wildImportMemory = new Memo();
+    public Memo importedModsCalled = new Memo();
+    public Memo findMemory = new Memo();
     
     public boolean builtinsGotten=false;
     public boolean localImportsGotten=false;
 
-    public CompletionState getCopy(){
+    public ICompletionState getCopy(){
         CompletionState state = new CompletionState();
         state.activationToken = activationToken;
         state.line = line;
@@ -56,7 +56,7 @@
      * 
      * @author Fabio Zadrozny
      */
-    static class Memo<E>{
+    static class Memo{
         
     	private int max;
 
@@ -72,38 +72,38 @@
          * if more than this number of ocurrences is found, we are in a recursion
          */
         private static final int MAX_NUMBER_OF_OCURRENCES = 5;
-        
-        public Map<IModule, Map<E, Integer>> memo = new HashMap<IModule, Map<E, Integer>>();
 
-        public boolean isInRecursion(IModule caller, E def){
-            Map<E, Integer> val;
+        public Map memo = new HashMap();
+
+        public boolean isInRecursion(IModule caller, Object def){
+            Map val;
             
             boolean occuredMoreThanMax = false;
             if(!memo.containsKey(caller)){
                 
                 //still does not exist, let's create the structure...
-                val = new HashMap<E, Integer>();
+                val = new HashMap();
                 memo.put(caller, val);
                 
             }else{
-                val = memo.get(caller);
+                val = (Map) memo.get(caller);
                 
                 if(val.containsKey(def)){ //may be a recursion
-                    Integer numberOfOccurences = val.get(def);
+                    Integer numberOfOccurences = (Integer) val.get(def);
                     
                     //should never be null...
-                    if(numberOfOccurences > max){
+                    if(numberOfOccurences.intValue() > max){
                         occuredMoreThanMax = true; //ok, we are recursing...
                     }
                 }
             }
             
             //let's raise the number of ocurrences anyway
-            Integer numberOfOccurences = val.get(def);
+            Integer numberOfOccurences = (Integer) val.get(def);
             if(numberOfOccurences == null){
-                val.put(def, 1); //this is the first ocurrence
+                val.put(def, new Integer(1)); //this is the first ocurrence
             }else{
-                val.put(def, numberOfOccurences+1);
+                val.put(def, new Integer(numberOfOccurences.intValue() + 1));
             }
             
             return occuredMoreThanMax;
Index: src/org/python/pydev/editor/codecompletion/revisited/ModulesManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/ModulesManager.java,v
retrieving revision 1.41
diff -u -r1.41 ModulesManager.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/ModulesManager.java	20 Apr 2006 12:36:47 -0000	1.41
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/ModulesManager.java	23 May 2006 20:35:21 -0000
@@ -43,8 +43,8 @@
  * @author Fabio Zadrozny
  */
 public abstract class ModulesManager implements IModulesManager, Serializable {
-
-	private final class ModulesManagerCache extends LRUCache<ModulesKey, AbstractModule> {
+    //<ModulesKey, AbstractModule>
+	private final class ModulesManagerCache extends LRUCache {
 		private ModulesManagerCache(int size) {
 			super(size);
 		}
@@ -53,9 +53,9 @@
 		 * Overriden so that if we do not find the key, we have the chance to create it.
 		 */
 		public AbstractModule getObj(ModulesKey key) {
-			AbstractModule obj = super.getObj(key);
+			AbstractModule obj = (AbstractModule) super.getObj(key);
 			if(obj == null && modulesKeys.containsKey(key)){
-				key = modulesKeys.get(key); //get the 'real' key
+				key = (ModulesKey) modulesKeys.get(key); //get the 'real' key
 				obj = AbstractModule.createEmptyModule(key.name, key.file);
 				this.add(key, obj);
 			}
@@ -75,10 +75,10 @@
      * were thrown because of the may size when having too many modules).
      */
 //    protected transient Map<ModulesKey, AbstractModule> modules = new HashMap<ModulesKey, AbstractModule>();
-	protected transient Map<ModulesKey, ModulesKey> modulesKeys = new HashMap<ModulesKey, ModulesKey>();
-	protected transient Cache<ModulesKey, AbstractModule> cache = createCache();
+	protected transient Map modulesKeys = new HashMap();
+	protected transient Cache cache = createCache();
     
-	protected Cache<ModulesKey, AbstractModule> createCache(){
+	protected Cache createCache(){
 		return new ModulesManagerCache(300);
 	}
 	
@@ -86,7 +86,7 @@
      * This is the set of files that was found just right after unpickle (it should not be changed after that,
      * and serves only as a reference cache).
      */
-    protected transient Set<File> files = new HashSet<File>();
+    protected transient Set files = new HashSet();
 
     /**
      * Helper for using the pythonpath. Also persisted.
@@ -100,9 +100,9 @@
      */
     private void readObject(ObjectInputStream aStream) throws IOException, ClassNotFoundException {
     	cache = createCache();
-    	modulesKeys = new HashMap<ModulesKey, ModulesKey>();
+    	modulesKeys = new HashMap();
     	
-        files = new HashSet<File>();
+        files = new HashSet();
         aStream.defaultReadObject();
         Set set = (Set) aStream.readObject();
         for (Iterator iter = set.iterator(); iter.hasNext();) {
@@ -127,7 +127,7 @@
     /**
      * @param modules The modules to set.
      */
-    private void setModules(HashMap<ModulesKey, ModulesKey> keys) {
+    private void setModules(HashMap keys) {
         this.modulesKeys = keys;
     }
     
@@ -135,7 +135,7 @@
     /**
      * @return Returns the modules.
      */
-    protected Map<ModulesKey, AbstractModule> getModules() {
+    protected Map getModules() {
         throw new RuntimeException("Deprecated");
     }
 
@@ -153,7 +153,7 @@
 	 * @param fromJar OUT - the names of the modules that were found inside a jar
 	 * @return the total number of modules found (that's completions + fromJar)
 	 */
-	private int listFilesForCompletion(IProgressMonitor monitor, List<String> pythonpathList, List<File> completions, List<String> fromJar) {
+	private int listFilesForCompletion(IProgressMonitor monitor, List pythonpathList, List completions, List fromJar) {
 		int total = 0;
 		//first thing: get all files available from the python path and sum them up.
         for (Iterator iter = pythonpathList.iterator(); iter.hasNext() && monitor.isCanceled() == false;) {
@@ -161,13 +161,13 @@
 
             //the slow part is getting the files... not much we can do (I think).
             File root = new File(element);
-            List<File>[] below = pythonPathHelper.getModulesBelow(root, monitor);
+            List[] below = pythonPathHelper.getModulesBelow(root, monitor);
             if(below != null){
                 completions.addAll(below[0]);
                 total += below[0].size();
                 
             }else{ //ok, it was null, so, maybe this is not a folder, but  zip file with java classes...
-                List<String> currFromJar = PythonPathHelper.getFromJar(root, monitor);
+                List currFromJar = PythonPathHelper.getFromJar(root, monitor);
                 if(currFromJar != null){
                     fromJar.addAll(currFromJar);
                     total += currFromJar.size();
@@ -178,9 +178,9 @@
 	}
 
 	public void changePythonPath(String pythonpath, final IProject project, IProgressMonitor monitor, String defaultSelectedInterpreter) {
-		List<String> pythonpathList = pythonPathHelper.setPythonPath(pythonpath);
-		List<File> completions = new ArrayList<File>();
-		List<String> fromJar = new ArrayList<String>();
+		List pythonpathList = pythonPathHelper.setPythonPath(pythonpath);
+		List completions = new ArrayList();
+		List fromJar = new ArrayList();
 		int total = listFilesForCompletion(monitor, pythonpathList, completions, fromJar);
 		changePythonPath(pythonpath, project, monitor, pythonpathList, completions, fromJar, total, defaultSelectedInterpreter);
 	}
@@ -190,9 +190,9 @@
      * @param project may be null if there is no associated project.
      */
     private void changePythonPath(String pythonpath, final IProject project, IProgressMonitor monitor, 
-    		List<String> pythonpathList, List<File> completions, List<String> fromJar, int total, String defaultSelectedInterpreter) {
+    		List pythonpathList, List completions, List fromJar, int total, String defaultSelectedInterpreter) {
 
-    	HashMap<ModulesKey, ModulesKey> keys = new HashMap<ModulesKey, ModulesKey>();
+    	HashMap keys = new HashMap();
         int j = 0;
 
         //now, create in memory modules for all the loaded files (empty modules).
@@ -234,7 +234,9 @@
             }
         }
         
-        for (String modName : fromJar) {
+        for (Iterator iter = fromJar.iterator(); iter.hasNext();) {
+            String modName = (String) iter.next();
+            
         	final ModulesKey k = new ModulesKey(modName, null);
 			keys.put(k, k);
         }
@@ -268,7 +270,7 @@
 
             
         }else if (f != null){ //ok, remove the module that has a key with this file, as it can no longer be resolved
-            Set<ModulesKey> toRemove = new HashSet<ModulesKey>();
+            Set toRemove = new HashSet();
             for (Iterator iter = modulesKeys.keySet().iterator(); iter.hasNext();) {
                 ModulesKey key = (ModulesKey) iter.next();
                 if(key.file != null && key.file.equals(f)){
@@ -309,7 +311,7 @@
             return;
         }
         
-        List<ModulesKey> toRem = new ArrayList<ModulesKey>();
+        List toRem = new ArrayList();
         for (Iterator iter = modulesKeys.keySet().iterator(); iter.hasNext();) {
             ModulesKey key = (ModulesKey) iter.next();
             if (key.file != null && key.file.equals(file)) {
@@ -330,7 +332,7 @@
         }
         
         String absolutePath = REF.getFileAbsolutePath(file);
-        List<ModulesKey> toRem = new ArrayList<ModulesKey>();
+        List toRem = new ArrayList();
         
         for (Iterator iter = modulesKeys.keySet().iterator(); iter.hasNext();) {
             ModulesKey key = (ModulesKey) iter.next();
@@ -348,10 +350,10 @@
      * 
      * @param toRem the modules to be removed
      */
-    protected void removeThem(Collection<ModulesKey> toRem) {
+    protected void removeThem(Collection toRem) {
         //really remove them here.
-        for (Iterator<ModulesKey> iter = toRem.iterator(); iter.hasNext();) {
-            doRemoveSingleModule(iter.next());
+        for (Iterator iter = toRem.iterator(); iter.hasNext();) {
+            doRemoveSingleModule((ModulesKey) iter.next());
         }
     }
 
@@ -381,9 +383,11 @@
     /**
      * @return a set of all module keys
      */
-    public Set<String> getAllModuleNames() {
-        Set<String> s = new HashSet<String>();
-        for (ModulesKey key : this.modulesKeys.keySet()) {
+    public Set getAllModuleNames() {
+        Set s = new HashSet();
+        for (Iterator iter = this.modulesKeys.keySet().iterator(); iter.hasNext();) {
+            ModulesKey key = (ModulesKey) iter.next();
+            
             s.add(key.name);
         }
         return s;
@@ -433,9 +437,9 @@
             if (name.startsWith(forcedBuiltin)) {
                 if(name.length() > forcedBuiltin.length() && name.charAt(forcedBuiltin.length()) == '.'){
                 	foundStartingWithBuiltin = true;
-                	n = cache.getObj(new ModulesKey(name, null));
+                	n = (AbstractModule) cache.getObj(new ModulesKey(name, null));
                 	if(n == null && dontSearchInit == false){
-                		n = cache.getObj(new ModulesKey(name+".__init__", null));
+                		n = (AbstractModule) cache.getObj(new ModulesKey(name+".__init__", null));
                 	}
                 	if(n instanceof EmptyModule || n instanceof SourceModule){ //it is actually found as a source module, so, we have to 'coerce' it to a compiled module
                 		n = new CompiledModule(name, PyCodeCompletion.TYPE_BUILTIN, nature.getAstManager());
@@ -445,7 +449,7 @@
                 }
                 
                 if(name.equals(forcedBuiltin)){
-                    n = cache.getObj(new ModulesKey(name, null));
+                    n = (AbstractModule) cache.getObj(new ModulesKey(name, null));
                     if(n == null || n instanceof EmptyModule || n instanceof SourceModule){ //still not created or not defined as compiled module (as it should be)
                         n = new CompiledModule(name, PyCodeCompletion.TYPE_BUILTIN, nature.getAstManager());
                         doAddSingleModule(new ModulesKey(n.getName(), null), n);
@@ -465,7 +469,7 @@
         if(n == null){
             if(!dontSearchInit){
                 if(n == null){
-                    n = cache.getObj(new ModulesKey(name + ".__init__", null));
+                    n = (AbstractModule) cache.getObj(new ModulesKey(name + ".__init__", null));
                     if(n != null){
                         name += ".__init__";
                     }
@@ -473,7 +477,7 @@
             }
             if (n == null) {
             	ModulesKey key = new ModulesKey(name, null);
-            	n = cache.getObj(key);
+            	n = (AbstractModule) cache.getObj(key);
             }
         }
 
@@ -559,7 +563,7 @@
         return pythonPathHelper.resolveModule(full, false);
     }
 
-    public List<String> getPythonPath(){
-        return new ArrayList<String>(pythonPathHelper.pythonpath);
+    public List getPythonPath(){
+        return new ArrayList(pythonPathHelper.pythonpath);
     }
 }
Index: src/org/python/pydev/editor/codecompletion/revisited/ProjectModulesManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/ProjectModulesManager.java,v
retrieving revision 1.36
diff -u -r1.36 ProjectModulesManager.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/ProjectModulesManager.java	11 Apr 2006 23:54:59 -0000	1.36
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/ProjectModulesManager.java	23 May 2006 20:35:21 -0000
@@ -9,6 +9,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
@@ -37,7 +38,7 @@
 /**
  * @author Fabio Zadrozny
  */
-public class ProjectModulesManager extends ModulesManager implements IDeltaProcessor<ModulesKey>, IProjectModulesManager{
+public class ProjectModulesManager extends ModulesManager implements IDeltaProcessor, IProjectModulesManager{
 
     private static final long serialVersionUID = 1L;
 
@@ -53,7 +54,7 @@
     /**
      * Used to process deltas (in case we have the process killed for some reason)
      */
-    private transient DeltaSaver<ModulesKey> deltaSaver;
+    private transient DeltaSaver deltaSaver;
     
     /** 
      * @see org.python.pydev.core.IProjectModulesManager#setProject(org.eclipse.core.resources.IProject, boolean)
@@ -61,11 +62,12 @@
     public void setProject(IProject project, boolean restoreDeltas){
         this.project = project;
         this.nature = PythonNature.getPythonNature(project);
-        this.deltaSaver = new DeltaSaver<ModulesKey>(this.nature.getCompletionsCacheDir(), "astdelta", new ICallback<Object, ObjectInputStream>(){
+        this.deltaSaver = new DeltaSaver(this.nature.getCompletionsCacheDir(), "astdelta", new ICallback(){
 
-            public ModulesKey call(ObjectInputStream arg) {
+            public Object call(Object arg) {
                 try {
-                    return (ModulesKey) arg.readObject();
+                    ObjectInputStream arg1 = (ObjectInputStream)arg;
+                    return (ModulesKey) arg1.readObject();
                 } catch (Exception e) {
                     throw new RuntimeException(e);
                 }
@@ -83,6 +85,14 @@
     
 
     /** 
+     * @see org.python.pydev.core.IDeltaProcessor#processUpdate(java.lang.Object)
+     */
+    public void processUpdate(Object data) {
+        //updates are ignored because we always start with 'empty modules' (so, we don't actually generate them -- updates are treated as inserts).
+        throw new RuntimeException("Not impl");
+    }
+    
+    /** 
      * @see org.python.pydev.core.IProjectModulesManager#processUpdate(org.python.pydev.core.ModulesKey)
      */
     public void processUpdate(ModulesKey data) {
@@ -91,12 +101,28 @@
     }
 
     /** 
+     * @see org.python.pydev.core.IDeltaProcessor#processDelete(java.lang.Object)
+     */
+    public void processDelete(Object key) {
+        ModulesKey theKey = (ModulesKey)key;
+        processDelete(theKey);
+    }
+
+    /** 
      * @see org.python.pydev.core.IProjectModulesManager#processDelete(org.python.pydev.core.ModulesKey)
      */
     public void processDelete(ModulesKey key) {
         super.doRemoveSingleModule(key);
     }
-
+    
+    /** 
+     * @see org.python.pydev.core.IDeltaProcessor#processInsert(java.lang.Object)
+     */
+    public void processInsert(Object key) {
+        ModulesKey theKey = (ModulesKey)key;
+        processInsert(theKey);
+    }
+    
     /** 
      * @see org.python.pydev.core.IProjectModulesManager#processInsert(org.python.pydev.core.ModulesKey)
      */
@@ -112,7 +138,6 @@
         nature.saveAstManager();
     }
 
-    @Override
     protected void doRemoveSingleModule(ModulesKey key) {
         super.doRemoveSingleModule(key);
         if(deltaSaver != null || !IN_TESTS){ //we want the error if we are not in tests
@@ -123,7 +148,6 @@
     }
         
     
-    @Override
     public void doAddSingleModule(ModulesKey key, AbstractModule n) {
         super.doAddSingleModule(key, n);
         if(deltaSaver != null || !IN_TESTS){ //we want the error if we are not in tests
@@ -162,7 +186,7 @@
         return nature;
     }
     
-    public SystemModulesManager getSystemModulesManager(){
+    public ISystemModulesManager getSystemModulesManager(){
     	return getSystemModulesManager(null);
     }
     
@@ -182,16 +206,20 @@
     /** 
      * @see org.python.pydev.core.IProjectModulesManager#getAllModuleNames()
      */
-    public Set<String> getAllModuleNames() {
-        Set<String> s = new HashSet<String>();
-        for (Object object : this.modulesKeys.keySet()) {
+    public Set getAllModuleNames() {
+        Set s = new HashSet();
+        for (Iterator iter = this.modulesKeys.keySet().iterator(); iter.hasNext();) {
+            Object object = (Object) iter.next();
+            
             ModulesKey m = (ModulesKey) object;
             s.add(m.name);
         }
 
         ModulesManager[] managersInvolved = this.getManagersInvolved(true);
         for (int i = 0; i < managersInvolved.length; i++) {
-            for (Object object : managersInvolved[i].modulesKeys.keySet()) {
+            for (Iterator iter = managersInvolved[i].modulesKeys.keySet().iterator(); iter.hasNext();) {
+                Object object = (Object) iter.next();
+                
                 ModulesKey m = (ModulesKey) object;
                 s.add(m.name);
             }
@@ -202,7 +230,6 @@
     /** 
      * @see org.python.pydev.core.IProjectModulesManager#getOnlyDirectModules()
      */
-    @Override
     public ModulesKey[] getOnlyDirectModules() {
         return super.getAllModules();
     }
@@ -210,16 +237,15 @@
     /** 
      * @see org.python.pydev.core.IProjectModulesManager#getAllModules()
      */
-    @Override
     public ModulesKey[] getAllModules() {
-        List<ModulesKey> ret = new ArrayList<ModulesKey>();
+        List ret = new ArrayList();
         ret.addAll(Arrays.asList(super.getAllModules()));
                 
         ModulesManager[] managersInvolved = this.getManagersInvolved(true);
         for (int i = 0; i < managersInvolved.length; i++) {
             ret.addAll((Arrays.asList(managersInvolved[i].getAllModules())));
         }
-        return ret.toArray(new ModulesKey[0]);
+        return (ModulesKey[]) ret.toArray(new ModulesKey[0]);
     }
 
     
@@ -236,7 +262,9 @@
     public IModule getModule(String name, IPythonNature nature, boolean checkSystemManager, boolean dontSearchInit) {
         ModulesManager[] managersInvolved = this.getManagersInvolved(true); //only get the system manager here (to avoid recursion)
 
-        for (ModulesManager m : managersInvolved) {
+        for (int i = 0; i < managersInvolved.length; i++) {
+            ModulesManager m = managersInvolved[i];
+            
             IModule module;
             if (m instanceof ProjectModulesManager) {
                 IProjectModulesManager pM = (IProjectModulesManager) m;
@@ -269,7 +297,8 @@
      */
     public String resolveModule(String full, boolean checkSystemManager) {
         ModulesManager[] managersInvolved = this.getManagersInvolved(checkSystemManager);
-        for (ModulesManager m : managersInvolved) {
+        for (int i = 0; i < managersInvolved.length; i++) {
+            ModulesManager m = managersInvolved[i];
             
             String mod;
             if (m instanceof ProjectModulesManager) {
@@ -328,7 +357,7 @@
      * @return Returns the managersInvolved (does not include itself).
      */
     protected ModulesManager[] getManagersInvolved(boolean checkSystemManager) {
-        ArrayList<ModulesManager> list = new ArrayList<ModulesManager>();
+        ArrayList list = new ArrayList();
         SystemModulesManager systemModulesManager = getSystemModulesManager(null);
         if(checkSystemManager && systemModulesManager != null){
             list.add(systemModulesManager);
@@ -365,8 +394,8 @@
     /** 
      * @see org.python.pydev.core.IProjectModulesManager#getCompletePythonPath()
      */
-    public List<String> getCompletePythonPath(){
-        List<String> l = new ArrayList<String>();
+    public List getCompletePythonPath(){
+        List l = new ArrayList();
         ModulesManager[] managersInvolved = getManagersInvolved(true);
         for (int i = 0; i < managersInvolved.length; i++) {
             l.addAll(managersInvolved[i].pythonPathHelper.pythonpath);
Index: src/org/python/pydev/editor/codecompletion/revisited/PyCodeCompletionVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/PyCodeCompletionVisitor.java,v
retrieving revision 1.16
diff -u -r1.16 PyCodeCompletionVisitor.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/PyCodeCompletionVisitor.java	24 Jan 2006 18:24:06 -0000	1.16
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/PyCodeCompletionVisitor.java	23 May 2006 20:35:21 -0000
@@ -25,7 +25,6 @@
 
 	public static final int PRIORITY_CODE_COMPLETION = PRIORITY_DEFAULT;
 	
-	@Override
 	protected int getPriority() {
 		return PRIORITY_CODE_COMPLETION;
 	}
Index: src/org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.java,v
retrieving revision 1.38
diff -u -r1.38 PythonPathHelper.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.java	20 Mar 2006 17:02:59 -0000	1.38
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.java	23 May 2006 20:35:21 -0000
@@ -38,7 +38,7 @@
     /**
      * This is a list of Files containg the pythonpath.
      */
-    public List<String> pythonpath = new ArrayList<String>();
+    public List pythonpath = new ArrayList();
     
     /**
      * Returns the default path given from the string.
@@ -67,7 +67,7 @@
      * @param monitor
      * @return the files in position 0 and folders in position 1.
      */
-    public List<File>[] getModulesBelow(File root, IProgressMonitor monitor){
+    public List[] getModulesBelow(File root, IProgressMonitor monitor){
         if(!root.exists()){
             return null;
         }
@@ -97,18 +97,18 @@
      * @param monitor the monitor, to keep track of what is happening
      * @return a list with the name of the found modules in the jar
      */
-    public static List<String> getFromJar(File root, IProgressMonitor monitor){
+    public static List getFromJar(File root, IProgressMonitor monitor){
          String fileName = root.getName();
          if(root.isFile() && (fileName.endsWith(".jar") || fileName.endsWith(".zip"))){ //ok, it may be a jar file, so let's get its contents and get the available modules
-            Set<String> folders = new HashSet<String>();
+            Set folders = new HashSet();
             try {
                 String zipFileName = root.getName();
                 ZipFile zipFile = new ZipFile(root);
-                Enumeration<? extends ZipEntry> entries = zipFile.entries();
+                Enumeration entries = zipFile.entries();
                 
                 //ok, now that we have the zip entries, let's map them to modules
                 while(entries.hasMoreElements()){
-                    ZipEntry entry = entries.nextElement();
+                    ZipEntry entry = (ZipEntry) entries.nextElement();
                     String name = entry.getName();
                     if(!entry.isDirectory()){
                         //it is a file... we will ignore them, as java files do not map to actual modules as python, but to classes.
@@ -132,7 +132,7 @@
                     }
                 }
                 
-                return new ArrayList<String>(folders);
+                return new ArrayList(folders);
             } catch (Exception e) {
                 //that's ok, it is probably not a zip file after all...
                 PydevPlugin.log(e);
@@ -309,7 +309,9 @@
         if(requireFileToExist == false){
             //we have to remove the last part (.py, .pyc, .pyw)
             fullPath = FullRepIterable.headAndTail(fullPath)[0];
-            for (String element : pythonpath) {
+            for (Iterator iter = pythonpath.iterator(); iter.hasNext();) {
+                String element = (String) iter.next();
+                
                 element = getDefaultPathStr(element);
                 if(fullPath.startsWith(element)){
                     String s = fullPath.substring(element.length());
@@ -376,17 +378,17 @@
      * @param string with paths separated by |
      * @return
      */
-    public List<String> setPythonPath(String string) {
+    public List setPythonPath(String string) {
         pythonpath.clear();
         getPythonPathFromStr(string, pythonpath);
-        return new ArrayList<String>(pythonpath);
+        return new ArrayList(pythonpath);
     }
 
     /**
      * @param string this is the string that has the pythonpath (separated by |)
      * @param lPath OUT: this list is filled with the pythonpath.
      */
-	public void getPythonPathFromStr(String string, List<String> lPath) {
+	public void getPythonPathFromStr(String string, List lPath) {
 		String[] strings = string.split("\\|");
         for (int i = 0; i < strings.length; i++) {
             String defaultPathStr = getDefaultPathStr(strings[i]);
Index: src/org/python/pydev/editor/codecompletion/revisited/SystemModulesManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/SystemModulesManager.java,v
retrieving revision 1.8
diff -u -r1.8 SystemModulesManager.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/SystemModulesManager.java	6 Feb 2006 15:19:41 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/SystemModulesManager.java	23 May 2006 20:35:21 -0000
@@ -25,14 +25,14 @@
     /**
      * @param forcedLibs
      */
-    public SystemModulesManager(Collection<String> forcedLibs) {
+    public SystemModulesManager(Collection forcedLibs) {
         regenerateForcedBuilltins(forcedLibs);
     }
 
     /** 
      * @see org.python.pydev.core.ISystemModulesManager#regenerateForcedBuilltins(java.util.Collection)
      */
-    public void regenerateForcedBuilltins(Collection<String> forcedLibs){
+    public void regenerateForcedBuilltins(Collection forcedLibs){
         this.builtins = (String[]) forcedLibs.toArray(new String[0]);
     }
     
@@ -50,7 +50,7 @@
     /** 
      * @see org.python.pydev.core.ISystemModulesManager#setBuiltins(java.util.Collection)
      */
-    public void setBuiltins(Collection<String> forcedLibs) {
+    public void setBuiltins(Collection forcedLibs) {
         regenerateForcedBuilltins(forcedLibs);
     }
 
@@ -75,8 +75,8 @@
 		return super.resolveModule(full);
 	}
 
-	public List<String> getCompletePythonPath() {
-		return new ArrayList<String>(super.getPythonPath());
+	public List getCompletePythonPath() {
+		return new ArrayList(super.getPythonPath());
 	}
 
 }
Index: src/org/python/pydev/editor/codecompletion/revisited/modules/AbstractModule.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/AbstractModule.java,v
retrieving revision 1.35
diff -u -r1.35 AbstractModule.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/AbstractModule.java	20 Mar 2006 19:37:57 -0000	1.35
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/AbstractModule.java	23 May 2006 20:35:21 -0000
@@ -15,6 +15,7 @@
 import org.python.pydev.core.FullRepIterable;
 import org.python.pydev.core.ICodeCompletionASTManager;
 import org.python.pydev.core.ICompletionState;
+import org.python.pydev.core.IDefinition;
 import org.python.pydev.core.IModule;
 import org.python.pydev.core.IModulesManager;
 import org.python.pydev.core.IPythonNature;
@@ -97,7 +98,9 @@
         state.setActivationToken (headAndTail[0]);
         String head = headAndTail[1];
         IToken[] globalTokens = astManager.getCompletionsForModule(this, state, searchSameLevelMods);
-        for (IToken token : globalTokens) {
+        for (int i = 0; i < globalTokens.length; i++) {
+            IToken token = globalTokens[i];
+            
             if(token.getRepresentation().equals(head)){
                 return true;
             }
@@ -109,7 +112,7 @@
     /** 
      * @see org.python.pydev.core.IModule#findDefinition(java.lang.String, int, int, org.python.pydev.plugin.nature.IPythonNature, java.util.List)
      */
-    public abstract Definition[] findDefinition(String token, int line, int col, IPythonNature nature, List<FindInfo> findInfo) throws Exception;
+    public abstract IDefinition[] findDefinition(String token, int line, int col, IPythonNature nature, List findInfo) throws Exception;
 
     /** 
      * @see org.python.pydev.core.IModule#getGlobalTokens(org.python.pydev.editor.codecompletion.revisited.CompletionState, org.python.pydev.core.ICodeCompletionASTManager)
@@ -252,14 +255,13 @@
     /** 
      * @see org.python.pydev.core.IModule#getLocalImportedModules(int, int)
      */
-    public List <IToken> getLocalImportedModules(int line, int col) {
-        return new ArrayList<IToken>();
+    public List  getLocalImportedModules(int line, int col) {
+        return new ArrayList();
     }
 
     /** 
      * @see org.python.pydev.core.IModule#toString()
      */
-    @Override
     public String toString() {
     	String n2 = this.getClass().getName();
     	String n = n2.substring(n2.lastIndexOf('.')+1);
Index: src/org/python/pydev/editor/codecompletion/revisited/modules/CompiledModule.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/CompiledModule.java,v
retrieving revision 1.34
diff -u -r1.34 CompiledModule.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/CompiledModule.java	18 Mar 2006 20:07:46 -0000	1.34
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/CompiledModule.java	23 May 2006 20:35:21 -0000
@@ -7,6 +7,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.util.AbstractList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -19,6 +20,7 @@
 import org.python.pydev.core.FullRepIterable;
 import org.python.pydev.core.ICodeCompletionASTManager;
 import org.python.pydev.core.ICompletionState;
+import org.python.pydev.core.IDefinition;
 import org.python.pydev.core.IModule;
 import org.python.pydev.core.IPythonNature;
 import org.python.pydev.core.IToken;
@@ -33,13 +35,13 @@
 /**
  * @author Fabio Zadrozny
  */
-public class CompiledModule extends AbstractModule{
+public class CompiledModule extends AbstractModule{ //<String, IToken[]>
     
     public static boolean COMPILED_MODULES_ENABLED = true; 
 
     public static boolean TRACE_COMPILED_MODULES = false; 
     
-    private HashMap<String, IToken[]> cache = new HashMap<String, IToken[]>();
+    private HashMap cache = new HashMap();
     
     /**
      * These are the tokens the compiled module has.
@@ -48,7 +50,6 @@
     
     private File file;
     
-    @Override
     public File getFile() {
     	return file;
     }
@@ -105,8 +106,8 @@
 		}
 		AbstractShell shell = AbstractShell.getServerShell(manager.getNature(), AbstractShell.COMPLETION_SHELL);
 		synchronized(shell){
-            Tuple<String, List<String[]>> completions = shell.getImportCompletions(name, manager.getModulesManager().getCompletePythonPath());
-            String fPath = completions.o1;
+            Tuple completions = shell.getImportCompletions(name, manager.getModulesManager().getCompletePythonPath());
+            String fPath = (String) completions.o1;
             if(!fPath.equals("None")){
                 this.file = new File(fPath);
             }
@@ -119,9 +120,9 @@
                     this.file = f2;
                 }
             }
-		    ArrayList<IToken> array = new ArrayList<IToken>();
+		    ArrayList array = new ArrayList();
 		    
-		    for (Iterator iter = completions.o2.iterator(); iter.hasNext();) {
+		    for (Iterator iter = ((List) completions.o2).iterator(); iter.hasNext();) {
 		        String[] element = (String[]) iter.next();
 		        //let's make this less error-prone.
 		        try {
@@ -160,7 +161,7 @@
 		        array.add(new CompiledToken("__file__","","",name,PyCodeCompletion.TYPE_BUILTIN));
 		    }
 		    
-		    tokens = array.toArray(new CompiledToken[0]);
+		    tokens = (CompiledToken[]) array.toArray(new CompiledToken[0]);
 		}
 	}
     
@@ -210,9 +211,9 @@
 	            AbstractShell shell = AbstractShell.getServerShell(manager.getNature(), AbstractShell.COMPLETION_SHELL);
 	            synchronized(shell){
 		            String act = name+"."+state.getActivationToken();
-                    List<String[]> completions = shell.getImportCompletions(act, manager.getModulesManager().getCompletePythonPath()).o2;
+                    List completions = (List) shell.getImportCompletions(act, manager.getModulesManager().getCompletePythonPath()).o2;
 		            
-		            ArrayList<IToken> array = new ArrayList<IToken>();
+		            ArrayList array = new ArrayList();
 		            
 		            for (Iterator iter = completions.iterator(); iter.hasNext();) {
 		                String[] element = (String[]) iter.next(); 
@@ -234,7 +235,6 @@
         return toks;
     }
     
-    @Override
     public boolean isInGlobalTokens(String tok, IPythonNature nature) {
         //we have to override because there is no way to check if it is in some import from some other place if it has dots on the tok...
         
@@ -247,7 +247,9 @@
             state.setActivationToken (headAndTail[0]);
             String head = headAndTail[1];
             IToken[] globalTokens = getGlobalTokens(state, nature.getAstManager());
-            for (IToken token : globalTokens) {
+            for (int i = 0; i < globalTokens.length; i++) {
+                IToken token = globalTokens[i];
+                
                 if(token.getRepresentation().equals(head)){
                     return true;
                 }
@@ -261,23 +263,23 @@
      * @param findInfo 
      * @see org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule#findDefinition(java.lang.String, int, int)
      */
-    public Definition[] findDefinition(String token, int line, int col, IPythonNature nature, List<FindInfo> findInfo) throws Exception {
+    public IDefinition[] findDefinition(String token, int line, int col, IPythonNature nature, List findInfo) throws Exception {
         AbstractShell shell = AbstractShell.getServerShell(nature, AbstractShell.COMPLETION_SHELL);
         synchronized(shell){
-            Tuple<String[],int[]> def = shell.getLineCol(this.name, token, nature.getAstManager().getModulesManager().getCompletePythonPath());
+            Tuple def = shell.getLineCol(this.name, token, nature.getAstManager().getModulesManager().getCompletePythonPath());
             if(def == null){
                 return new Definition[0];
             }
-            String fPath = def.o1[0];
+            String fPath = ((String [])def.o1)[0];
             if(fPath.equals("None")){
                 return new Definition[0];
             }
             File f = new File(fPath);
             String foundModName = nature.resolveModule(f);
-            String foundAs = def.o1[1];
+            String foundAs = ((String [])def.o1)[1];
             
             IModule mod = nature.getAstManager().getModule(foundModName, nature, true);
-            int foundLine = def.o2[0];
+            int foundLine = ((int [])def.o2)[0];
             if(foundLine == 0 && foundAs.length() > 0 && mod != null){
                 IModule sourceMod = AbstractModule.createModuleFromDoc(mod.getName(), f, new Document(REF.getFileContents(f)), nature, 0);
                 if(sourceMod instanceof SourceModule){
@@ -290,7 +292,7 @@
             if(mod == null){
                 mod = this;
             }
-            int foundCol = def.o2[1];
+            int foundCol = ((int [])def.o2)[1];
             if(foundCol < 0){
             	foundCol = 0;
             }
Index: src/org/python/pydev/editor/codecompletion/revisited/modules/EmptyModule.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/EmptyModule.java,v
retrieving revision 1.13
diff -u -r1.13 EmptyModule.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/EmptyModule.java	15 Jan 2006 00:25:10 -0000	1.13
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/EmptyModule.java	23 May 2006 20:35:21 -0000
@@ -12,6 +12,7 @@
 import org.python.pydev.core.FindInfo;
 import org.python.pydev.core.ICodeCompletionASTManager;
 import org.python.pydev.core.ICompletionState;
+import org.python.pydev.core.IDefinition;
 import org.python.pydev.core.IPythonNature;
 import org.python.pydev.core.IToken;
 import org.python.pydev.editor.codecompletion.revisited.visitors.Definition;
@@ -27,7 +28,6 @@
     private static final long serialVersionUID = 1L;
     public File f;
     
-    @Override
     public File getFile() {
     	return f;
     }
@@ -78,7 +78,7 @@
     /**
      * @see org.python.pydev.editor.codecompletion.revisited.modules.AbstractModule#findDefinition(java.lang.String, int, int)
      */
-    public Definition[] findDefinition(String token, int line, int col, IPythonNature nature, List<FindInfo> findInfo) throws Exception {
+    public IDefinition[] findDefinition(String token, int line, int col, IPythonNature nature, List findInfo) throws Exception {
         throw new RuntimeException("Not intended to be called");
     }
 
Index: src/org/python/pydev/editor/codecompletion/revisited/modules/SourceModule.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/SourceModule.java,v
retrieving revision 1.46
diff -u -r1.46 SourceModule.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/SourceModule.java	17 Apr 2006 16:25:02 -0000	1.46
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/SourceModule.java	23 May 2006 20:35:21 -0000
@@ -185,13 +185,13 @@
                                 if(iActTok > actToks.length){
                                     break; //unable to find it
                                 }
-                                definitions = findDefinition(value, token.getLineDefinition(), token.getColDefinition(), manager.getNature(), new ArrayList<FindInfo>());
+                                definitions = (Definition[]) findDefinition(value, token.getLineDefinition(), token.getColDefinition(), manager.getNature(), new ArrayList());
                                 if(definitions.length == 1){
                                     Definition d = definitions[0];
                                     if(d.ast instanceof Assign){
                                         Assign assign = (Assign) d.ast;
                                         value = NodeUtils.getRepresentationString(assign.value);
-                                        definitions = findDefinition(value, d.line, d.col, manager.getNature(), new ArrayList<FindInfo>());
+                                        definitions = (Definition[]) findDefinition(value, d.line, d.col, manager.getNature(), new ArrayList());
                                     }else if(d.ast instanceof ClassDef){
                                         IToken[] toks = (IToken[]) getToks(initialState, manager, d.ast).toArray(new IToken[0]);
                                         if(iActTok == actToks.length-1){
@@ -207,7 +207,7 @@
 	                                        if(visitor.definitions.size() == 0){
 	                                        	return new IToken[0];
 	                                        }
-	                                        d = visitor.definitions.get(0);
+	                                        d = (Definition) visitor.definitions.get(0);
 	                                        value = d.value;
 	                                        if(d instanceof AssignDefinition){
 	                                            return getValueCompletions(initialState, manager, value);
@@ -216,7 +216,7 @@
                                         	if(d.module instanceof SourceModule){
                                         		FullRepIterable.joinFirstParts(actToks);
                                         		SourceModule m = (SourceModule) d.module;
-                                        		Definition[] definitions2 = m.findDefinition(FullRepIterable.joinFirstParts(actToks), d.line, d.col,manager.getNature(), null);
+                                        		Definition[] definitions2 = (Definition[]) m.findDefinition(FullRepIterable.joinFirstParts(actToks), d.line, d.col,manager.getNature(), null);
                                         		if(definitions2.length == 0){
                                         			return new IToken[0];
                                         		}
@@ -274,8 +274,8 @@
      * @param ast
      * @return
      */
-    private List<IToken> getToks(ICompletionState initialState, ICodeCompletionASTManager manager, SimpleNode ast) {
-        List<IToken> modToks = modToks = new ArrayList<IToken>(Arrays.asList(GlobalModelVisitor.getTokens(ast, GlobalModelVisitor.INNER_DEFS, name)));//name = moduleName
+    private List getToks(ICompletionState initialState, ICodeCompletionASTManager manager, SimpleNode ast) {
+        List modToks = modToks = new ArrayList(Arrays.asList(GlobalModelVisitor.getTokens(ast, GlobalModelVisitor.INNER_DEFS, name)));//name = moduleName
         
         try {
             //COMPLETION: get the completions for the whole hierarchy if this is a class!!
@@ -324,12 +324,12 @@
         return modToks;
     }
 
-    public Definition[] findDefinition(String rep, int line, int col, IPythonNature nature, List<FindInfo> lFindInfo) throws Exception{
+    public IDefinition[] findDefinition(String rep, int line, int col, IPythonNature nature, List lFindInfo) throws Exception{
     	if(lFindInfo == null){
-    		lFindInfo = new ArrayList<FindInfo>();
+    		lFindInfo = new ArrayList();
     	}
         //the line passed in starts at 1 and the lines for the visitor start at 0
-        ArrayList<Definition> toRet = new ArrayList<Definition>();
+        ArrayList toRet = new ArrayList();
         FindInfo info = new FindInfo();
         lFindInfo.add(info);
         
@@ -367,19 +367,23 @@
         //now, check for locals
         IToken[] localTokens = scopeVisitor.scope.getAllLocalTokens();
         info.localTokens = localTokens;
-        for (IToken tok : localTokens) {
+        for (int i = 0; i < localTokens.length; i++) {
+            IToken tok = localTokens[i];
+            
         	if(tok.getRepresentation().equals(rep)){
         		return new Definition[]{new Definition(tok, scopeVisitor.scope, this, true)};
         	}
         }
         
         //not found... check as local imports
-        List<IToken> localImportedModules = scopeVisitor.scope.getLocalImportedModules(line, col, this.name);
-        for (IToken tok : localImportedModules) {
+        List localImportedModules = scopeVisitor.scope.getLocalImportedModules(line, col, this.name);
+        for (Iterator iter = localImportedModules.iterator(); iter.hasNext();) {
+            IToken tok = (IToken) iter.next();
+        
         	if(tok.getRepresentation().equals(rep)){
-        		Tuple<IModule, String> o = nature.getAstManager().findOnImportedMods(new IToken[]{tok}, nature, rep, this.getName());
+        		Tuple o = nature.getAstManager().findOnImportedMods(new IToken[]{tok}, nature, rep, this.getName());
                 if(o != null && o.o1 instanceof SourceModule){
-                    findDefinitionsFromModAndTok(nature, toRet, null, (SourceModule) o.o1, o.o2);
+                    findDefinitionsFromModAndTok(nature, toRet, null, (SourceModule) o.o1, (String) o.o2);
                 }
                 if(toRet.size() > 0){
                 	return (Definition[]) toRet.toArray(new Definition[0]);
@@ -401,14 +405,16 @@
         				nature.getAstManager());
 				
         		String withoutSelf = rep.substring(5);
-        		for (IToken token : globalTokens) {
+                for (int i = 0; i < globalTokens.length; i++) {
+                    IToken token = globalTokens[i];
+                   
 					if(token.getRepresentation().equals(withoutSelf)){
 						String parentPackage = token.getParentPackage();
 						IModule module = nature.getAstManager().getModule(parentPackage, nature, true);
 						if(module != null && token instanceof SourceToken){
 			                SimpleNode ast2 = ((SourceToken)token).getAst();
-							Tuple<Integer, Integer> def = getLineColForDefinition(ast2);
-							return new Definition[]{new Definition(def.o1, def.o2, token.getRepresentation(), ast2, null, module)};
+							Tuple def = getLineColForDefinition(ast2);
+							return new Definition[]{new Definition(((Integer)def.o1).intValue(), ((Integer)def.o2).intValue(), token.getRepresentation(), ast2, null, module)};
 						}else{
 							return new Definition[0];
 						}
@@ -422,31 +428,31 @@
         String tok = rep;
         SourceModule mod = this;
 
-        Tuple<IModule, String> o = nature.getAstManager().findOnImportedMods(nature, rep, this);
+        Tuple o = nature.getAstManager().findOnImportedMods(nature, rep, this);
         
         if(o != null && o.o1 instanceof SourceModule){
             mod =  (SourceModule) o.o1;
-            tok = o.o2;
+            tok = (String) o.o2;
             
         }else if(o != null && o.o1 instanceof CompiledModule){
             //ok, we have to check the compiled module
-            tok = o.o2;
+            tok = (String) o.o2;
             if (tok == null || tok.length() == 0 ){
-                if(o.o1.getFile() == null){
+                if(((IModule) o.o1).getFile() == null){
                     return new Definition[0];
                     
                 }else{
-                    return new Definition[]{new Definition(1,1,"",null,null,o.o1)};
+                    return new Definition[]{new Definition(1,1,"",null,null,(IModule) o.o1)};
                 }
             }else{
-                return (Definition[]) o.o1.findDefinition(tok, 0, 0, nature, lFindInfo);
+                return (Definition[]) ((IModule) o.o1).findDefinition(tok, 0, 0, nature, lFindInfo);
             }
         }
         
         //mod == this if we are now checking the globals (or maybe not)...heheheh
         findDefinitionsFromModAndTok(nature, toRet, visitor.moduleImported, mod, tok);
             
-        return toRet.toArray(new Definition[0]);
+        return (Definition[]) toRet.toArray(new Definition[0]);
     }
 
     /**
@@ -457,7 +463,7 @@
      * @param mod
      * @param tok
      */
-	private void findDefinitionsFromModAndTok(IPythonNature nature, ArrayList<Definition> toRet, String moduleImported, SourceModule mod, String tok) {
+	private void findDefinitionsFromModAndTok(IPythonNature nature, ArrayList toRet, String moduleImported, SourceModule mod, String tok) {
 		if(tok != null){
         	if(tok.length() > 0){
 	            Definition d = mod.findGlobalTokDef(tok, nature);
@@ -479,7 +485,7 @@
         }
 	}
 
-	private IDefinition getModuleDefinition(IPythonNature nature, ArrayList<Definition> toRet, SourceModule mod, String moduleImported) {
+	private IDefinition getModuleDefinition(IPythonNature nature, ArrayList toRet, SourceModule mod, String moduleImported) {
 		String rel = AbstractToken.makeRelative(mod.getName(), moduleImported);
 		IModule modFound = nature.getAstManager().getModule(rel, nature, false);
 		if(modFound == null){
@@ -513,7 +519,9 @@
     	}else{
     		tokens = getGlobalTokens();
     	}
-        for (IToken token : tokens) {
+        for (int i = 0; i < tokens.length; i++) {
+            IToken token = tokens[i];
+            
             boolean sameRep = token.getRepresentation().equals(rep);
             if(sameRep){
                 if(token instanceof SourceToken){
@@ -529,7 +537,7 @@
                             PydevPlugin.log(e);
                         }
                     }
-                    Tuple<Integer, Integer> def = getLineColForDefinition(a);
+                    Tuple def = getLineColForDefinition(a);
                     
                     String parentPackage = token.getParentPackage();
                     IModule module = this;
@@ -540,14 +548,16 @@
                     	}
                     }
                     //line, col
-                    return new Definition(def.o1, def.o2, tok, a, scopeVisitor.scope, module);
+                    return new Definition(((Integer) def.o1).intValue(), ((Integer) def.o2).intValue(), tok, a, scopeVisitor.scope, module);
                 }else{
                     CompiledToken comp = (CompiledToken) token;
                     String parentPackage = comp.getParentPackage();
                     FullRepIterable iterable = new FullRepIterable(parentPackage, true);
                     
                     IModule module = null;
-                    for(String modName: iterable){
+                    for (Iterator iter = iterable.iterator(); iter.hasNext();) {
+                        String modName = (String) iter.next();
+                   
                         module = nature.getAstManager().getModule(modName, nature, true);
                         if(module != null){
                             break;
@@ -563,7 +573,7 @@
                     }
                     finalRep += comp.getRepresentation();
                     try {
-                        IDefinition[] definitions = module.findDefinition(finalRep, -1, -1, nature, new ArrayList<FindInfo>());
+                        IDefinition[] definitions = module.findDefinition(finalRep, -1, -1, nature, new ArrayList());
                         if(definitions.length > 0){
                             return (Definition) definitions[0];
                         }
@@ -577,7 +587,7 @@
         return null;
     }
     
-    public Tuple<Integer, Integer> getLineColForDefinition(SimpleNode a){
+    public Tuple getLineColForDefinition(SimpleNode a){
     	int line = a.beginLine;
     	int col = a.beginColumn;
     	
@@ -592,7 +602,7 @@
     		col = c.name.beginColumn;
     	}
     	
-    	return new Tuple<Integer, Integer>(line,col);
+    	return new Tuple(new Integer(line), new Integer(col));
     }
     
     public IToken[] getLocalTokens(int line, int col){
@@ -609,8 +619,7 @@
         }
     }
 
-    @Override
-    public List<IToken> getLocalImportedModules(int line, int col) {
+    public List getLocalImportedModules(int line, int col) {
         try {
             FindScopeVisitor scopeVisitor = new FindScopeVisitor(line, col);
             if (ast != null){
@@ -620,7 +629,7 @@
             return scopeVisitor.scope.getLocalImportedModules(line, col, name);
         } catch (Exception e) {
             e.printStackTrace();
-            return new ArrayList<IToken>();
+            return new ArrayList();
         }
     }
     
@@ -675,7 +684,6 @@
         }
     }
     
-    @Override
     public boolean equals(Object obj) {
         if (!(obj instanceof SourceModule)) {
             return false;
Index: src/org/python/pydev/editor/codecompletion/revisited/modules/SourceToken.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/SourceToken.java,v
retrieving revision 1.12
diff -u -r1.12 SourceToken.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/SourceToken.java	20 Mar 2006 19:37:57 -0000	1.12
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/SourceToken.java	23 May 2006 20:35:21 -0000
@@ -109,7 +109,6 @@
         return colLineEnd[1];
     }
     
-    @Override
     public boolean equals(Object obj) {
         if(!(obj instanceof SourceToken))
             return false;
@@ -126,7 +125,6 @@
         return true;
     }
     
-    @Override
     public int hashCode() {
         return 7*getLineDefinition()*getColDefinition();
     }
Index: src/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitor.java,v
retrieving revision 1.30
diff -u -r1.30 AbstractVisitor.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitor.java	20 Mar 2006 19:37:57 -0000	1.30
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitor.java	23 May 2006 20:35:21 -0000
@@ -6,6 +6,7 @@
 package org.python.pydev.editor.codecompletion.revisited.visitors;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.python.pydev.core.FullRepIterable;
@@ -38,7 +39,7 @@
     
     public static final int INNER_DEFS = 5;
 
-    protected List<IToken> tokens = new ArrayList<IToken>();
+    protected List tokens = new ArrayList();
     
     /**
      * Module being visited.
@@ -82,9 +83,9 @@
      * 
      * @return the tokens list passed in or the created one if it was null
      */
-    public static IToken makeWildImportToken(ImportFrom node, List<IToken> tokens, String moduleName) {
+    public static IToken makeWildImportToken(ImportFrom node, List tokens, String moduleName) {
         if(tokens == null){
-            tokens = new ArrayList<IToken>();
+            tokens = new ArrayList();
         }
         SourceToken sourceToken = null;
         if(isWildImport(node)){
@@ -94,7 +95,7 @@
         return sourceToken;
     }
 
-    public static List<IToken> makeImportToken(SimpleNode node, List<IToken> tokens, String moduleName, boolean allowForMultiple) {
+    public static List makeImportToken(SimpleNode node, List tokens, String moduleName, boolean allowForMultiple) {
     	if(node instanceof Import){
     		return makeImportToken((Import)node, tokens, moduleName, allowForMultiple);
     	}
@@ -121,7 +122,7 @@
      * 
      * @return the tokens list passed in or the created one if it was null
      */
-    public static List<IToken> makeImportToken(Import node, List<IToken> tokens, String moduleName, boolean allowForMultiple) {
+    public static List makeImportToken(Import node, List tokens, String moduleName, boolean allowForMultiple) {
         aliasType[] names = node.names;
         return makeImportToken(node, tokens, names, moduleName, "", allowForMultiple);
     }
@@ -129,7 +130,7 @@
     /**
      * The same as above but with ImportFrom
      */
-    public static List<IToken> makeImportToken(ImportFrom node, List<IToken> tokens, String moduleName, boolean allowForMultiple) {
+    public static List makeImportToken(ImportFrom node, List tokens, String moduleName, boolean allowForMultiple) {
         aliasType[] names = node.names;
         String importName = ((NameTok)node.module).id;
         
@@ -139,9 +140,9 @@
     /**
      * The same as above
      */
-    private static List<IToken> makeImportToken(SimpleNode node, List<IToken> tokens, aliasType[] names, String module, String initialImportName, boolean allowForMultiple) {
+    private static List makeImportToken(SimpleNode node, List tokens, aliasType[] names, String module, String initialImportName, boolean allowForMultiple) {
         if(tokens == null){
-            tokens = new ArrayList<IToken>();
+            tokens = new ArrayList();
         }
         
         if(initialImportName.length() > 0){
@@ -160,7 +161,8 @@
             
             if(name == null){
                 FullRepIterable iterator = new FullRepIterable(original);
-                for (String rep : iterator) {
+                for (Iterator iter = iterator.iterator(); iter.hasNext();) {
+                    String rep = (String) iter.next();
                     SourceToken sourceToken = new SourceToken(node, rep, "", "", module, initialImportName+rep);
                     tokens.add(sourceToken);
                 }
@@ -206,7 +208,7 @@
         return node.names.length > 0;
     }
     
-    public List<IToken> getTokens() {
+    public List getTokens() {
         return this.tokens;
     }
     
Index: src/org/python/pydev/editor/codecompletion/revisited/visitors/Definition.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/Definition.java,v
retrieving revision 1.11
diff -u -r1.11 Definition.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/Definition.java	20 Mar 2006 19:37:57 -0000	1.11
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/Definition.java	23 May 2006 20:35:21 -0000
@@ -145,7 +145,6 @@
         return true;
     }
     
-    @Override
     public int hashCode() {
         return value.hashCode() + col + line;
     }
Index: src/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitor.java,v
retrieving revision 1.8
diff -u -r1.8 FindDefinitionModelVisitor.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitor.java	20 Mar 2006 19:37:57 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitor.java	23 May 2006 20:35:22 -0000
@@ -34,12 +34,12 @@
     /**
      * List of definitions.
      */
-    public List<Definition> definitions = new ArrayList<Definition>();
+    public List definitions = new ArrayList();
     
     /**
      * Stack of classes / methods to get to a definition.
      */
-    private Stack<SimpleNode> defsStack = new Stack<SimpleNode>();
+    private Stack defsStack = new Stack();
     
     /**
      * This is the module we are visiting
@@ -67,7 +67,6 @@
         this.moduleName = module.getName();
     }
     
-    @Override
     public Object visitImportFrom(ImportFrom node) throws Exception {
     	String modRep = NodeUtils.getRepresentationString(node.module);
 		if( NodeUtils.isWithin(line, col, node.module) ){
@@ -90,7 +89,10 @@
     		moduleImported += modRep.substring(lastChar, i);
     	}else{
     		//it was not the module, so, we have to check for each name alias imported
-    		for (aliasType alias: node.names){
+            
+    	    for (int i = 0; i < node.names.length; i++) {
+                aliasType alias = node.names[i];
+             
     			//we do not check the 'as' because if it is some 'as', it will be gotten as a global in the module
     			if( NodeUtils.isWithin(line, col, alias.name) ){
     				moduleImported = modRep + "." + 
Index: src/org/python/pydev/editor/codecompletion/revisited/visitors/FindScopeVisitor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/FindScopeVisitor.java,v
retrieving revision 1.7
diff -u -r1.7 FindScopeVisitor.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/FindScopeVisitor.java	8 Apr 2006 17:51:56 -0000	1.7
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/FindScopeVisitor.java	23 May 2006 20:35:22 -0000
@@ -21,12 +21,12 @@
     /**
      * Stack of classes / methods representing the scope.
      */
-    private Stack<SimpleNode> stackScope = new Stack<SimpleNode>();
+    private Stack stackScope = new Stack();
 
     /**
      * This is the scope.
      */
-    public Scope scope = new Scope(new Stack<SimpleNode>());
+    public Scope scope = new Scope(new Stack());
     
     /**
      * Variable to mark if we found scope.
@@ -64,7 +64,7 @@
 	            //scope is locked at this time.
 	            found = true;
 	            int original = scope.ifMainLine;
-	            scope = new Scope((Stack<SimpleNode>) this.stackScope.clone());
+	            scope = new Scope((Stack) this.stackScope.clone());
 	            scope.ifMainLine = original;
 	        }
         }else{
Index: src/org/python/pydev/editor/codecompletion/revisited/visitors/Scope.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/Scope.java,v
retrieving revision 1.15
diff -u -r1.15 Scope.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/Scope.java	9 Apr 2006 13:29:02 -0000	1.15
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/visitors/Scope.java	23 May 2006 20:35:22 -0000
@@ -30,13 +30,13 @@
  */
 public class Scope {
 
-    public Stack<SimpleNode> scope = new Stack<SimpleNode>();
+    public Stack scope = new Stack();
     
     public int scopeEndLine = -1;
 
     public int ifMainLine = -1;
     
-    public Scope(Stack<SimpleNode> scope){
+    public Scope(Stack scope){
         this.scope.addAll(scope);
     }
     
@@ -103,8 +103,8 @@
         return getLocalTokens(Integer.MAX_VALUE, Integer.MAX_VALUE);
     }
     
-    public List<ASTEntry> getOcurrences(String occurencesFor) {
-        SimpleNode simpleNode = this.scope.get(this.scope.size()-1);
+    public List getOcurrences(String occurencesFor) {
+        SimpleNode simpleNode = (SimpleNode) this.scope.get(this.scope.size()-1);
         return getOcurrences(occurencesFor, simpleNode);
     }
 
@@ -113,13 +113,13 @@
      * @param simpleNode
      * @return
      */
-    public static List<ASTEntry> getOcurrences(String occurencesFor, SimpleNode simpleNode) {
-        List<ASTEntry> ret = new ArrayList<ASTEntry>();
+    public static List getOcurrences(String occurencesFor, SimpleNode simpleNode) {
+        List ret = new ArrayList();
         
         SequencialASTIteratorVisitor visitor = SequencialASTIteratorVisitor.create(simpleNode);
-        Iterator<ASTEntry> iterator = visitor.getIterator(new Class[]{Name.class, NameTokType.class});
+        Iterator iterator = visitor.getIterator(new Class[]{Name.class, NameTokType.class});
         while(iterator.hasNext()){
-            ASTEntry entry = iterator.next();
+            ASTEntry entry = (ASTEntry) iterator.next();
             if (occurencesFor.equals(entry.getName())){
                 ret.add(entry);
             }
@@ -127,13 +127,13 @@
         return ret;
     }
 
-    public static List<ASTEntry> getAttributeOcurrences(String occurencesFor, SimpleNode simpleNode){
-        List<ASTEntry> ret = new ArrayList<ASTEntry>();
+    public static List getAttributeOcurrences(String occurencesFor, SimpleNode simpleNode){
+        List ret = new ArrayList();
         String occurencesForWithDot = occurencesFor+'.';
         SequencialASTIteratorVisitor visitor = SequencialASTIteratorVisitor.create(simpleNode);
-        Iterator<ASTEntry> iterator = visitor.getIterator(new Class[]{Attribute.class});
+        Iterator iterator = visitor.getIterator(new Class[]{Attribute.class});
         while(iterator.hasNext()){
-            ASTEntry entry = iterator.next();
+            ASTEntry entry = (ASTEntry) iterator.next();
             String rep = NodeUtils.getFullRepresentationString(entry.node);
             if (rep.equals(occurencesFor) || rep.startsWith(occurencesForWithDot)){
                 ret.add(entry);
@@ -146,7 +146,7 @@
      * @param endLine tokens will only be recognized if its beginLine is higher than this parameter.
      */
     public IToken[] getLocalTokens(int endLine, int col){
-        Set<SourceToken> comps = new HashSet<SourceToken>();
+        Set comps = new HashSet();
         
         for (Iterator iter = this.scope.iterator(); iter.hasNext();) {
             SimpleNode element = (SimpleNode) iter.next();
@@ -184,8 +184,8 @@
         return (SourceToken[]) comps.toArray(new SourceToken[0]);
     }
 
-    public List<IToken> getLocalImportedModules(int line, int col, String moduleName) {
-        ArrayList<IToken> importedModules = new ArrayList<IToken>();
+    public List getLocalImportedModules(int line, int col, String moduleName) {
+        ArrayList importedModules = new ArrayList();
         for (Iterator iter = this.scope.iterator(); iter.hasNext();) {
             SimpleNode element = (SimpleNode) iter.next();
             
@@ -194,7 +194,8 @@
                 for (int i = 0; i < f.body.length; i++) {
 
                     IToken[] tokens = GlobalModelVisitor.getTokens(f.body[i], GlobalModelVisitor.ALIAS_MODULES, moduleName);
-                    for (IToken token : tokens) {
+                    for (int j = 0; j < tokens.length; j++) {
+                        IToken token = tokens[j];
                         importedModules.add(token);
                     }
                 }
@@ -204,7 +205,8 @@
     }
 
 	public ClassDef getClassDef() {
-		for(SimpleNode node : this.scope){
+        for (Iterator iter = this.scope.iterator(); iter.hasNext();) {
+            SimpleNode node = (SimpleNode) iter.next();
 			if(node instanceof ClassDef){
 				return (ClassDef) node;
 			}
Index: src/org/python/pydev/editor/codecompletion/shell/AbstractShell.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/AbstractShell.java,v
retrieving revision 1.29
diff -u -r1.29 AbstractShell.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/AbstractShell.java	6 Apr 2006 15:58:53 -0000	1.29
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/AbstractShell.java	23 May 2006 20:35:22 -0000
@@ -94,7 +94,7 @@
      * @see #COMPLETION_SHELL
      * @see #OTHERS_SHELL
      */
-    protected static Map<Integer,Map<Integer,AbstractShell>> shells = new HashMap<Integer,Map<Integer,AbstractShell>>();
+    protected static Map shells = new HashMap();
     
     /**
      * if we are already finished for good, we may not start new shells (this is a static, because this 
@@ -106,7 +106,7 @@
      * simple stop of a shell (it may be later restarted)
      */
     public synchronized static void stopServerShell(int relatedId, int id) {
-        Map<Integer, AbstractShell> typeToShell = getTypeToShellFromId(relatedId);
+        Map typeToShell = getTypeToShellFromId(relatedId);
         AbstractShell pythonShell = (AbstractShell) typeToShell.get(new Integer(id));
         
         if(pythonShell != null){
@@ -125,10 +125,10 @@
      */
     public synchronized static void shutdownAllShells(){
     	synchronized(shells){
-	        for (Iterator<Map<Integer, AbstractShell>> iter = shells.values().iterator(); iter.hasNext();) {
+	        for (Iterator iter = shells.values().iterator(); iter.hasNext();) {
 	            finishedForGood = true;  //we may no longer restart shells
 	            
-	            Map<Integer,AbstractShell> rel = (Map<Integer, AbstractShell>) iter.next();
+	            Map rel = (Map) iter.next();
 	            if(rel != null){
 	                for (Iterator iter2 = rel.values().iterator(); iter2.hasNext();) {
 	                    AbstractShell element = (AbstractShell) iter2.next();
@@ -150,13 +150,13 @@
      * @param relatedId the id that is related to the structure we want to get
      * @return a map with the type of the shell mapping to the shell itself
      */
-    private synchronized static Map<Integer, AbstractShell> getTypeToShellFromId(int relatedId) {
+    private synchronized static Map getTypeToShellFromId(int relatedId) {
     	synchronized(shells){
-	        Map<Integer, AbstractShell> typeToShell = shells.get(relatedId);
+	        Map typeToShell = (Map) shells.get(new Integer(relatedId));
 	        
 	        if (typeToShell == null) {
-	            typeToShell = new HashMap<Integer, AbstractShell>();
-	            shells.put(relatedId, typeToShell);
+	            typeToShell = new HashMap();
+	            shells.put(new Integer(relatedId), typeToShell);
 	        }
 	        return typeToShell;
     	}
@@ -175,7 +175,7 @@
      */
     public synchronized static void putServerShell(IPythonNature nature, int id, AbstractShell shell) {
         try {
-            Map<Integer, AbstractShell> typeToShell = getTypeToShellFromId(nature.getRelatedId());
+            Map typeToShell = getTypeToShellFromId(nature.getRelatedId());
             typeToShell.put(new Integer(id), shell);
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -201,7 +201,7 @@
      */
     public synchronized static AbstractShell getServerShell(int relatedId, int id) throws IOException, Exception {
     	synchronized(shells){
-	        Map<Integer, AbstractShell> typeToShell = getTypeToShellFromId(relatedId);
+	        Map typeToShell = getTypeToShellFromId(relatedId);
 	        AbstractShell pythonShell = (AbstractShell) typeToShell.get(new Integer(id));
 	        
 	        if(pythonShell == null){
@@ -749,7 +749,7 @@
      * @return list with tuples: new String[]{token, description}
      * @throws CoreException
      */
-    public synchronized Tuple<String, List<String[]>> getImportCompletions(String str, List pythonpath) throws CoreException {
+    public synchronized Tuple getImportCompletions(String str, List pythonpath) throws CoreException {
         while(isInOperation){
             sleepALittle(100);
         }
@@ -805,7 +805,7 @@
         }
     }
 
-    protected synchronized Tuple<String, List<String[]>> getTheCompletions(String str) throws CoreException {
+    protected synchronized Tuple getTheCompletions(String str) throws CoreException {
         try {
             this.write(str);
     
@@ -855,16 +855,16 @@
     /**
      * @return
      */
-    protected synchronized Tuple<String, List<String[]>> getInvalidCompletion() {
-        List<String[]> l = new ArrayList<String[]>();
-        return new Tuple<String, List<String[]>>(null, l);
+    protected synchronized Tuple getInvalidCompletion() {
+        List l = new ArrayList();
+        return new Tuple(null, l);
     }
 
     /**
      * @throws IOException
      */
-    protected synchronized Tuple<String, List<String[]>> getCompletions() throws IOException {
-        ArrayList<String[]> list = new ArrayList<String[]>();
+    protected synchronized Tuple getCompletions() throws IOException {
+        ArrayList list = new ArrayList();
         String string = this.read().replaceAll("\\(","").replaceAll("\\)","");
         StringTokenizer tokenizer = new StringTokenizer(string, ",");
         
@@ -875,7 +875,7 @@
             while(tokenizer.hasMoreTokens()){
                 String token       = URLDecoder.decode(tokenizer.nextToken(), ENCODING_UTF_8);
                 if(!tokenizer.hasMoreTokens()){
-                    return new Tuple<String, List<String[]>>(file, list);
+                    return new Tuple(file, list);
                 }
                 String description = URLDecoder.decode(tokenizer.nextToken(), ENCODING_UTF_8);
                 
@@ -895,7 +895,7 @@
                 }
             }
         }
-        return new Tuple<String, List<String[]>>(file, list);
+        return new Tuple(file, list);
     }
 
 
@@ -904,7 +904,7 @@
      * @param token the token we are looking for
      * @return the file where the token was defined, its line and its column (or null if it was not found)
      */
-    public Tuple<String[],int []> getLineCol(String moduleName, String token, List pythonpath) {
+    public Tuple getLineCol(String moduleName, String token, List pythonpath) {
         while(isInOperation){
             sleepALittle(100);
         }
@@ -915,14 +915,14 @@
 
             try {
                 str = URLEncoder.encode(str, ENCODING_UTF_8);
-                Tuple<String,List<String[]>> theCompletions = this.getTheCompletions("@@SEARCH" + str + "\nEND@@");
+                Tuple theCompletions = this.getTheCompletions("@@SEARCH" + str + "\nEND@@");
                 
-                List<String[]> def = theCompletions.o2;
+                List def = (List) theCompletions.o2;
                 if(def.size() == 0){
                     return null;
                 }
 
-                String[] comps = def.get(0);
+                String[] comps = (String[]) def.get(0);
                 if(comps.length == 0){
                     return null;
                 }
@@ -931,8 +931,8 @@
                 int col = Integer.parseInt(comps[1]);
                 
                 String foundAs = comps[2];
-                return new Tuple<String[], int[]>(
-                        new String[]{theCompletions.o1, foundAs}, 
+                return new Tuple(
+                        new String[]{(String) theCompletions.o1, foundAs}, 
                         new int[]{line, col});
                 
             } catch (Exception e) {
Index: src/org/python/pydev/editor/codecompletion/shell/JythonShell.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/JythonShell.java,v
retrieving revision 1.5
diff -u -r1.5 JythonShell.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/JythonShell.java	8 Jan 2006 12:04:55 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/JythonShell.java	23 May 2006 20:35:22 -0000
@@ -18,7 +18,6 @@
     }
     
 
-    @Override
     protected synchronized String createServerProcess(int pWrite, int pRead) throws IOException {
         String args = pWrite+" "+pRead;
         String script = REF.getFileAbsolutePath(serverFile);
Index: src/org/python/pydev/editor/codecompletion/shell/PythonShell.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/PythonShell.java,v
retrieving revision 1.5
diff -u -r1.5 PythonShell.java
--- org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/PythonShell.java	13 Oct 2005 12:04:11 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/editor/codecompletion/shell/PythonShell.java	23 May 2006 20:35:22 -0000
@@ -31,7 +31,6 @@
     }
 
 
-    @Override
     protected synchronized String createServerProcess(int pWrite, int pRead) throws IOException {
         String interpreter = PydevPlugin.getPythonInterpreterManager().getDefaultInterpreter();
         File file = new File(interpreter);
Index: src/org/python/pydev/editor/codefolding/PySourceViewer.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codefolding/PySourceViewer.java,v
retrieving revision 1.5
diff -u -r1.5 PySourceViewer.java
--- org.python.pydev/src/org/python/pydev/editor/codefolding/PySourceViewer.java	24 Sep 2005 15:30:56 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/editor/codefolding/PySourceViewer.java	23 May 2006 20:35:22 -0000
@@ -25,6 +25,7 @@
 
 
 public class PySourceViewer extends ProjectionViewer {
+    
 
     private PyEditProjection projection;
     private PyCorrectionAssistant fCorrectionAssistant;
@@ -36,6 +37,10 @@
         
     }
     
+    public interface Iterable {
+        public Iterator iterator();
+    }
+    
     public void configure(SourceViewerConfiguration configuration) {
         super.configure(configuration);
         if (configuration instanceof PyEditConfiguration) {
@@ -57,11 +62,13 @@
      * @param markerType the type of the marker (if null, it is not used)
      * @return a list of markers at the given line
      */
-    public List<IMarker> getMarkersAtLine(int markerLine, String markerType){
-        ArrayList<IMarker> markers = new ArrayList<IMarker>();
+    public List getMarkersAtLine(int markerLine, String markerType){
+        ArrayList markers = new ArrayList();
         
-        Iterable<IMarker> markerIteratable = getMarkerIteratable();
-        for (IMarker marker : markerIteratable) {
+        Iterable markerIteratable = getMarkerIteratable();
+        for (Iterator iter = markerIteratable.iterator(); iter.hasNext();) {
+            IMarker marker = (IMarker) iter.next();
+            
             try {
                 //check the line
                 Integer line = (Integer) marker.getAttribute(IMarker.LINE_NUMBER);
@@ -83,7 +90,7 @@
     /**
      * @return a class that iterates through the markers available in this source viewer
      */
-    public Iterable<IMarker> getMarkerIteratable(){
+    public Iterable getMarkerIteratable(){
         final IAnnotationModel annotationModel = getAnnotationModel();
         //it may be null on external files, because I simply cannot make it get the org.python.copiedfromeclipsesrc.PydevFileEditorInput
         //(if it did, I could enhance it...). Instead, it returns a org.eclipse.ui.internal.editors.text.JavaFileEditorInput
@@ -91,10 +98,10 @@
         if(annotationModel != null){
             final Iterator annotationIterator = annotationModel.getAnnotationIterator();
     
-            return new Iterable<IMarker>(){
+            return new Iterable(){
     
-                public Iterator<IMarker> iterator() {
-                    return new Iterator<IMarker>(){
+                public Iterator iterator() {
+                    return new Iterator(){
     
                         private IMarker marker;
     
@@ -116,7 +123,7 @@
                             return false;
                         }
     
-                        public IMarker next() {
+                        public Object next() {
                             hasNext();
                             
                             IMarker m = marker;
@@ -133,15 +140,15 @@
                 
             };
         }
-        return new Iterable<IMarker>(){
+        return new Iterable(){
             
-            public Iterator<IMarker> iterator() {
-                return new Iterator<IMarker>(){
+            public Iterator iterator() {
+                return new Iterator(){
                     public boolean hasNext() {
                         return false;
                     }
 
-                    public IMarker next() {
+                    public Object next() {
                         return null;
                     }
 
Index: src/org/python/pydev/editor/correctionassist/PythonCorrectionProcessor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/PythonCorrectionProcessor.java,v
retrieving revision 1.29
diff -u -r1.29 PythonCorrectionProcessor.java
--- org.python.pydev/src/org/python/pydev/editor/correctionassist/PythonCorrectionProcessor.java	6 Apr 2006 15:58:51 -0000	1.29
+++ org.python.pydev/src/org/python/pydev/editor/correctionassist/PythonCorrectionProcessor.java	23 May 2006 20:35:22 -0000
@@ -7,6 +7,7 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.jface.text.BadLocationException;
@@ -89,11 +90,11 @@
 
         PySelection ps = new PySelection(edit);
 
-        List<ICompletionProposal> results = new ArrayList<ICompletionProposal>();
+        List results = new ArrayList();
         String sel = PyAction.getLineWithoutComments(ps);
         
         
-        List<IAssistProps> assists = new ArrayList<IAssistProps>();
+        List assists = new ArrayList();
         assists.add(new AssistTry());
         assists.add(new AssistImport());
         assists.add(new AssistDocString());
@@ -101,7 +102,9 @@
         
         assists.addAll(ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_CTRL_1));
         
-        for (IAssistProps assist : assists) {
+        for (Iterator iter = assists.iterator(); iter.hasNext();) {
+            IAssistProps assist = (IAssistProps) iter.next();
+            
             try {
                 if (assist.isValid(ps, sel, edit, offset)) {
                     try {
Index: src/org/python/pydev/editor/correctionassist/heuristics/AssistAssign.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistAssign.java,v
retrieving revision 1.10
diff -u -r1.10 AssistAssign.java
--- org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistAssign.java	6 Apr 2006 15:58:51 -0000	1.10
+++ org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistAssign.java	23 May 2006 20:35:22 -0000
@@ -35,8 +35,8 @@
     /**
      * @see org.python.pydev.editor.correctionassist.heuristics.IAssistProps#getProps(org.python.pydev.core.docutils.PySelection, org.python.pydev.core.bundle.ImageCache, java.io.File, org.python.pydev.plugin.PythonNature)
      */
-    public List<ICompletionProposal> getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
-        List<ICompletionProposal> l = new ArrayList<ICompletionProposal>();
+    public List getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
+        List l = new ArrayList();
         String sel = PyAction.getLineWithoutComments(ps);
         if (sel.trim().length() == 0) {
             return l;
Index: src/org/python/pydev/editor/correctionassist/heuristics/AssistDocString.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistDocString.java,v
retrieving revision 1.14
diff -u -r1.14 AssistDocString.java
--- org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistDocString.java	6 Apr 2006 15:58:51 -0000	1.14
+++ org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistDocString.java	23 May 2006 20:35:22 -0000
@@ -30,13 +30,13 @@
     /**
      * @see org.python.pydev.editor.correctionassist.heuristics.IAssistProps#getProps(org.python.pydev.core.docutils.PySelection, org.python.pydev.core.bundle.ImageCache)
      */
-    public List<ICompletionProposal> getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
-        ArrayList<ICompletionProposal> l = new ArrayList<ICompletionProposal>(); 
-        Tuple<List<String>, Integer> tuple = ps.getInsideParentesisToks(false);
+    public List getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
+        ArrayList l = new ArrayList(); 
+        Tuple tuple = ps.getInsideParentesisToks(false);
         if(tuple == null){
-        	tuple = new Tuple<List<String>, Integer>(new ArrayList<String>(), offset);
+        	tuple = new Tuple(new ArrayList(), new Integer(offset));
         }
-        List params = tuple.o1;
+        List params = (List) tuple.o1;
         
 	    String initial = PySelection.getIndentationFromLine(ps.getCursorLineContents());
         String delimiter = PyAction.getDelimiter(ps.getDoc());
@@ -59,7 +59,7 @@
 	    buf.append(inAndIndent+"'''");
 	    buf.append(inAndIndent);
 
-        int lineOfOffset = ps.getLineOfOffset(tuple.o2);
+        int lineOfOffset =  ps.getLineOfOffset(((Integer)tuple.o2).intValue());
 	    String comp = buf.toString();
         int offsetPosToAdd = ps.getEndLineOffset(lineOfOffset);
         
Index: src/org/python/pydev/editor/correctionassist/heuristics/AssistImport.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistImport.java,v
retrieving revision 1.8
diff -u -r1.8 AssistImport.java
--- org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistImport.java	6 Apr 2006 15:58:51 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistImport.java	23 May 2006 20:35:22 -0000
@@ -27,8 +27,8 @@
     /**
      * @see org.python.pydev.editor.correctionassist.heuristics.IAssistProps#getProps(org.python.pydev.core.docutils.PySelection, org.python.pydev.core.bundle.ImageCache)
      */
-    public List<ICompletionProposal> getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offsetReceived) throws BadLocationException {
-        ArrayList<ICompletionProposal> l = new ArrayList<ICompletionProposal>();
+    public List getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offsetReceived) throws BadLocationException {
+        ArrayList l = new ArrayList();
         String sel = PyAction.getLineWithoutComments(ps).trim();
 
         int i = sel.indexOf("import");
Index: src/org/python/pydev/editor/correctionassist/heuristics/AssistOverride.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistOverride.java,v
retrieving revision 1.14
diff -u -r1.14 AssistOverride.java
--- org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistOverride.java	8 Apr 2006 20:09:11 -0000	1.14
+++ org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistOverride.java	23 May 2006 20:35:22 -0000
@@ -32,8 +32,8 @@
     /**
      * @see org.python.pydev.editor.correctionassist.heuristics.IAssistProps#getProps(org.python.pydev.core.docutils.PySelection, org.python.pydev.core.bundle.ImageCache)
      */
-    public List<ICompletionProposal> getProps(PySelection ps, ImageCache imageCache, File file, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
-        ArrayList<ICompletionProposal> l = new ArrayList<ICompletionProposal>();
+    public List getProps(PySelection ps, ImageCache imageCache, File file, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
+        ArrayList l = new ArrayList();
         String sel = PyAction.getLineWithoutComments(ps);
         String indentation = PyAction.getStaticIndentationString();
         String delimiter = PyAction.getDelimiter(ps.getDoc());
Index: src/org/python/pydev/editor/correctionassist/heuristics/AssistTry.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistTry.java,v
retrieving revision 1.11
diff -u -r1.11 AssistTry.java
--- org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistTry.java	6 Apr 2006 15:58:51 -0000	1.11
+++ org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/AssistTry.java	23 May 2006 20:35:22 -0000
@@ -29,9 +29,9 @@
      * @throws BadLocationException
      * @see org.python.pydev.editor.correctionassist.heuristics.IAssistProps#getProps(org.python.pydev.core.docutils.PySelection, org.python.pydev.core.bundle.ImageCache)
      */
-    public List<ICompletionProposal> getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
+    public List getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException {
         
-        ArrayList<ICompletionProposal> l = new ArrayList<ICompletionProposal>();
+        ArrayList l = new ArrayList();
         String indentation = PyAction.getStaticIndentationString();
         
         int start = ps.getStartLine().getOffset();
Index: src/org/python/pydev/editor/correctionassist/heuristics/IAssistProps.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/IAssistProps.java,v
retrieving revision 1.6
diff -u -r1.6 IAssistProps.java
--- org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/IAssistProps.java	6 Apr 2006 15:58:51 -0000	1.6
+++ org.python.pydev/src/org/python/pydev/editor/correctionassist/heuristics/IAssistProps.java	23 May 2006 20:35:22 -0000
@@ -33,7 +33,7 @@
      * @return a list of completions with proposals to fix things
      * @throws BadLocationException
      */
-    List<ICompletionProposal> getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException;
+    List getProps(PySelection ps, ImageCache imageCache, File f, IPythonNature nature, PyEdit edit, int offset) throws BadLocationException;
 
     /**
      * Gets wether this assist proposal is valid to be applied at the current line
Index: src/org/python/pydev/editor/hover/PyAnnotationHover.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/hover/PyAnnotationHover.java,v
retrieving revision 1.1
diff -u -r1.1 PyAnnotationHover.java
--- org.python.pydev/src/org/python/pydev/editor/hover/PyAnnotationHover.java	2 Aug 2005 17:24:19 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/editor/hover/PyAnnotationHover.java	23 May 2006 20:35:22 -0000
@@ -6,6 +6,8 @@
  */
 package org.python.pydev.editor.hover;
 
+import java.util.Iterator;
+
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.text.source.IAnnotationHover;
@@ -23,11 +25,13 @@
         
         if(sourceViewer instanceof PySourceViewer){
             PySourceViewer s = (PySourceViewer) sourceViewer;
-            for(IMarker marker : s.getMarkerIteratable()){
+            for (Iterator iter = s.getMarkerIteratable().iterator(); iter.hasNext();) {
+                IMarker marker = (IMarker) iter.next();
+                
                 try {
                     Integer line = (Integer) marker.getAttribute(IMarker.LINE_NUMBER);
                     if(line != null){
-                        if(line == lineNumber){
+                        if(line.intValue() == lineNumber){
                             if(buf.length() >0){
                                 buf.append("\n");
                             }
Index: src/org/python/pydev/editor/hover/PyTextHover.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/hover/PyTextHover.java,v
retrieving revision 1.1
diff -u -r1.1 PyTextHover.java
--- org.python.pydev/src/org/python/pydev/editor/hover/PyTextHover.java	2 Aug 2005 17:24:19 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/editor/hover/PyTextHover.java	23 May 2006 20:35:22 -0000
@@ -6,6 +6,8 @@
  */
 package org.python.pydev.editor.hover;
 
+import java.util.Iterator;
+
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.text.IRegion;
@@ -24,7 +26,9 @@
     public PyTextHover(ISourceViewer sourceViewer, String contentType) {
         pythonCommentOrMultiline = false;
         
-        for(String type : PyPartitionScanner.types){
+        for (int i = 0; i < PyPartitionScanner.types.length; i++) {
+            String type = PyPartitionScanner.types[i];
+            
             if(type.equals(contentType)){
                 pythonCommentOrMultiline = true;
             }
@@ -37,13 +41,15 @@
             if(textViewer instanceof PySourceViewer){
                 PySourceViewer s = (PySourceViewer) textViewer;
                 
-                for(IMarker marker : s.getMarkerIteratable()){
+                for (Iterator iter = s.getMarkerIteratable().iterator(); iter.hasNext();) {
+                    IMarker marker = (IMarker) iter.next();
+                    
                     try {
                         Integer cStart = (Integer) marker.getAttribute(IMarker.CHAR_START);
                         Integer cEnd = (Integer) marker.getAttribute(IMarker.CHAR_END);
                         if(cStart != null && cEnd != null){
                             int offset = hoverRegion.getOffset();
-                            if(cStart <= offset && cEnd >= offset){
+                            if(cStart.intValue() <= offset && cEnd.intValue() >= offset){
                                 if(buf.length() >0){
                                     buf.append("\n");
                                 }
Index: src/org/python/pydev/editor/model/AbstractNode.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/model/AbstractNode.java,v
retrieving revision 1.7
diff -u -r1.7 AbstractNode.java
--- org.python.pydev/src/org/python/pydev/editor/model/AbstractNode.java	20 Mar 2006 19:37:56 -0000	1.7
+++ org.python.pydev/src/org/python/pydev/editor/model/AbstractNode.java	23 May 2006 20:35:22 -0000
@@ -110,7 +110,9 @@
 	 */
 	protected boolean findEnd(aliasType[] foundAlias) {
 		if(foundAlias != null && foundAlias.length > 0){
-			for(aliasType alias : foundAlias){
+            for (int i = 0; i < foundAlias.length; i++) {
+                aliasType alias = foundAlias[i];
+                
 				if(alias.asname != null){
 					setEnd(new Location(alias.asname.beginLine - 1, alias.asname.beginColumn - 1 + ((NameTok)alias.asname).id.length()));
 				}else{
Index: src/org/python/pydev/editor/model/ItemPointer.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/model/ItemPointer.java,v
retrieving revision 1.5
diff -u -r1.5 ItemPointer.java
--- org.python.pydev/src/org/python/pydev/editor/model/ItemPointer.java	22 Apr 2006 11:53:42 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/editor/model/ItemPointer.java	23 May 2006 20:35:22 -0000
@@ -47,7 +47,6 @@
         this.definition = definition;
     }
 
-    @Override
     public String toString() {
         StringBuffer buffer = new StringBuffer("ItemPointer [");
         buffer.append(file);
@@ -59,7 +58,6 @@
         return buffer.toString();
     }
     
-    @Override
     public boolean equals(Object obj) {
         if(!(obj instanceof ItemPointer)){
             return false;
@@ -79,7 +77,6 @@
         return true;
     }
     
-    @Override
     public int hashCode() {
         if(this.file != null){
             return this.file.hashCode() * 17;
Index: src/org/python/pydev/editor/model/Location.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/model/Location.java,v
retrieving revision 1.3
diff -u -r1.3 Location.java
--- org.python.pydev/src/org/python/pydev/editor/model/Location.java	15 Jan 2006 11:41:14 -0000	1.3
+++ org.python.pydev/src/org/python/pydev/editor/model/Location.java	23 May 2006 20:35:22 -0000
@@ -66,7 +66,6 @@
 		return 0;
 	}
     
-    @Override
     public boolean equals(Object obj) {
         if(!(obj instanceof Location)){
             return false;
@@ -75,7 +74,6 @@
         return l.line == line && l.column == column;
     }
     
-    @Override
     public int hashCode() {
         return (line * 99) + (column * 5);
     }
Index: src/org/python/pydev/editor/refactoring/AbstractPyRefactoring.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/refactoring/AbstractPyRefactoring.java,v
retrieving revision 1.6
diff -u -r1.6 AbstractPyRefactoring.java
--- org.python.pydev/src/org/python/pydev/editor/refactoring/AbstractPyRefactoring.java	8 Apr 2006 21:22:27 -0000	1.6
+++ org.python.pydev/src/org/python/pydev/editor/refactoring/AbstractPyRefactoring.java	23 May 2006 20:35:22 -0000
@@ -24,7 +24,7 @@
      */
     private static IPyRefactoring pyRefactoring;
     private static IPyRefactoring defaultPyRefactoring;
-    private List<IPropertyListener> propChangeListeners = new ArrayList<IPropertyListener>();
+    private List propChangeListeners = new ArrayList();
     private Object[] lastRefactorResults;
 
     
Index: src/org/python/pydev/editor/refactoring/PyRefactoring.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/refactoring/PyRefactoring.java,v
retrieving revision 1.28
diff -u -r1.28 PyRefactoring.java
--- org.python.pydev/src/org/python/pydev/editor/refactoring/PyRefactoring.java	8 Apr 2006 20:09:10 -0000	1.28
+++ org.python.pydev/src/org/python/pydev/editor/refactoring/PyRefactoring.java	23 May 2006 20:35:22 -0000
@@ -165,7 +165,7 @@
 
         String string = makeAction(s, request);
         
-        List<ItemPointer> l = new ArrayList<ItemPointer>();
+        List l = new ArrayList();
 
         if (string.startsWith("BIKE_OK:")){
             string = string.replaceFirst("BIKE_OK:", "").replaceAll("\\[","").replaceAll("'","");
@@ -188,7 +188,7 @@
         }
 
         
-        return l.toArray(new ItemPointer[0]);
+        return (ItemPointer[]) l.toArray(new ItemPointer[0]);
         
     }
     
@@ -249,8 +249,8 @@
      * @param string
      * @return list of strings affected by the refactoring.
      */
-    private List<String> refactorResultAsList(String string) {
-        List<String> l = new ArrayList<String>();
+    private List refactorResultAsList(String string) {
+        List l = new ArrayList();
         
         if (string == null){
             return l;
Index: src/org/python/pydev/editor/scripting/PyEditScripting.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/scripting/PyEditScripting.java,v
retrieving revision 1.3
diff -u -r1.3 PyEditScripting.java
--- org.python.pydev/src/org/python/pydev/editor/scripting/PyEditScripting.java	29 Mar 2006 12:45:44 -0000	1.3
+++ org.python.pydev/src/org/python/pydev/editor/scripting/PyEditScripting.java	23 May 2006 20:35:22 -0000
@@ -29,27 +29,27 @@
     }
     
 
-	private void doExec(HashMap<String, Object> locals) {
+	private void doExec(HashMap locals) {
 		JythonPlugin.execAll(locals, "pyedit", interpreter); //execute all the files that start with 'pyedit' that are located beneath
         													 //the org.python.pydev.jython/jysrc directory and some user specified dir (if any).
 	}
 
 	public void onSave(PyEdit edit) {
-    	HashMap<String, Object> locals = new HashMap<String, Object>();
+    	HashMap locals = new HashMap();
     	locals.put("cmd", "onSave");
     	locals.put("editor", edit);
     	doExec(locals); 
     }
 
     public void onCreateActions(ListResourceBundle resources, PyEdit edit) {
-        HashMap<String, Object> locals = new HashMap<String, Object>();
+        HashMap locals = new HashMap();
         locals.put("cmd", "onCreateActions");
         locals.put("editor", edit);
         doExec(locals);
     }
 
     public void onDispose(PyEdit edit) {
-    	HashMap<String, Object> locals = new HashMap<String, Object>();
+    	HashMap locals = new HashMap();
     	locals.put("cmd", "onDispose");
     	locals.put("editor", edit);
     	doExec(locals);
@@ -59,7 +59,7 @@
     }
 
     public void onSetDocument(IDocument document, PyEdit edit) {
-    	HashMap<String, Object> locals = new HashMap<String, Object>();
+    	HashMap locals = new HashMap();
     	locals.put("cmd", "onSetDocument");
     	locals.put("document", document);
     	locals.put("editor", edit);
Index: src/org/python/pydev/editor/simpleassist/ISimpleAssistParticipant.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/simpleassist/ISimpleAssistParticipant.java,v
retrieving revision 1.2
diff -u -r1.2 ISimpleAssistParticipant.java
--- org.python.pydev/src/org/python/pydev/editor/simpleassist/ISimpleAssistParticipant.java	25 Feb 2006 00:14:24 -0000	1.2
+++ org.python.pydev/src/org/python/pydev/editor/simpleassist/ISimpleAssistParticipant.java	23 May 2006 20:35:22 -0000
@@ -22,6 +22,6 @@
      * 
      * @return a list of completions
      */
-    Collection<ICompletionProposal> computeCompletionProposals(String activationToken, String qualifier, PySelection ps, PyEdit edit, int offset);
+    Collection computeCompletionProposals(String activationToken, String qualifier, PySelection ps, PyEdit edit, int offset);
 
 }
Index: src/org/python/pydev/editor/simpleassist/SimpleAssistProcessor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/simpleassist/SimpleAssistProcessor.java,v
retrieving revision 1.4
diff -u -r1.4 SimpleAssistProcessor.java
--- org.python.pydev/src/org/python/pydev/editor/simpleassist/SimpleAssistProcessor.java	8 Apr 2006 20:09:12 -0000	1.4
+++ org.python.pydev/src/org/python/pydev/editor/simpleassist/SimpleAssistProcessor.java	23 May 2006 20:35:22 -0000
@@ -5,6 +5,7 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.jface.text.IDocument;
@@ -43,11 +44,13 @@
         String qualifier = strs[1];
 
         PySelection ps = new PySelection(edit);
-        List<ICompletionProposal> results = new ArrayList<ICompletionProposal>();
+        List results = new ArrayList();
 
-        List<ISimpleAssistParticipant> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_SIMPLE_ASSIST);
+        List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_SIMPLE_ASSIST);
         
-        for (ISimpleAssistParticipant participant : participants) {
+        for (Iterator iter = participants.iterator(); iter.hasNext();) {
+            ISimpleAssistParticipant participant = (ISimpleAssistParticipant) iter.next();
+            
             results.addAll(participant.computeCompletionProposals(activationToken, qualifier, ps, edit, offset));
         }
         
Index: src/org/python/pydev/plugin/PydevPlugin.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/plugin/PydevPlugin.java,v
retrieving revision 1.64
diff -u -r1.64 PydevPlugin.java
--- org.python.pydev/src/org/python/pydev/plugin/PydevPlugin.java	8 Apr 2006 21:22:26 -0000	1.64
+++ org.python.pydev/src/org/python/pydev/plugin/PydevPlugin.java	23 May 2006 20:35:22 -0000
@@ -480,7 +480,7 @@
             return null;
 
         int length= files.length;
-        ArrayList<IFile> existentFiles= new ArrayList<IFile>(length);
+        ArrayList existentFiles= new ArrayList(length);
         for (int i= 0; i < length; i++) {
             if (files[i].exists())
                 existentFiles.add(files[i]);
@@ -576,7 +576,7 @@
      * @param file
      * @return tuple with files in pos 0 and folders in pos 1
      */
-    public static List<File>[] getPyFilesBelow(File file, IProgressMonitor monitor, final boolean includeDirs) {
+    public static List[] getPyFilesBelow(File file, IProgressMonitor monitor, final boolean includeDirs) {
         return getPyFilesBelow(file, monitor, true, true);
     }
     /**
@@ -585,7 +585,7 @@
      * @param file
      * @return tuple with files in pos 0 and folders in pos 1
      */
-    public static List<File>[] getPyFilesBelow(File file, IProgressMonitor monitor, final boolean includeDirs, boolean checkHasInit) {
+    public static List[] getPyFilesBelow(File file, IProgressMonitor monitor, final boolean includeDirs, boolean checkHasInit) {
         FileFilter filter = new FileFilter() {
     
             public boolean accept(File pathname) {
@@ -600,11 +600,11 @@
     }
 
 
-    public static List<File>[] getPyFilesBelow(File file, FileFilter filter, IProgressMonitor monitor, boolean checkHasInit) {
+    public static List[] getPyFilesBelow(File file, FileFilter filter, IProgressMonitor monitor, boolean checkHasInit) {
         return getPyFilesBelow(file, filter, monitor, true, checkHasInit);
     }
     
-    public static List<File>[] getPyFilesBelow(File file, FileFilter filter, IProgressMonitor monitor, boolean addSubFolders, boolean checkHasInit) {
+    public static List[] getPyFilesBelow(File file, FileFilter filter, IProgressMonitor monitor, boolean addSubFolders, boolean checkHasInit) {
         return getPyFilesBelow(file, filter, monitor, addSubFolders, 0, checkHasInit);
     }
     /**
@@ -614,12 +614,12 @@
      * @param addSubFolders: indicates if sub-folders should be added
      * @return tuple with files in pos 0 and folders in pos 1
      */
-    private static List<File>[] getPyFilesBelow(File file, FileFilter filter, IProgressMonitor monitor, boolean addSubFolders, int level, boolean checkHasInit) {
+    private static List[] getPyFilesBelow(File file, FileFilter filter, IProgressMonitor monitor, boolean addSubFolders, int level, boolean checkHasInit) {
         if (monitor == null) {
             monitor = new NullProgressMonitor();
         }
-        List<File> filesToReturn = new ArrayList<File>();
-        List<File> folders = new ArrayList<File>();
+        List filesToReturn = new ArrayList();
+        List folders = new ArrayList();
 
         if (file.exists() == true) {
 
@@ -634,7 +634,7 @@
 
                 boolean hasInit = false;
 
-                List<File> foldersLater = new LinkedList<File>();
+                List foldersLater = new LinkedList();
                 
                 for (int i = 0; i < files.length; i++) {
                     File file2 = files[i];
@@ -661,7 +661,7 @@
 	                for (Iterator iter = foldersLater.iterator(); iter.hasNext();) {
 	                    File file2 = (File) iter.next();
 	                    if(file2.isDirectory() && addSubFolders){
-		                    List<File>[] below = getPyFilesBelow(file2, filter, monitor, addSubFolders, level+1, checkHasInit);
+		                    List[] below = getPyFilesBelow(file2, filter, monitor, addSubFolders, level+1, checkHasInit);
 		                    filesToReturn.addAll(below[0]);
 		                    folders.addAll(below[1]);
 		                    monitor.worked(1);
@@ -738,7 +738,7 @@
      * @param file the file we want to get info on.
      * @return a tuple with the pythonnature to be used and the name of the module represented by the file in that scenario.
      */
-    public static Tuple<SystemPythonNature, String> getInfoForFile(File file){
+    public static Tuple getInfoForFile(File file){
         String modName = null;
         IInterpreterManager pythonInterpreterManager = getPythonInterpreterManager();
         IInterpreterManager jythonInterpreterManager = getJythonInterpreterManager();
@@ -761,21 +761,21 @@
             }
         }
         if(modName != null){
-            return new Tuple<SystemPythonNature, String>(systemPythonNature, modName);
+            return new Tuple(systemPythonNature, modName);
         }else{
             //unable to discover it
             try {
                 // the default one is python (actually, this should never happen, but who knows)
                 pythonInterpreterManager.getDefaultInterpreter();
                 modName = getModNameFromFile(file);
-                return new Tuple<SystemPythonNature, String>(pySystemPythonNature, modName);
+                return new Tuple(pySystemPythonNature, modName);
             } catch (Exception e) {
                 //the python interpreter manager is not valid or not configured
                 try {
                     // the default one is jython
                     jythonInterpreterManager.getDefaultInterpreter();
                     modName = getModNameFromFile(file);
-                    return new Tuple<SystemPythonNature, String>(jySystemPythonNature, modName);
+                    return new Tuple(jySystemPythonNature, modName);
                 } catch (Exception e1) {
                     // ok, nothing to do about it, no interpreter is configured
                     return null;
@@ -870,11 +870,12 @@
             throw new RuntimeException(e);
         }
         
-        return REF.readFromInputStreamAndCloseIt(new ICallback<Object, ObjectInputStream>(){
+        return REF.readFromInputStreamAndCloseIt(new ICallback(){
 
-            public Object call(ObjectInputStream arg) {
+            public Object call(Object arg) {
                 try{
-                    return arg.readObject();
+                    ObjectInputStream arg1 = (ObjectInputStream) arg;
+                    return arg1.readObject();
                 }catch(Exception e){
                     throw new RuntimeException(e);
                 }
Index: src/org/python/pydev/plugin/PydevPrefs.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/plugin/PydevPrefs.java,v
retrieving revision 1.45
diff -u -r1.45 PydevPrefs.java
--- org.python.pydev/src/org/python/pydev/plugin/PydevPrefs.java	6 Apr 2006 15:58:53 -0000	1.45
+++ org.python.pydev/src/org/python/pydev/plugin/PydevPrefs.java	23 May 2006 20:35:22 -0000
@@ -245,7 +245,7 @@
 	
 	private OverlayPreferenceStore fOverlayStore;
 	
-	private Map<Button, String> fCheckBoxes= new HashMap<Button, String>();
+	private Map fCheckBoxes= new HashMap();
 	private SelectionListener fCheckBoxListener= new SelectionListener() {
 		public void widgetDefaultSelected(SelectionEvent e) {
 		}
@@ -255,7 +255,7 @@
 		}
 	};
 
-	private Map<Text, String> fTextFields= new HashMap<Text, String>();
+	private Map fTextFields= new HashMap();
 	private ModifyListener fTextFieldListener= new ModifyListener() {
 		public void modifyText(ModifyEvent e) {
 			Text text= (Text) e.widget;
@@ -263,7 +263,7 @@
 		}
 	};
 
-	private java.util.List<Text> fNumberFields= new ArrayList<Text>();
+	private java.util.List fNumberFields= new ArrayList();
 	private ModifyListener fNumberFieldListener= new ModifyListener() {
 		public void modifyText(ModifyEvent e) {
 			numberFieldChanged((Text) e.widget);
@@ -306,7 +306,7 @@
 	 * @see #createDependency(Button, String, Control)
 	 * @since 3.0
 	 */
-	private java.util.List<SelectionListener> fMasterSlaveListeners= new ArrayList<SelectionListener>();
+	private java.util.List fMasterSlaveListeners= new ArrayList();
 
 	
 	public PydevPrefs() {
@@ -318,7 +318,7 @@
 	
 	private OverlayPreferenceStore createOverlayStore() {
 		
-		java.util.List<OverlayPreferenceStore.OverlayKey> overlayKeys= new ArrayList<OverlayPreferenceStore.OverlayKey>();
+		java.util.List overlayKeys= new ArrayList();
 		
 		//text
 		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, TAB_WIDTH));
Index: src/org/python/pydev/plugin/PydevPrefsInitializer.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/plugin/PydevPrefsInitializer.java,v
retrieving revision 1.9
diff -u -r1.9 PydevPrefsInitializer.java
--- org.python.pydev/src/org/python/pydev/plugin/PydevPrefsInitializer.java	6 Apr 2006 15:58:53 -0000	1.9
+++ org.python.pydev/src/org/python/pydev/plugin/PydevPrefsInitializer.java	23 May 2006 20:35:22 -0000
@@ -14,7 +14,6 @@
 public class PydevPrefsInitializer  extends AbstractPreferenceInitializer{
 
 
-    @Override
     public void initializeDefaultPreferences() {
         Preferences node = new DefaultScope().getNode(PydevPlugin.DEFAULT_PYDEV_SCOPE);
 
Index: src/org/python/pydev/plugin/nature/PythonNature.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/plugin/nature/PythonNature.java,v
retrieving revision 1.39
diff -u -r1.39 PythonNature.java
--- org.python.pydev/src/org/python/pydev/plugin/nature/PythonNature.java	17 Apr 2006 16:25:02 -0000	1.39
+++ org.python.pydev/src/org/python/pydev/plugin/nature/PythonNature.java	23 May 2006 20:35:22 -0000
@@ -9,6 +9,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.resources.ICommand;
@@ -220,7 +221,6 @@
             
             Job codeCompletionLoadJob = new Job("Pydev code completion") {
 
-                @SuppressWarnings("unchecked")
                 protected IStatus run(IProgressMonitor monitorArg) {
                     //begins task automatically
                     JobProgressComunicator jobProgressComunicator = new JobProgressComunicator(monitorArg, "Pydev restoring cache info...", IProgressMonitor.UNKNOWN, this);
@@ -237,9 +237,12 @@
 								}
 
 								if (astManager != null) {
-									List<IInterpreterObserver> participants = ExtensionHelper
+									List participants = ExtensionHelper
 											.getParticipants(ExtensionHelper.PYDEV_INTERPRETER_OBSERVER);
-									for (IInterpreterObserver observer : participants) {
+                                    for (Iterator iter = participants
+                                            .iterator(); iter.hasNext();) {
+                                        IInterpreterObserver observer = (IInterpreterObserver) iter.next();
+                                        
 										try {
 											observer.notifyNatureRecreated(nature, jobProgressComunicator);
 										} catch (Exception e) {
@@ -326,7 +329,6 @@
         final PythonNature nature = this;
         Job myJob = new Job("Pydev code completion: rebuilding modules") {
 
-            @SuppressWarnings("unchecked")
             protected IStatus run(IProgressMonitor monitorArg) {
 
                 JobProgressComunicator jobProgressComunicator = new JobProgressComunicator(monitorArg, "Rebuilding modules", IProgressMonitor.UNKNOWN, this);
@@ -343,8 +345,11 @@
                     	tempAstManager.changePythonPath(paths, project, jobProgressComunicator, defaultSelectedInterpreter);
 	                    saveAstManager();
 	
-	                    List<IInterpreterObserver> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_INTERPRETER_OBSERVER);
-	                    for (IInterpreterObserver observer : participants) {
+	                    List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_INTERPRETER_OBSERVER);
+                        for (Iterator iter = participants.iterator(); iter
+                                .hasNext();) {
+                            IInterpreterObserver observer = (IInterpreterObserver) iter.next();
+                            
 	                        try {
 	                            observer.notifyProjectPythonpathRestored(nature, jobProgressComunicator, defaultSelectedInterpreter);
 	                        } catch (Exception e) {
@@ -406,11 +411,13 @@
     /**
      * @return all the python natures available in the workspace 
      */
-    public static List<IPythonNature> getAllPythonNatures() {
-    	List<IPythonNature> natures = new ArrayList<IPythonNature>();
+    public static List getAllPythonNatures() {
+    	List natures = new ArrayList();
     	IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
     	IProject[] projects = root.getProjects();
-    	for (IProject project : projects) {
+        for (int i = 0; i < projects.length; i++) {
+            IProject project = projects[i];
+
 			PythonNature nature = getPythonNature(project);
 			if(nature != null){
 				natures.add(nature);
Index: src/org/python/pydev/plugin/nature/PythonPathNature.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/plugin/nature/PythonPathNature.java,v
retrieving revision 1.13
diff -u -r1.13 PythonPathNature.java
--- org.python.pydev/src/org/python/pydev/plugin/nature/PythonPathNature.java	25 Jan 2006 12:16:46 -0000	1.13
+++ org.python.pydev/src/org/python/pydev/plugin/nature/PythonPathNature.java	23 May 2006 20:35:22 -0000
@@ -156,7 +156,9 @@
             //project, the path may become invalid (in which case we have to make it compatible again).
             StringBuffer buffer = new StringBuffer();
             String[] paths = projectSourcePath.split("\\|");
-            for (String path : paths) {
+            for (int i = 0; i < paths.length; i++) {
+                String path = paths[i];
+                
                 if(path.trim().length() > 0){
                     IPath p = new Path(path);
                     if(p.isEmpty()){
Index: src/org/python/pydev/runners/SimpleJythonRunner.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/runners/SimpleJythonRunner.java,v
retrieving revision 1.15
diff -u -r1.15 SimpleJythonRunner.java
--- org.python.pydev/src/org/python/pydev/runners/SimpleJythonRunner.java	22 Mar 2006 21:32:19 -0000	1.15
+++ org.python.pydev/src/org/python/pydev/runners/SimpleJythonRunner.java	23 May 2006 20:35:22 -0000
@@ -5,6 +5,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Iterator;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
@@ -29,7 +30,7 @@
      * 
      * @return the string that is the output of the process (stdout).
      */
-    public Tuple<String,String> runAndGetOutput(String executionString, File workingDir, IProject project, IProgressMonitor monitor) {
+    public Tuple runAndGetOutput(String executionString, File workingDir, IProject project, IProgressMonitor monitor) {
         monitor.setTaskName("Executing: "+executionString);
         monitor.worked(5);
         Process process = null;
@@ -66,7 +67,7 @@
                 throw new RuntimeException(e1);
             }
 
-            return new Tuple<String,String>(std.contents.toString(), err.contents.toString());
+            return new Tuple(std.contents.toString(), err.contents.toString());
             
         } else {
             try {
@@ -77,10 +78,10 @@
             }
 
         }
-        return new Tuple<String,String>("", "Error creating python process - got null process("+ executionString + ")"); //no output
+        return new Tuple("", "Error creating python process - got null process("+ executionString + ")"); //no output
     }
 
-    public Tuple<String,String> runAndGetOutputWithJar(String script, String jythonJar, String args, File workingDir, IProject project, IProgressMonitor monitor) {
+    public Tuple runAndGetOutputWithJar(String script, String jythonJar, String args, File workingDir, IProject project, IProgressMonitor monitor) {
         //"C:\Program Files\Java\jdk1.5.0_04\bin\java.exe" "-Dpython.home=C:\bin\jython21" 
         //-classpath "C:\bin\jython21\jython.jar;%CLASSPATH%" org.python.util.jython %ARGS%
         //used just for getting info without any classpath nor pythonpath
@@ -95,7 +96,7 @@
                 "org.python.util.jython" 
                 ,script
             };
-            String executionString = getCommandLineAsString(s);
+            String executionString = getCommandLineAsString(s, new String [] {});
 
             return runAndGetOutput(executionString, workingDir, project, monitor);
         } catch (Exception e) {
@@ -103,8 +104,7 @@
         }
         
     }
-    @Override
-    public Tuple<String,String> runAndGetOutput(String script, String[] args, File workingDir, IProject project) {
+    public Tuple runAndGetOutput(String script, String[] args, File workingDir, IProject project) {
         //"java.exe" -classpath "C:\bin\jython21\jython.jar" -Dpython.path xxx;xxx;xxx org.python.util.jython script %ARGS%
 
         try {
@@ -141,7 +141,9 @@
 
         StringBuffer jythonPath = new StringBuffer();
         String pathSeparator = SimpleRunner.getPythonPathSeparator();
-        for (String lib : info.libs) {
+        for (Iterator iter = info.libs.iterator(); iter.hasNext();) {
+            String lib = (String) iter.next();
+            
             if(jythonPath.length() != 0){
                 jythonPath.append(pathSeparator); 
             }
@@ -157,7 +159,7 @@
             "org.python.util.jython",
             script
         };
-        String executionString = getCommandLineAsString(s);
+        String executionString = getCommandLineAsString(s, new String [] {});
 
         return executionString;
     }
Index: src/org/python/pydev/runners/SimplePythonRunner.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/runners/SimplePythonRunner.java,v
retrieving revision 1.8
diff -u -r1.8 SimplePythonRunner.java
--- org.python.pydev/src/org/python/pydev/runners/SimplePythonRunner.java	10 Mar 2006 19:26:31 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/runners/SimplePythonRunner.java	23 May 2006 20:35:22 -0000
@@ -43,7 +43,7 @@
      * 
      * @return a string with the output of the process (stdout)
      */
-    public Tuple<String,String> runAndGetOutput(String script, String[] args, File workingDir, IProject project) {
+    public Tuple runAndGetOutput(String script, String[] args, File workingDir, IProject project) {
         String executionString = makeExecutableCommandStr(script, args);
         return runAndGetOutput(executionString, workingDir, project);
     }
@@ -75,7 +75,7 @@
      * 
      * @return the stdout of the run (if any)
      */
-    public Tuple<String,String>  runAndGetOutputWithInterpreter(String interpreter, String script, String[] args, File workingDir, IProject project, IProgressMonitor monitor) {
+    public Tuple  runAndGetOutputWithInterpreter(String interpreter, String script, String[] args, File workingDir, IProject project, IProgressMonitor monitor) {
         monitor.setTaskName("Mounting executable string...");
         monitor.worked(5);
         
@@ -107,7 +107,7 @@
      * 
      * @return the string that is the output of the process (stdout) and the stderr (o2)
      */
-    public Tuple<String,String> runAndGetOutput(String executionString, File workingDir, IProject project, IProgressMonitor monitor) {
+    public Tuple runAndGetOutput(String executionString, File workingDir, IProject project, IProgressMonitor monitor) {
         monitor.setTaskName("Executing: "+executionString);
         monitor.worked(5);
         Process process = null;
@@ -152,7 +152,7 @@
 			} catch (Exception e) {
 				//ignore
 			}
-            return new Tuple<String, String>(std.contents.toString(), err.contents.toString());
+            return new Tuple(std.contents.toString(), err.contents.toString());
             
         } else {
             try {
@@ -163,7 +163,7 @@
             }
 
         }
-        return new Tuple<String, String>("","Error creating python process - got null process("+ executionString + ")"); //no output
+        return new Tuple("","Error creating python process - got null process("+ executionString + ")"); //no output
     }
 
     
Index: src/org/python/pydev/runners/SimpleRunner.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/runners/SimpleRunner.java,v
retrieving revision 1.12
diff -u -r1.12 SimpleRunner.java
--- org.python.pydev/src/org/python/pydev/runners/SimpleRunner.java	11 Jan 2006 10:57:39 -0000	1.12
+++ org.python.pydev/src/org/python/pydev/runners/SimpleRunner.java	23 May 2006 20:35:22 -0000
@@ -63,7 +63,7 @@
     
     	DebugPlugin defaultPlugin = DebugPlugin.getDefault();
     	if(defaultPlugin != null){
-            Map<String,String> env = getDefaultSystemEnv(defaultPlugin);		
+            Map env = getDefaultSystemEnv(defaultPlugin);		
     
     		env.put("PYTHONPATH", pythonPathEnvStr); //put the environment
     		return getMapEnvAsArray(env);
@@ -94,12 +94,12 @@
     /**
      * @return a map with the env variables for the system  
      */
-    private Map<String,String> getDefaultSystemEnv(DebugPlugin defaultPlugin) throws CoreException {
+    private Map getDefaultSystemEnv(DebugPlugin defaultPlugin) throws CoreException {
         if(defaultPlugin != null){
             ILaunchManager launchManager = defaultPlugin.getLaunchManager();
     
             // build base environment
-            Map<String,String> env = new HashMap<String,String>();
+            Map env = new HashMap();
             env.putAll(launchManager.getNativeEnvironment());
             
             // Add variables from config
@@ -148,7 +148,7 @@
      * @param args - other arguments to be added to the command line (may be null)
      * @return
      */
-    public static String getCommandLineAsString(String[] commandLine, String ... args) {
+    public static String getCommandLineAsString(String[] commandLine, String [] args) {
         if(args != null && args.length > 0){
             String[] newCommandLine = new String[commandLine.length + args.length];
             System.arraycopy(commandLine, 0, newCommandLine, 0, commandLine.length);
@@ -240,7 +240,7 @@
      * @return an array with the formatted map
      */
     private String[] getMapEnvAsArray(Map env) {
-        List<String> strings= new ArrayList<String>(env.size());
+        List strings= new ArrayList(env.size());
     	for(Iterator iter= env.entrySet().iterator(); iter.hasNext(); ) {
     		Map.Entry entry = (Map.Entry) iter.next();
     		StringBuffer buffer= new StringBuffer((String) entry.getKey());
@@ -248,34 +248,34 @@
     		strings.add(buffer.toString());
     	}
     	
-    	return strings.toArray(new String[strings.size()]);
+    	return (String [])strings.toArray(new String[strings.size()]);
     }
 
     /**
      * shortcut
      */
-    public Tuple<String,String> runAndGetOutput(String executionString, File workingDir, IProgressMonitor monitor) {
+    public Tuple runAndGetOutput(String executionString, File workingDir, IProgressMonitor monitor) {
         return runAndGetOutput(executionString, workingDir, null, monitor);
     }
     
     /**
      * shortcut
      */
-    public Tuple<String,String>  runAndGetOutput(String executionString, File workingDir) {
+    public Tuple  runAndGetOutput(String executionString, File workingDir) {
         return runAndGetOutput(executionString, workingDir, null, new NullProgressMonitor());
     }
     
     /**
      * shortcut
      */
-    public Tuple<String,String>  runAndGetOutput(String executionString, File workingDir, IProject project) {
+    public Tuple  runAndGetOutput(String executionString, File workingDir, IProject project) {
         return runAndGetOutput(executionString, workingDir, project, new NullProgressMonitor());
     }
     
     /**
      * shortcut
      */
-    public Tuple<String,String>  runAndGetOutput(String script, String[] args, File workingDir) {
+    public Tuple  runAndGetOutput(String script, String[] args, File workingDir) {
         return runAndGetOutput(script, args, workingDir, null);
     }
 
@@ -290,7 +290,7 @@
      * 
      * @return the string that is the output of the process (stdout).
      */
-    public abstract Tuple<String,String>  runAndGetOutput(String executionString, File workingDir, IProject project, IProgressMonitor monitor);
+    public abstract Tuple  runAndGetOutput(String executionString, File workingDir, IProject project, IProgressMonitor monitor);
 
     /**
      * Execute the script specified with the interpreter for a given project 
@@ -302,6 +302,6 @@
      * 
      * @return a string with the output of the process (stdout)
      */
-    public abstract Tuple<String,String>  runAndGetOutput(String script, String args[], File workingDir, IProject project);
+    public abstract Tuple  runAndGetOutput(String script, String args[], File workingDir, IProject project);
 
 }
Index: src/org/python/pydev/ui/PyProjectProperties.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/PyProjectProperties.java,v
retrieving revision 1.15
diff -u -r1.15 PyProjectProperties.java
--- org.python.pydev/src/org/python/pydev/ui/PyProjectProperties.java	25 Jan 2006 12:16:46 -0000	1.15
+++ org.python.pydev/src/org/python/pydev/ui/PyProjectProperties.java	23 May 2006 20:35:22 -0000
@@ -103,7 +103,6 @@
                         return new DirectoryDialog(getShell());
                     }
                     
-                    @Override
                     protected Object getSelectionDialogAddJar() {
                         return new FileDialog(getShell());
                     }
Index: src/org/python/pydev/ui/PyProjectPythonDetails.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/PyProjectPythonDetails.java,v
retrieving revision 1.3
diff -u -r1.3 PyProjectPythonDetails.java
--- org.python.pydev/src/org/python/pydev/ui/PyProjectPythonDetails.java	2 Jan 2006 19:10:25 -0000	1.3
+++ org.python.pydev/src/org/python/pydev/ui/PyProjectPythonDetails.java	23 May 2006 20:35:22 -0000
@@ -109,7 +109,6 @@
         return (IProject)getElement().getAdapter(IProject.class);
     }
 
-    @Override
     public Control createContents(Composite p) {
         Control contents = radioController.doCreateContents(p);
         setSelected();
Index: src/org/python/pydev/ui/dialogs/PythonModulePickerDialog.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/dialogs/PythonModulePickerDialog.java,v
retrieving revision 1.1
diff -u -r1.1 PythonModulePickerDialog.java
--- org.python.pydev/src/org/python/pydev/ui/dialogs/PythonModulePickerDialog.java	20 Jan 2006 00:27:43 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/ui/dialogs/PythonModulePickerDialog.java	23 May 2006 20:35:22 -0000
@@ -78,7 +78,7 @@
                                     
             if (container.isAccessible()) {
                 try {
-                    List<IResource> children = new ArrayList<IResource>();
+                    List children = new ArrayList();
                     
                     IResource[] members = container.members();
                     
Index: src/org/python/pydev/ui/dialogs/PythonPackageSelectionDialog.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/dialogs/PythonPackageSelectionDialog.java,v
retrieving revision 1.1
diff -u -r1.1 PythonPackageSelectionDialog.java
--- org.python.pydev/src/org/python/pydev/ui/dialogs/PythonPackageSelectionDialog.java	21 Jan 2006 14:06:26 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/ui/dialogs/PythonPackageSelectionDialog.java	23 May 2006 20:35:22 -0000
@@ -37,7 +37,6 @@
 
     public PythonPackageSelectionDialog(Shell parent, final boolean selectOnlySourceFolders) {
         super(parent, new CopiedWorkbenchLabelProvider(){
-            @Override
             public String getText(Object element) {
                 if(element instanceof Package){
                     element = ((Package)element).folder;
@@ -49,7 +48,6 @@
                 return super.getText(element);
             }
             
-            @Override
             public Image getImage(Object element) {
                 if(element instanceof Package){
                     element = ((Package)element).folder;
@@ -108,10 +106,12 @@
         //workspace root
         if(parentElement instanceof IWorkspaceRoot){
             this.workspaceRoot = (IWorkspaceRoot) parentElement;
-            List<IProject> ret = new ArrayList<IProject>();
+            List ret = new ArrayList();
             
             IProject[] projects = workspaceRoot.getProjects();
-            for (IProject project : projects) {
+            for (int i = 0; i < projects.length; i++) {
+                IProject project = projects[i];
+                
                 PythonNature nature = PythonNature.getPythonNature(project);
                 if(nature != null){
                     ret.add(project);
@@ -123,13 +123,16 @@
 
         //project
         if(parentElement instanceof IProject){
-            List<Object> ret = new ArrayList<Object>();
+            List ret = new ArrayList();
             IProject project = (IProject) parentElement;
             IPythonPathNature nature = PythonNature.getPythonPathNature(project);
             if(nature != null){
                 try {
                     String[] srcPaths = PythonNature.getStrAsStrItems(nature.getProjectSourcePath());
-                    for (String str : srcPaths) {
+                    for (int i = 0; i < srcPaths.length; i++) {
+                        String str = srcPaths[i];
+                        
+
                         IResource resource = this.workspaceRoot.findMember(new Path(str));
                         if(resource instanceof IFolder){
                             IFolder folder = (IFolder) resource;
@@ -172,10 +175,12 @@
         
         if(parentElement instanceof IFolder){
             IFolder f = (IFolder) parentElement;
-            ArrayList<Package> ret = new ArrayList<Package>();
+            ArrayList ret = new ArrayList();
             try {
                 IResource[] resources = f.members();
-                for (IResource resource : resources) {
+                for (int i = 0; i < resources.length; i++) {
+                    IResource resource = resources[i];
+                    
                     if(resource instanceof IFolder){
                         ret.add(new Package((IFolder) resource, sourceFolder));
                     }
Index: src/org/python/pydev/ui/interpreters/AbstractInterpreterManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/interpreters/AbstractInterpreterManager.java,v
retrieving revision 1.24
diff -u -r1.24 AbstractInterpreterManager.java
--- org.python.pydev/src/org/python/pydev/ui/interpreters/AbstractInterpreterManager.java	17 Mar 2006 12:54:39 -0000	1.24
+++ org.python.pydev/src/org/python/pydev/ui/interpreters/AbstractInterpreterManager.java	23 May 2006 20:35:23 -0000
@@ -8,6 +8,7 @@
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -21,6 +22,7 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.python.pydev.core.ExtensionHelper;
+import org.python.pydev.core.IInterpreterInfo;
 import org.python.pydev.core.IInterpreterManager;
 import org.python.pydev.core.IPythonNature;
 import org.python.pydev.core.Tuple;
@@ -42,18 +44,19 @@
     /**
      * This is the cache, that points from an interpreter to its information.
      */
-    private Map<String, InterpreterInfo> exeToInfo = new HashMap<String, InterpreterInfo>();
+    private Map exeToInfo = new HashMap();
     private Preferences prefs;
 
     /**
      * Constructor
      */
-    @SuppressWarnings("unchecked")
     public AbstractInterpreterManager(Preferences prefs) {
         this.prefs = prefs;
         prefs.setDefault(getPreferenceName(), "");
-        List<IInterpreterObserver> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_INTERPRETER_OBSERVER);
-        for (IInterpreterObserver observer : participants) {
+        List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_INTERPRETER_OBSERVER);
+        for (Iterator iter = participants.iterator(); iter.hasNext();) {
+            IInterpreterObserver observer = (IInterpreterObserver) iter.next();
+            
             observer.notifyInterpreterManagerRecreated(this);
         }
     }
@@ -80,16 +83,20 @@
         }
     }
 
-    public void clearAllBut(List<String> allButTheseInterpreters) {
+    public void clearAllBut(List allButTheseInterpreters) {
         synchronized(exeToInfo){
-            ArrayList<String> toRemove = new ArrayList<String>();
-            for (String interpreter : exeToInfo.keySet()) {
+            ArrayList toRemove = new ArrayList();
+            for (Iterator iter = exeToInfo.keySet().iterator(); iter.hasNext();) {
+                String interpreter = (String) iter.next();
+                
                 if(!allButTheseInterpreters.contains(interpreter)){
                     toRemove.add(interpreter);
                 }
             }
             //we do not want to remove it while we are iterating...
-            for (Object object : toRemove) {
+            for (Iterator iter = toRemove.iterator(); iter.hasNext();) {
+                Object object = (Object) iter.next();
+                
                 exeToInfo.remove(object);
             }
         }
@@ -110,7 +117,7 @@
     /**
      * @see org.python.pydev.core.IInterpreterManager#getDefaultInterpreterInfo(org.eclipse.core.runtime.IProgressMonitor)
      */
-    public InterpreterInfo getDefaultInterpreterInfo(IProgressMonitor monitor) {
+    public IInterpreterInfo getDefaultInterpreterInfo(IProgressMonitor monitor) {
         String interpreter = getDefaultInterpreter();
         return getInterpreterInfo(interpreter, monitor);
     }
@@ -124,35 +131,35 @@
      * @return the interpreter info for the executable
      * @throws CoreException 
      */
-    public abstract Tuple<InterpreterInfo,String> createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException;
+    public abstract Tuple createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException;
 
     /**
      * Creates the interpreter info from the output. Checks for errors.
      */
-    protected static InterpreterInfo createInfoFromOutput(IProgressMonitor monitor, Tuple<String, String> outTup) {
-    	if(outTup.o1 == null || outTup.o1.trim().length() == 0){
+    protected static InterpreterInfo createInfoFromOutput(IProgressMonitor monitor, Tuple outTup) {
+    	if(outTup.o1 == null || ((String)outTup.o1).trim().length() == 0){
     		throw new RuntimeException(
     				"No output was in the standard output when trying to create the interpreter info.\n" +
     				"The error output contains:>>"+outTup.o2+"<<");
     	}
-		InterpreterInfo info = InterpreterInfo.fromString(outTup.o1);
+		InterpreterInfo info = InterpreterInfo.fromString(((String)outTup.o1));
 		return info;
 	}
 
     /**
      * @see org.python.pydev.core.IInterpreterManager#getInterpreterInfo(java.lang.String)
      */
-    public InterpreterInfo getInterpreterInfo(String executable, IProgressMonitor monitor) {
+    public IInterpreterInfo getInterpreterInfo(String executable, IProgressMonitor monitor) {
     	synchronized(lock){
 	        InterpreterInfo info = (InterpreterInfo) exeToInfo.get(executable);
 	        if(info == null){
 	            monitor.worked(5);
 	            //ok, we have to get the info from the executable (and let's cache results for future use)...
-	            Tuple<InterpreterInfo,String> tup = null;
+	            Tuple tup = null;
 	    		try {
 	
 	    			tup = createInterpreterInfo(executable, monitor);
-	                info = tup.o1;
+	                info = (InterpreterInfo) tup.o1;
 	                
 	    	    } catch (Exception e) {
 	    	        PydevPlugin.log(e);
@@ -191,7 +198,7 @@
      * @see org.python.pydev.core.IInterpreterManager#addInterpreter(java.lang.String)
      */
     public String addInterpreter(String executable, IProgressMonitor monitor) {
-        InterpreterInfo info = getInterpreterInfo(executable, monitor);
+        InterpreterInfo info = (InterpreterInfo) getInterpreterInfo(executable, monitor);
         return info.executableOrJar;
     }
 
@@ -210,14 +217,16 @@
 	        }
 	        
 	        if(persistedCache == null || persistedCache.equals(persisted) == false){
-		        List<String> ret = new ArrayList<String>();
+		        List ret = new ArrayList();
 	
 		        try {
-		            List<InterpreterInfo> list = new ArrayList<InterpreterInfo>();	            
+		            List list = new ArrayList();	            
 	                String[] strings = persisted.split("&&&&&");
 	                
 	                //first, get it...
-	                for (String string : strings) {
+                    for (int i = 0; i < strings.length; i++) {
+                        String string = strings[i];
+                        
 	                    try {
 	                        list.add(InterpreterInfo.fromString(string));
 	                    } catch (Exception e) {
@@ -231,7 +240,9 @@
 	                }
 	                
 	                //then, put it in cache
-	                for (InterpreterInfo info: list) {
+                    for (Iterator iter = list.iterator(); iter.hasNext();) {
+                        InterpreterInfo info = (InterpreterInfo) iter.next();
+
 	                    if(info != null && info.executableOrJar != null){
 	    	                this.exeToInfo.put(info.executableOrJar, info);
 	    	                ret.add(info.executableOrJar);
@@ -239,7 +250,9 @@
 		            }
 	                
 	                //and at last, restore the system info
-		            for (final InterpreterInfo info: list) {
+                    for (Iterator iter = list.iterator(); iter.hasNext();) {
+                        final InterpreterInfo info = (InterpreterInfo) iter.next();
+
 		                try {
 	                        info.modulesManager = (SystemModulesManager) PydevPlugin.readFromPlatformFile(info.getExeAsFileSystemValidPath());
 	                    } catch (Exception e) {
@@ -281,7 +294,7 @@
 	            }
 	            
 		        persistedCache = persisted;
-		        persistedCacheRet = ret.toArray(new String[0]);
+		        persistedCacheRet = (String[]) ret.toArray(new String[0]);
 	        }
         }
         return persistedCacheRet;
@@ -292,8 +305,10 @@
      */
     public String getStringToPersist(String[] executables) {
         StringBuffer buf = new StringBuffer();
-        for (String exe : executables) {
-            InterpreterInfo info = this.exeToInfo.get(exe);
+        for (int i = 0; i < executables.length; i++) {
+            String exe = executables[i];
+            
+            InterpreterInfo info = (InterpreterInfo) this.exeToInfo.get(exe);
             if(info!=null){
                 PydevPlugin.writeToPlatformFile(info.modulesManager, info.getExeAsFileSystemValidPath());
                 buf.append(info.toString());
@@ -342,14 +357,15 @@
     /**
      * @see org.python.pydev.core.IInterpreterManager#restorePythopathFor(java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
      */
-    @SuppressWarnings("unchecked")
 	public void restorePythopathFor(String defaultSelectedInterpreter, IProgressMonitor monitor) {
     	synchronized(lock){
-	        final InterpreterInfo info = getInterpreterInfo(defaultSelectedInterpreter, monitor);
+	        final InterpreterInfo info = (InterpreterInfo) getInterpreterInfo(defaultSelectedInterpreter, monitor);
 	        info.restorePythonpath(monitor); //that's it, info.modulesManager contains the SystemModulesManager
 	        
-	        List<IInterpreterObserver> participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_INTERPRETER_OBSERVER);
-	        for (IInterpreterObserver observer : participants) {
+	        List participants = ExtensionHelper.getParticipants(ExtensionHelper.PYDEV_INTERPRETER_OBSERVER);
+            for (Iterator iter = participants.iterator(); iter.hasNext();) {
+                IInterpreterObserver observer = (IInterpreterObserver) iter.next();
+                
 	            try {
 					observer.notifyDefaultPythonpathRestored(this, defaultSelectedInterpreter, monitor);
 				} catch (Exception e) {
@@ -358,8 +374,10 @@
 	        }
 	        
 	        //update the natures...
-	        List<IPythonNature> pythonNatures = PythonNature.getAllPythonNatures();
-	        for (IPythonNature nature : pythonNatures) {
+	        List pythonNatures = PythonNature.getAllPythonNatures();
+            for (Iterator iter = pythonNatures.iterator(); iter.hasNext();) {
+                IPythonNature nature = (IPythonNature) iter.next();
+                
 	        	try {
 	        		//if they have the same type of the interpreter manager.
 					if (this.isPython() == nature.isPython() || this.isJython() == nature.isJython()) {
Index: src/org/python/pydev/ui/interpreters/JythonInterpreterManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/interpreters/JythonInterpreterManager.java,v
retrieving revision 1.10
diff -u -r1.10 JythonInterpreterManager.java
--- org.python.pydev/src/org/python/pydev/ui/interpreters/JythonInterpreterManager.java	16 Jan 2006 10:49:49 -0000	1.10
+++ org.python.pydev/src/org/python/pydev/ui/interpreters/JythonInterpreterManager.java	23 May 2006 20:35:23 -0000
@@ -7,6 +7,7 @@
 package org.python.pydev.ui.interpreters;
 
 import java.io.File;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.runtime.CoreException;
@@ -26,12 +27,10 @@
         super(prefs);
     }
 
-    @Override
     protected String getPreferenceName() {
         return JYTHON_INTERPRETER_PATH;
     }
     
-    @Override
     protected String getNotConfiguredInterpreterMsg() {
         return "Interpreter is not properly configured!\r\n" +
                "Please go to window->preferences->PyDev->Jython Interpreters and configure it.\r\n" +
@@ -39,8 +38,7 @@
                "project properties to the project you want (e.g.: Python project).";
     }
 
-    @Override
-    public Tuple<InterpreterInfo,String>createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
+    public Tuple createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
         return doCreateInterpreterInfo(executable, monitor);
     }
 
@@ -53,7 +51,7 @@
      * 
      * @throws CoreException
      */
-    public static Tuple<InterpreterInfo,String> doCreateInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
+    public static Tuple doCreateInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
         boolean isJythonExecutable = InterpreterInfo.isJythonExecutable(executable);
         
         if(!isJythonExecutable){
@@ -62,16 +60,18 @@
         File script = PydevPlugin.getScriptWithinPySrc("interpreterInfo.py");
         
         //gets the info for the python side
-        Tuple<String, String> outTup = new SimpleJythonRunner().runAndGetOutputWithJar(REF.getFileAbsolutePath(script), executable, null, null, null, monitor);
-		String output = outTup.o1;
+        Tuple outTup = new SimpleJythonRunner().runAndGetOutputWithJar(REF.getFileAbsolutePath(script), executable, null, null, null, monitor);
+		String output = (String) outTup.o1;
         
         InterpreterInfo info = createInfoFromOutput(monitor, outTup);
         //the executable is the jar itself
         info.executableOrJar = executable;
         
         //we have to find the jars before we restore the compiled libs 
-        List<File> jars = JavaVmLocationFinder.findDefaultJavaJars();
-        for (File jar : jars) {
+        List jars = JavaVmLocationFinder.findDefaultJavaJars();
+        for (Iterator iter = jars.iterator(); iter.hasNext();) {
+            File jar = (File) iter.next();
+            
             info.libs.add(REF.getFileAbsolutePath(jar));
         }
         
@@ -79,10 +79,9 @@
         info.restoreCompiledLibs(monitor);
         
 
-        return new Tuple<InterpreterInfo,String>(info, output);
+        return new Tuple(info, output);
     }
 
-    @Override
     public boolean canGetInfoOnNature(IPythonNature nature) {
         try {
             return nature.isJython();
Index: src/org/python/pydev/ui/interpreters/PythonInterpreterManager.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/interpreters/PythonInterpreterManager.java,v
retrieving revision 1.9
diff -u -r1.9 PythonInterpreterManager.java
--- org.python.pydev/src/org/python/pydev/ui/interpreters/PythonInterpreterManager.java	11 Jan 2006 10:57:39 -0000	1.9
+++ org.python.pydev/src/org/python/pydev/ui/interpreters/PythonInterpreterManager.java	23 May 2006 20:35:23 -0000
@@ -24,12 +24,10 @@
         super(prefs);
     }
 
-    @Override
     protected String getPreferenceName() {
         return PYTHON_INTERPRETER_PATH;
     }
     
-    @Override
     protected String getNotConfiguredInterpreterMsg() {
         return "Interpreter is not properly configured!\n" +
                 "Please go to window->preferences->PyDev->Python Interpreters and configure it.\n" +
@@ -37,8 +35,7 @@
                 "project properties to the project you want (e.g.: Jython project).";
     }
 
-    @Override
-    public Tuple<InterpreterInfo,String>createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
+    public Tuple createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
         return doCreateInterpreterInfo(executable, monitor);
     }
 
@@ -49,7 +46,7 @@
      * @return the created interpreter info
      * @throws CoreException
      */
-    public static Tuple<InterpreterInfo,String> doCreateInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
+    public static Tuple doCreateInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
         boolean isJythonExecutable = InterpreterInfo.isJythonExecutable(executable);
         if(isJythonExecutable){
             throw new RuntimeException("A jar cannot be used in order to get the info for the python interpreter.");
@@ -57,15 +54,14 @@
 
         File script = PydevPlugin.getScriptWithinPySrc("interpreterInfo.py");
 
-        Tuple<String, String> outTup = new SimplePythonRunner().runAndGetOutputWithInterpreter(executable, REF.getFileAbsolutePath(script), null, null, null, monitor);
+        Tuple outTup = new SimplePythonRunner().runAndGetOutputWithInterpreter(executable, REF.getFileAbsolutePath(script), null, null, null, monitor);
         InterpreterInfo info = createInfoFromOutput(monitor, outTup);
         info.restoreCompiledLibs(monitor);
         
-        return new Tuple<InterpreterInfo,String>(info, outTup.o1);
+        return new Tuple(info, outTup.o1);
     }
 
 
-    @Override
     public boolean canGetInfoOnNature(IPythonNature nature) {
         try {
             return nature.isPython();
Index: src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterEditor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterEditor.java,v
retrieving revision 1.9
diff -u -r1.9 AbstractInterpreterEditor.java
--- org.python.pydev/src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterEditor.java	17 Mar 2006 12:54:39 -0000	1.9
+++ org.python.pydev/src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterEditor.java	23 May 2006 20:35:23 -0000
@@ -587,15 +587,13 @@
         return null;
     }
 
-    @Override
     protected void doStore() {
         String s = createList(list.getItems());
         if (s != null){
         	interpreterManager.setPersistedString(s);
         }
     }
-    
-    @Override
+
     protected void doLoad() {
         if (list != null) {
         	String s = interpreterManager.getPersistedString();
@@ -613,14 +611,12 @@
     
     /** Overriden
      */
-    @Override
     protected String createList(String[] executables) {
         return interpreterManager.getStringToPersist(executables);
     }
     
     /** Overriden
      */
-    @Override
     protected String[] parseString(String stringList) {
         return interpreterManager.getInterpretersFromPersistedString(stringList);
     }
@@ -634,7 +630,6 @@
 			this.logger = logger;
 		}
     	
-		@Override
 		public void beginTask(String name, int totalWork) {
 			super.beginTask(name, totalWork);
 			logger.print("- Beggining task:");
@@ -643,14 +638,12 @@
 			logger.println(totalWork);
 		}
 		
-		@Override
 		public void setTaskName(String name) {
 			super.setTaskName(name);
 			logger.print("- Setting task name:");
 			logger.println(name);
 		}
 		
-		@Override
 		public void subTask(String name) {
 			super.subTask(name);
 			logger.print("- Sub Task:");
Index: src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterPreferencesPage.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterPreferencesPage.java,v
retrieving revision 1.5
diff -u -r1.5 AbstractInterpreterPreferencesPage.java
--- org.python.pydev/src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterPreferencesPage.java	25 Jan 2006 16:19:05 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/ui/pythonpathconf/AbstractInterpreterPreferencesPage.java	23 May 2006 20:35:23 -0000
@@ -103,7 +103,7 @@
      * @param allButTheseInterpreters
      * @param monitor
      */
-    protected abstract void doClear(final List<String> allButTheseInterpreters, IProgressMonitor monitor);
+    protected abstract void doClear(final List allButTheseInterpreters, IProgressMonitor monitor);
 
     protected boolean isEditorChanged() {
         return pathEditor.hasChanged();
@@ -134,7 +134,7 @@
     protected void restoreModules() {
     
         if(pathEditor.getExesList().getItemCount() <= 0){
-            doClear(new ArrayList<String>(),new NullProgressMonitor());
+            doClear(new ArrayList(),new NullProgressMonitor());
             return;
     
         } else{
@@ -143,10 +143,12 @@
             ProgressMonitorDialog monitorDialog = new ProgressMonitorDialog(this.getShell());
             monitorDialog.setBlockOnOpen(false);
 
-            final List<String> exesToKeep = new ArrayList<String>();
+            final List exesToKeep = new ArrayList();
             org.eclipse.swt.widgets.List exesList = pathEditor.getExesList();
             String[] items = exesList.getItems();
-            for (String exeToKeep : items) {
+            for (int i = 0; i < items.length; i++) {
+                String exeToKeep = items[i];
+            
                 exesToKeep.add(exeToKeep);
             }
     
Index: src/org/python/pydev/ui/pythonpathconf/InterpreterInfo.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/pythonpathconf/InterpreterInfo.java,v
retrieving revision 1.36
diff -u -r1.36 InterpreterInfo.java
--- org.python.pydev/src/org/python/pydev/ui/pythonpathconf/InterpreterInfo.java	22 Feb 2006 00:26:15 -0000	1.36
+++ org.python.pydev/src/org/python/pydev/ui/pythonpathconf/InterpreterInfo.java	23 May 2006 20:35:23 -0000
@@ -42,7 +42,7 @@
     /**
      * folders - they should be passed to the pythonpath
      */
-    public java.util.List<String> libs = new ArrayList<String>(); 
+    public java.util.List libs = new ArrayList(); 
     
     /**
      * Those libraries are not really used in python (they are found in the system pythonpath), and 
@@ -53,7 +53,7 @@
      * 
      * for jython, the jars should appear here.
      */
-    public java.util.List<String> dllLibs = new ArrayList<String>(); 
+    public java.util.List dllLibs = new ArrayList(); 
     
     /**
      * __builtin__, os, math, etc for python 
@@ -63,7 +63,7 @@
      * 
      * for jython, this should 
      */
-    public Set<String> forcedLibs = new TreeSet<String>(); 
+    public Set forcedLibs = new TreeSet(); 
     
     /**
      * module management for the system is always binded to an interpreter (binded in this class)
@@ -73,17 +73,17 @@
      */
     public SystemModulesManager modulesManager = new SystemModulesManager(forcedLibs);
     
-    public InterpreterInfo(String exe, Collection<String> libs0){
+    public InterpreterInfo(String exe, Collection libs0){
         this.executableOrJar = exe;
         libs.addAll(libs0);
     }
     
-    public InterpreterInfo(String exe, Collection<String> libs0, Collection<String> dlls){
+    public InterpreterInfo(String exe, Collection libs0, Collection dlls){
         this(exe, libs0);
         dllLibs.addAll(dlls);
     }
     
-    public InterpreterInfo(String exe, List<String> libs0, List<String> dlls, List<String> forced) {
+    public InterpreterInfo(String exe, List libs0, List dlls, List forced) {
         this(exe, libs0, dlls);
         forcedLibs.addAll(forced);
     }
@@ -136,7 +136,7 @@
         
         String[] exeAndLibs1 = exeAndLibs.split("\\|");
         String executable = exeAndLibs1[0].substring(exeAndLibs1[0].indexOf(":")+1, exeAndLibs1[0].length());
-        ArrayList<String> l = new ArrayList<String>();
+        ArrayList l = new ArrayList();
         for (int i = 1; i < exeAndLibs1.length; i++) { //start at 1 (o is exe)
             String trimmed = exeAndLibs1[i].trim();
             if(trimmed.length() > 0){
@@ -144,7 +144,7 @@
             }
         }
 
-        ArrayList<String> l1 = new ArrayList<String>();
+        ArrayList l1 = new ArrayList();
         if(libsSplit.length > 1){
 	        String dllLibs = libsSplit[1];
 	        String[] dllLibs1 = dllLibs.split("\\|");
@@ -156,7 +156,7 @@
 	        }
         }
 	        
-        ArrayList<String> l2 = new ArrayList<String>();
+        ArrayList l2 = new ArrayList();
         if(forcedSplit.length > 1){
 	        String forcedLibs = forcedSplit[1];
 	        String[] forcedLibs1 = forcedLibs.split("\\|");
@@ -217,11 +217,11 @@
 	
 	    };
 
-	    List<File> dlls = new ArrayList<File>();
+	    List dlls = new ArrayList();
 	    for (Iterator iter = libs.iterator(); iter.hasNext();) {
             String folder = iter.next().toString();
             
-            List<File>[] below = PydevPlugin.getPyFilesBelow(new File(folder), filter, monitor, false);
+            List[] below = PydevPlugin.getPyFilesBelow(new File(folder), filter, monitor, false);
             dlls.addAll(below[0]);
         }
 	    
@@ -307,7 +307,9 @@
                 '>',
                 '|'};
         String systemValid = new String(REF.encodeBase64(executableOrJar.getBytes()));
-        for (char c : invalidChars) {
+        for (int i = 0; i < invalidChars.length; i++) {
+            char c = invalidChars[i];
+            
             systemValid = systemValid.replace(c, '_');
         }
         return systemValid;
Index: src/org/python/pydev/ui/pythonpathconf/JythonInterpreterEditor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/pythonpathconf/JythonInterpreterEditor.java,v
retrieving revision 1.5
diff -u -r1.5 JythonInterpreterEditor.java
--- org.python.pydev/src/org/python/pydev/ui/pythonpathconf/JythonInterpreterEditor.java	22 Feb 2006 00:26:15 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/ui/pythonpathconf/JythonInterpreterEditor.java	23 May 2006 20:35:23 -0000
@@ -15,7 +15,6 @@
         super(IInterpreterManager.JYTHON_INTERPRETER_PATH, labelText, parent, interpreterManager);
     }
 
-    @Override
     public String[] getInterpreterFilterExtensions() {
         return new String[] { "*.jar", "*.*" };
     }
Index: src/org/python/pydev/ui/pythonpathconf/JythonInterpreterPreferencesPage.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/pythonpathconf/JythonInterpreterPreferencesPage.java,v
retrieving revision 1.8
diff -u -r1.8 JythonInterpreterPreferencesPage.java
--- org.python.pydev/src/org/python/pydev/ui/pythonpathconf/JythonInterpreterPreferencesPage.java	22 Feb 2006 00:26:15 -0000	1.8
+++ org.python.pydev/src/org/python/pydev/ui/pythonpathconf/JythonInterpreterPreferencesPage.java	23 May 2006 20:35:23 -0000
@@ -37,7 +37,6 @@
         return new JythonInterpreterEditor (getInterpretersTitle(), p, PydevPlugin.getJythonInterpreterManager());
     }
 
-    @Override
     protected void doRestore(String defaultSelectedInterpreter, IProgressMonitor monitor) {
         IInterpreterManager iMan = PydevPlugin.getJythonInterpreterManager();
         iMan.restorePythopathFor(defaultSelectedInterpreter, monitor);
@@ -47,8 +46,7 @@
         AbstractShell.stopServerShell(IPythonNature.JYTHON_RELATED, AbstractShell.COMPLETION_SHELL);
     }
     
-    @Override
-    protected void doClear(List<String> allButTheseInterpreters, IProgressMonitor monitor) {
+    protected void doClear(List allButTheseInterpreters, IProgressMonitor monitor) {
         IInterpreterManager iMan = PydevPlugin.getJythonInterpreterManager();
         iMan.clearAllBut(allButTheseInterpreters);
     }
Index: src/org/python/pydev/ui/pythonpathconf/PythonInterpreterEditor.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/pythonpathconf/PythonInterpreterEditor.java,v
retrieving revision 1.2
diff -u -r1.2 PythonInterpreterEditor.java
--- org.python.pydev/src/org/python/pydev/ui/pythonpathconf/PythonInterpreterEditor.java	22 Feb 2006 00:26:15 -0000	1.2
+++ org.python.pydev/src/org/python/pydev/ui/pythonpathconf/PythonInterpreterEditor.java	23 May 2006 20:35:23 -0000
@@ -13,7 +13,6 @@
         super(IInterpreterManager.PYTHON_INTERPRETER_PATH, labelText, parent, interpreterManager);
     }
 
-    @Override
     public String[] getInterpreterFilterExtensions() {
         if (SimplePythonRunner.isWindowsPlatform()) {
             return new String[] { "*.exe", "*.*" };
Index: src/org/python/pydev/ui/pythonpathconf/PythonInterpreterPreferencesPage.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/pythonpathconf/PythonInterpreterPreferencesPage.java,v
retrieving revision 1.5
diff -u -r1.5 PythonInterpreterPreferencesPage.java
--- org.python.pydev/src/org/python/pydev/ui/pythonpathconf/PythonInterpreterPreferencesPage.java	22 Feb 2006 00:26:15 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/ui/pythonpathconf/PythonInterpreterPreferencesPage.java	23 May 2006 20:35:23 -0000
@@ -44,8 +44,7 @@
         iMan.restorePythopathFor(defaultSelectedInterpreter, monitor);
     }
     
-    @Override
-    protected void doClear(List<String> allButTheseInterpreters, IProgressMonitor monitor) {
+    protected void doClear(List allButTheseInterpreters, IProgressMonitor monitor) {
         IInterpreterManager iMan = PydevPlugin.getPythonInterpreterManager();
         iMan.clearAllBut(allButTheseInterpreters);
     }
Index: src/org/python/pydev/ui/wizards/files/AbstractPythonWizard.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/wizards/files/AbstractPythonWizard.java,v
retrieving revision 1.4
diff -u -r1.4 AbstractPythonWizard.java
--- org.python.pydev/src/org/python/pydev/ui/wizards/files/AbstractPythonWizard.java	22 Jan 2006 18:24:34 -0000	1.4
+++ org.python.pydev/src/org/python/pydev/ui/wizards/files/AbstractPythonWizard.java	23 May 2006 20:35:23 -0000
@@ -70,7 +70,6 @@
     /**
      * User clicks Finish
      */
-    @Override
     public boolean performFinish() {
         try {
             // Create file object
Index: src/org/python/pydev/ui/wizards/files/PythonAbstractPathPage.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonAbstractPathPage.java,v
retrieving revision 1.5
diff -u -r1.5 PythonAbstractPathPage.java
--- org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonAbstractPathPage.java	18 Mar 2006 12:01:07 -0000	1.5
+++ org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonAbstractPathPage.java	23 May 2006 20:35:23 -0000
@@ -101,7 +101,6 @@
         }
     }
     
-    @Override
     public void setVisible(boolean visible) {
         super.setVisible(visible);
         if(visible == true){
@@ -387,7 +386,9 @@
         if(nature != null){
             String[] srcPaths = PythonNature.getStrAsStrItems(nature.getProjectSourcePath());
             String relFolder = f.getFullPath().toString();
-            for (String src : srcPaths) {
+            for (int i = 0; i < srcPaths.length; i++) {
+                String src = srcPaths[i];
+
                 if(relFolder.startsWith(src)){
                     return src;
                 }
@@ -512,7 +513,9 @@
         //there are certainly other invalid chars, but let's leave it like that...
         char[] invalid = new char[]{'/', '\\', ',', '*', '(', ')', '{', '}','[',']'
                 };
-        for (char c : invalid){
+        for (int i = 0; i < invalid.length; i++) {
+            char c = invalid[i];
+            
             if(text.indexOf(c) != -1){
                 return "The name must not contain '"+c+"'.";
             }
@@ -583,7 +586,9 @@
         }
         String full = resource.getFullPath().toString();
         String[] srcPaths = PythonNature.getStrAsStrItems(nature.getProjectSourcePath());
-        for (String str : srcPaths) {
+        for (int i = 0; i < srcPaths.length; i++) {
+            String str = srcPaths[i];
+            
             if(str.equals(full)){
                 validatedSourceFolder = (IContainer) resource;
                 return null;
Index: src/org/python/pydev/ui/wizards/files/PythonModuleWizard.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonModuleWizard.java,v
retrieving revision 1.2
diff -u -r1.2 PythonModuleWizard.java
--- org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonModuleWizard.java	21 Jan 2006 14:06:26 -0000	1.2
+++ org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonModuleWizard.java	23 May 2006 20:35:23 -0000
@@ -21,11 +21,9 @@
 
     public static final String WIZARD_ID = "org.python.pydev.ui.wizards.files.PythonModuleWizard";
 
-    @Override
     protected PythonAbstractPathPage createPathPage() {
         return new PythonAbstractPathPage("Create a new Python module", selection){
 
-            @Override
             protected boolean shouldCreatePackageSelect() {
                 return true;
             }
@@ -39,7 +37,6 @@
      * @param monitor 
      * @throws CoreException 
      */
-    @Override
     protected IFile doCreateNew(IProgressMonitor monitor) throws CoreException {
         IContainer validatedSourceFolder = filePage.getValidatedSourceFolder();
         if(validatedSourceFolder == null){
Index: src/org/python/pydev/ui/wizards/files/PythonPackageWizard.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonPackageWizard.java,v
retrieving revision 1.2
diff -u -r1.2 PythonPackageWizard.java
--- org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonPackageWizard.java	21 Jan 2006 14:06:26 -0000	1.2
+++ org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonPackageWizard.java	23 May 2006 20:35:23 -0000
@@ -17,11 +17,9 @@
 
     public static final String WIZARD_ID = "org.python.pydev.ui.wizards.files.PythonPackageWizard";
 
-    @Override
     protected PythonAbstractPathPage createPathPage() {
         return new PythonAbstractPathPage("Create a new Python package", selection){
 
-            @Override
             protected boolean shouldCreatePackageSelect() {
                 return false;
             }
@@ -33,7 +31,6 @@
      * We will create the complete package path given by the user (all filled with __init__) 
      * and we should return the last __init__ module created.
      */
-    @Override
     protected IFile doCreateNew(IProgressMonitor monitor) throws CoreException {
         IContainer validatedSourceFolder = filePage.getValidatedSourceFolder();
         IFile lastFile = null;
@@ -43,7 +40,9 @@
         IContainer parent = validatedSourceFolder;
         String validatedName = filePage.getValidatedName();
         String[] packageParts = validatedName.split("\\.");
-        for (String packagePart : packageParts) {
+        for (int i = 0; i < packageParts.length; i++) {
+            String packagePart = packageParts[i];
+            
             IFolder folder = parent.getFolder(new Path(packagePart));
             if(!folder.exists()){
                 folder.create(true, true, monitor);
Index: src/org/python/pydev/ui/wizards/files/PythonSourceFolderWizard.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonSourceFolderWizard.java,v
retrieving revision 1.2
diff -u -r1.2 PythonSourceFolderWizard.java
--- org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonSourceFolderWizard.java	6 Apr 2006 15:58:52 -0000	1.2
+++ org.python.pydev/src/org/python/pydev/ui/wizards/files/PythonSourceFolderWizard.java	23 May 2006 20:35:23 -0000
@@ -16,16 +16,13 @@
 
     public static final String WIZARD_ID = "org.python.pydev.ui.wizards.files.PythonSourceFolderWizard";
 
-    @Override
     protected PythonAbstractPathPage createPathPage() {
         return new PythonAbstractPathPage("Create a new Source Folder", selection){
 
-            @Override
             protected boolean shouldCreateSourceFolderSelect() {
                 return false;
             }
             
-            @Override
             protected boolean shouldCreatePackageSelect() {
                 return false;
             }
@@ -33,7 +30,6 @@
         };
     }
 
-    @Override
     protected IFile doCreateNew(IProgressMonitor monitor) throws CoreException {
         IProject project = filePage.getValidatedProject();
         String name = filePage.getValidatedName();
Index: src/org/python/pydev/utils/CounterThread.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/utils/CounterThread.java,v
retrieving revision 1.1
diff -u -r1.1 CounterThread.java
--- org.python.pydev/src/org/python/pydev/utils/CounterThread.java	8 Feb 2006 17:58:30 -0000	1.1
+++ org.python.pydev/src/org/python/pydev/utils/CounterThread.java	23 May 2006 20:35:23 -0000
@@ -25,13 +25,12 @@
 		this.stopWhenReaches = stopWhenReaches;
 	}
 	
-	@Override
 	public void run() {
 		try {
 			for (int i = 0; i < stopWhenReaches; i++) {
 				try {
 					sleep(elapseTime);
-					callback.call(i);
+					callback.call(new Integer(i));
 				} catch (Exception e) {
 					Log.log(e);
 					return;
Index: tests/org/python/pydev/editor/actions/PySelectionTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/actions/PySelectionTest.java,v
retrieving revision 1.14
diff -u -r1.14 PySelectionTest.java
--- org.python.pydev/tests/org/python/pydev/editor/actions/PySelectionTest.java	13 Apr 2006 15:40:48 -0000	1.14
+++ org.python.pydev/tests/org/python/pydev/editor/actions/PySelectionTest.java	23 May 2006 20:35:23 -0000
@@ -209,7 +209,7 @@
         String s = "def m1(self, a, b)";
         doc = new Document(s);
         ps = new PySelection(doc, new TextSelection(doc, 0,0));
-        List<String> insideParentesisToks = ps.getInsideParentesisToks(false).o1;
+        List insideParentesisToks = (List) ps.getInsideParentesisToks(false).o1;
         assertEquals(2, insideParentesisToks.size());
         assertEquals("a", insideParentesisToks.get(0));
         assertEquals("b", insideParentesisToks.get(1));
@@ -217,7 +217,7 @@
         s = "def m1(self, a, b, )";
         doc = new Document(s);
         ps = new PySelection(doc, new TextSelection(doc, 0,0));
-        insideParentesisToks = ps.getInsideParentesisToks(false).o1;
+        insideParentesisToks = (List) ps.getInsideParentesisToks(false).o1;
         assertEquals(2, insideParentesisToks.size());
         assertEquals("a", insideParentesisToks.get(0));
         assertEquals("b", insideParentesisToks.get(1));
@@ -226,7 +226,7 @@
         s = "def m1(self, a, b=None)";
         doc = new Document(s);
         ps = new PySelection(doc, new TextSelection(doc, 0,0));
-        insideParentesisToks = ps.getInsideParentesisToks(true).o1;
+        insideParentesisToks = (List) ps.getInsideParentesisToks(true).o1;
         assertEquals(3, insideParentesisToks.size());
         assertEquals("self", insideParentesisToks.get(0));
         assertEquals("a", insideParentesisToks.get(1));
@@ -236,7 +236,7 @@
         s = "def m1(self, a, b=None)";
         doc = new Document(s);
         ps = new PySelection(doc, new TextSelection(doc, 0,0));
-        insideParentesisToks = ps.getInsideParentesisToks(false).o1;
+        insideParentesisToks = (List) ps.getInsideParentesisToks(false).o1;
         assertEquals(2, insideParentesisToks.size());
         assertEquals("a", insideParentesisToks.get(0));
         assertEquals("b", insideParentesisToks.get(1));
@@ -244,7 +244,7 @@
         s = "def m1(self, a, (b,c) )";
         doc = new Document(s);
         ps = new PySelection(doc, new TextSelection(doc, 0,0));
-        insideParentesisToks = ps.getInsideParentesisToks(false).o1;
+        insideParentesisToks = (List) ps.getInsideParentesisToks(false).o1;
         assertEquals(3, insideParentesisToks.size());
         assertEquals("a", insideParentesisToks.get(0));
         assertEquals("b", insideParentesisToks.get(1));
@@ -253,7 +253,7 @@
         s = "def m1(self, a, b, \nc,\nd )";
         doc = new Document(s);
         ps = new PySelection(doc, new TextSelection(doc, 0,0));
-        insideParentesisToks = ps.getInsideParentesisToks(false).o1;
+        insideParentesisToks = (List) ps.getInsideParentesisToks(false).o1;
         assertEquals(4, insideParentesisToks.size());
         assertEquals("a", insideParentesisToks.get(0));
         assertEquals("b", insideParentesisToks.get(1));
@@ -324,27 +324,27 @@
         doc = new Document(s);
         
         ps = new PySelection(doc, 0);
-        assertEquals(new Tuple<String, Integer>("",0), ps.getCurrToken());
+        assertEquals(new Tuple("",new Integer(0)), ps.getCurrToken());
         
         ps = new PySelection(doc, 1);
-        assertEquals(new Tuple<String, Integer>("aa",1), ps.getCurrToken());
+        assertEquals(new Tuple("aa",new Integer(1)), ps.getCurrToken());
         
         ps = new PySelection(doc, 2);
-        assertEquals(new Tuple<String, Integer>("aa",1), ps.getCurrToken());
+        assertEquals(new Tuple("aa",new Integer(1)), ps.getCurrToken());
         
         ps = new PySelection(doc, doc.getLength()-1);
-        assertEquals(new Tuple<String, Integer>("bb",6), ps.getCurrToken());
+        assertEquals(new Tuple("bb",new Integer(6)), ps.getCurrToken());
         
         ps = new PySelection(doc, doc.getLength());
-        assertEquals(new Tuple<String, Integer>( "bb",6), ps.getCurrToken());
+        assertEquals(new Tuple( "bb",new Integer(6)), ps.getCurrToken());
         
         s =" aa = bb ";
         doc = new Document(s);
         
         ps = new PySelection(doc, doc.getLength());
-        assertEquals(new Tuple<String, Integer>("",9), ps.getCurrToken());
+        assertEquals(new Tuple("", new Integer(9)), ps.getCurrToken());
         
         ps = new PySelection(doc, doc.getLength()-1);
-        assertEquals(new Tuple<String, Integer>("bb",6), ps.getCurrToken());
+        assertEquals(new Tuple("bb",new Integer(6)), ps.getCurrToken());
     }
 }
Index: tests/org/python/pydev/editor/codecompletion/PythonShellTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/codecompletion/PythonShellTest.java,v
retrieving revision 1.23
diff -u -r1.23 PythonShellTest.java
--- org.python.pydev/tests/org/python/pydev/editor/codecompletion/PythonShellTest.java	19 Apr 2006 19:44:14 -0000	1.23
+++ org.python.pydev/tests/org/python/pydev/editor/codecompletion/PythonShellTest.java	23 May 2006 20:35:23 -0000
@@ -7,6 +7,7 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.runtime.CoreException;
@@ -65,7 +66,7 @@
     }
 
     public void testGetGlobalCompletions() throws IOException, CoreException {
-        List list = shell.getImportCompletions("math", new ArrayList()).o2;
+        List list = (List) shell.getImportCompletions("math", new ArrayList()).o2;
 
         Object[] element = null;
         element = (Object[]) list.get(0);
@@ -77,7 +78,7 @@
 
 
     public void testErrorOnCompletions() throws IOException, CoreException {
-        List list = shell.getImportCompletions("dfjslkfjds\n\n", getPythonpath()).o2;
+        List list = (List) shell.getImportCompletions("dfjslkfjds\n\n", getPythonpath()).o2;
         assertEquals(0, list.size());
         //don't show completion errors!
     }
@@ -92,7 +93,7 @@
 
     public void testGlu() throws IOException, CoreException {
         if(TestDependent.HAS_GLU_INSTALLED){
-            List list = shell.getImportCompletions("OpenGL.GLUT", getPythonpath()).o2;
+            List list = (List) shell.getImportCompletions("OpenGL.GLUT", getPythonpath()).o2;
             
             assertTrue(list.size() > 10);
             assertIsIn(list, "glutInitDisplayMode");
@@ -100,13 +101,15 @@
     }
 
     private void assertIsIn(List list, String expected) {
-        for (Object object : list) {
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object object = (Object) iter.next();
+            
             Object o[] = (Object[]) object;
             if(o[0].equals(expected)){
                 return;
             }
         }
-        fail(StringUtils.format("The string %s was not found in the returned completions", expected));
+        fail(StringUtils.format("The string %s was not found in the returned completions", new Object [] {expected}));
     }
     
 }
\ No newline at end of file
Index: tests/org/python/pydev/editor/codecompletion/revisited/CodeCompletionTestsBase.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/CodeCompletionTestsBase.java,v
retrieving revision 1.43
diff -u -r1.43 CodeCompletionTestsBase.java
--- org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/CodeCompletionTestsBase.java	18 Mar 2006 18:12:18 -0000	1.43
+++ org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/CodeCompletionTestsBase.java	23 May 2006 20:35:23 -0000
@@ -6,6 +6,7 @@
 package org.python.pydev.editor.codecompletion.revisited;
 
 import java.io.File;
+import java.util.Iterator;
 import java.util.List;
 
 import junit.framework.TestCase;
@@ -97,11 +98,10 @@
      */
     protected PythonNature createNature() {
         return new PythonNature(){
-            @Override
             public boolean isJython() throws CoreException {
                 return false;
             }
-            @Override
+            
             public boolean isPython() throws CoreException {
                 return true;
             }
@@ -357,8 +357,10 @@
         return requestCompl(strDoc, new String[]{retCompl});
     }
 
-    public static void assertContains(List<String> found, String toFind) {
-        for (String str : found) {
+    public static void assertContains(List found, String toFind) {
+        for (Iterator iter = found.iterator(); iter.hasNext();) {
+            String str = (String) iter.next();
+
             if (str.equals(toFind)){
                 return;
             }
Index: tests/org/python/pydev/editor/codecompletion/revisited/PythonInterpreterManagerStub.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/PythonInterpreterManagerStub.java,v
retrieving revision 1.7
diff -u -r1.7 PythonInterpreterManagerStub.java
--- org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/PythonInterpreterManagerStub.java	22 Feb 2006 00:26:16 -0000	1.7
+++ org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/PythonInterpreterManagerStub.java	23 May 2006 20:35:23 -0000
@@ -9,6 +9,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Preferences;
+import org.python.pydev.core.IInterpreterInfo;
 import org.python.pydev.core.IInterpreterManager;
 import org.python.pydev.core.IPythonNature;
 import org.python.pydev.core.TestDependent;
@@ -46,9 +47,9 @@
     /**
      * @see org.python.pydev.core.IInterpreterManager#getInterpreterInfo(java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
      */
-    public InterpreterInfo getInterpreterInfo(String executable, IProgressMonitor monitor) {
+    public IInterpreterInfo getInterpreterInfo(String executable, IProgressMonitor monitor) {
         
-        InterpreterInfo info = super.getInterpreterInfo(executable, monitor);
+        InterpreterInfo info = (InterpreterInfo) super.getInterpreterInfo(executable, monitor);
         if(!InterpreterInfo.isJythonExecutable(executable)){
             TestDependent.PYTHON_EXE = info.executableOrJar;
         }
@@ -62,22 +63,18 @@
         throw new RuntimeException("not impl");
     }
 
-    @Override
     protected String getPreferenceName() {
         return "pref name";
     }
 
-    @Override
     protected String getNotConfiguredInterpreterMsg() {
         return "getNotConfiguredInterpreterMsg";
     }
 
-    @Override
-    public Tuple<InterpreterInfo,String> createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
+    public Tuple createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
         return PythonInterpreterManager.doCreateInterpreterInfo(executable, monitor);
     }
 
-    @Override
     public boolean canGetInfoOnNature(IPythonNature nature) {
         return true;
     }
Index: tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonCodeCompletionTestsBase.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonCodeCompletionTestsBase.java,v
retrieving revision 1.5
diff -u -r1.5 JythonCodeCompletionTestsBase.java
--- org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonCodeCompletionTestsBase.java	22 Feb 2006 00:26:17 -0000	1.5
+++ org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonCodeCompletionTestsBase.java	23 May 2006 20:35:23 -0000
@@ -5,6 +5,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Iterator;
 
 import org.eclipse.core.runtime.CoreException;
 import org.python.copiedfromeclipsesrc.JavaVmLocationFinder;
@@ -21,7 +22,6 @@
     protected boolean calledJavaExecutable = false;
     protected boolean calledJavaJars = false;
 
-    @Override
     protected void setUp() throws Exception {
         super.setUp();
         //we also need to set from where the info on the java env
@@ -36,21 +36,22 @@
         JavaVmLocationFinder.callbackJavaJars = new ICallback(){
             public Object call(Object args) {
                 calledJavaJars = true;
-                ArrayList<File> jars = new ArrayList<File>();
+                ArrayList jars = new ArrayList();
                 jars.add(new File(TestDependent.JAVA_RT_JAR_LOCATION));
                 return jars;
             }
         };
     }
     
-    @Override
     protected void afterRestorSystemPythonPath(InterpreterInfo info) {
         super.afterRestorSystemPythonPath(info);
         assertTrue(calledJavaExecutable);
         assertTrue(calledJavaJars);
         
         boolean foundRtJar = false;
-        for(Object lib: info.libs){
+        for (Iterator iter = info.libs.iterator(); iter.hasNext();) {
+            Object lib = (Object) iter.next();
+
             String s = (String) lib;
             if(s.endsWith("rt.jar")){
                 foundRtJar = true;
@@ -60,26 +61,22 @@
     }
 
 
-    @Override
     protected PythonNature createNature() {
         return new PythonNature(){
-            @Override
             public boolean isJython() throws CoreException {
                 return true;
             }
-            @Override
+            
             public boolean isPython() throws CoreException {
                 return false;
             }
         };
     }
     
-    @Override
     protected IInterpreterManager getInterpreterManager() {
         return PydevPlugin.getJythonInterpreterManager();
     }
     
-    @Override
     protected void setInterpreterManager() {
         PydevPlugin.setJythonInterpreterManager(new JythonInterpreterManagerStub(preferences));
     }
Index: tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonInterpreterManagerStub.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonInterpreterManagerStub.java,v
retrieving revision 1.6
diff -u -r1.6 JythonInterpreterManagerStub.java
--- org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonInterpreterManagerStub.java	22 Feb 2006 00:26:17 -0000	1.6
+++ org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/jython/JythonInterpreterManagerStub.java	23 May 2006 20:35:23 -0000
@@ -6,6 +6,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Preferences;
+import org.python.pydev.core.IInterpreterInfo;
 import org.python.pydev.core.IPythonNature;
 import org.python.pydev.core.TestDependent;
 import org.python.pydev.core.Tuple;
@@ -42,9 +43,9 @@
     /**
      * @see org.python.pydev.core.IInterpreterManager#getInterpreterInfo(java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
      */
-    public InterpreterInfo getInterpreterInfo(String executable, IProgressMonitor monitor) {
+    public IInterpreterInfo getInterpreterInfo(String executable, IProgressMonitor monitor) {
         
-        InterpreterInfo info = super.getInterpreterInfo(executable, monitor);
+        InterpreterInfo info = (InterpreterInfo) super.getInterpreterInfo(executable, monitor);
         if(!info.executableOrJar.equals(TestDependent.JYTHON_JAR_LOCATION)){
             throw new RuntimeException("expected same");
         }
@@ -58,22 +59,18 @@
         return TestDependent.JAVA_LOCATION;
     }
 
-    @Override
     protected String getPreferenceName() {
         return "pref name";
     }
 
-    @Override
     protected String getNotConfiguredInterpreterMsg() {
         return "getNotConfiguredInterpreterMsg";
     }
 
-    @Override
-    public Tuple<InterpreterInfo,String> createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
+    public Tuple createInterpreterInfo(String executable, IProgressMonitor monitor) throws CoreException {
         return JythonInterpreterManager.doCreateInterpreterInfo(executable, monitor);
     }
 
-    @Override
     public boolean canGetInfoOnNature(IPythonNature nature) {
         return true;
     }
@@ -87,7 +84,6 @@
         return false;
     }
 
-    @Override
     public String getManagerRelatedName() {
         return "jython";
     }
Index: tests/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitorTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitorTest.java,v
retrieving revision 1.6
diff -u -r1.6 AbstractVisitorTest.java
--- org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitorTest.java	20 Mar 2006 19:37:57 -0000	1.6
+++ org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/visitors/AbstractVisitorTest.java	23 May 2006 20:35:23 -0000
@@ -35,10 +35,10 @@
 	}
 
 	public void testImportCreation1() throws Exception {
-		Iterator<ASTEntry> iterator = createModuleAndGetImports("import os.path", Import.class);
+		Iterator iterator = createModuleAndGetImports("import os.path", Import.class);
 		
-		SimpleNode simpleNode = iterator.next().node;
-		List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), MODULE_NAME, true);
+		SimpleNode simpleNode = ((ASTEntry)iterator.next()).node;
+		List toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList(), MODULE_NAME, true);
 		assertEquals(2, toks.size());
 		
 		SourceToken token = (SourceToken) toks.get(0);
@@ -49,10 +49,10 @@
 	}
 
 	public void testImportCreation2() throws Exception {
-	    Iterator<ASTEntry> iterator = createModuleAndGetImports("from os import path, notDefined", ImportFrom.class);
+	    Iterator iterator = createModuleAndGetImports("from os import path, notDefined", ImportFrom.class);
 	    
-	    SimpleNode simpleNode = iterator.next().node;
-	    List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), MODULE_NAME, true);
+	    SimpleNode simpleNode = ((ASTEntry)iterator.next()).node;
+	    List toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList(), MODULE_NAME, true);
 	    assertEquals(2, toks.size());
 	    
 	    SourceToken token = (SourceToken) toks.get(0);
@@ -63,10 +63,10 @@
 	}
 	
 	public void testImportCreation3() throws Exception {
-	    Iterator<ASTEntry> iterator = createModuleAndGetImports("from os import path as tt, notDefined as aa", ImportFrom.class);
+	    Iterator iterator = createModuleAndGetImports("from os import path as tt, notDefined as aa", ImportFrom.class);
 	    
-	    SimpleNode simpleNode = iterator.next().node;
-	    List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), MODULE_NAME, true);
+	    SimpleNode simpleNode = ((ASTEntry)iterator.next()).node;
+	    List toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList(), MODULE_NAME, true);
 	    assertEquals(2, toks.size());
 	    
 	    SourceToken token = (SourceToken) toks.get(0);
@@ -78,10 +78,10 @@
 	
 	
 	public void testImportCreation4() throws Exception {
-		Iterator<ASTEntry> iterator = createModuleAndGetImports("from os.path import *", ImportFrom.class);
+		Iterator iterator = createModuleAndGetImports("from os.path import *", ImportFrom.class);
 		
-		SimpleNode simpleNode = iterator.next().node;
-		List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), MODULE_NAME, true);
+		SimpleNode simpleNode = ((ASTEntry)iterator.next()).node;
+		List toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList(), MODULE_NAME, true);
 		assertEquals(1, toks.size());
 		
 		SourceToken token = (SourceToken) toks.get(0);
@@ -89,10 +89,10 @@
 	}
 	
 	public void testImportCreation5() throws Exception {
-		Iterator<ASTEntry> iterator = createModuleAndGetImports("from os.path import *", ImportFrom.class);
+		Iterator iterator = createModuleAndGetImports("from os.path import *", ImportFrom.class);
 		MODULE_NAME = "some.dotted.name";
-		SimpleNode simpleNode = iterator.next().node;
-		List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), "some.dotted.name", true);
+		SimpleNode simpleNode = ((ASTEntry)iterator.next()).node;
+		List toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList(), "some.dotted.name", true);
 		assertEquals(1, toks.size());
 		
 		SourceToken token = (SourceToken) toks.get(0);
@@ -108,14 +108,14 @@
 		assertEquals(originalRep, token.getOriginalRep());
 	}
 
-	private Iterator<ASTEntry> createModuleAndGetImports(String strDoc, Class classToGet) throws Exception {
+	private Iterator createModuleAndGetImports(String strDoc, Class classToGet) throws Exception {
 		Document document = new Document(strDoc);
 		SourceModule module = (SourceModule) AbstractModule.createModuleFromDoc(MODULE_NAME, null, document, null, 0);
 		
 		
 		EasyASTIteratorVisitor visitor = new EasyASTIteratorVisitor();
 		module.getAst().accept(visitor);
-		Iterator<ASTEntry> iterator = visitor.getIterator(classToGet);
+		Iterator iterator = visitor.getIterator(classToGet);
 		return iterator;
 	}
 }
Index: tests/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitorTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitorTest.java,v
retrieving revision 1.7
diff -u -r1.7 FindDefinitionModelVisitorTest.java
--- org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitorTest.java	15 Jan 2006 00:25:10 -0000	1.7
+++ org.python.pydev/tests/org/python/pydev/editor/codecompletion/revisited/visitors/FindDefinitionModelVisitorTest.java	23 May 2006 20:35:23 -0000
@@ -49,14 +49,14 @@
 
 		Document doc = new Document(d);
 		IModule module = AbstractModule.createModuleFromDoc("", null, doc, nature, 2);
-		Definition[] defs = (Definition[]) module.findDefinition("ex", 2, 2, nature, new ArrayList<FindInfo>());
+		Definition[] defs = (Definition[]) module.findDefinition("ex", 2, 2, nature, new ArrayList());
 		
 		assertEquals(1, defs.length);
 		assertEquals("ex", ((AssignDefinition)defs[0]).target);
 		assertEquals("assist.ExistingClass", defs[0].value);
 		assertSame(module, defs[0].module);
 		
-		defs = (Definition[]) module.findDefinition("assist.ExistingClass", 1, 5, nature, new ArrayList<FindInfo>());
+		defs = (Definition[]) module.findDefinition("assist.ExistingClass", 1, 5, nature, new ArrayList());
 		assertEquals(1, defs.length);
 		assertEquals("ExistingClass", defs[0].value);
 		assertNotSame(module, defs[0].module);
@@ -83,14 +83,14 @@
 		Document doc = new Document(d);
 		IModule module = AbstractModule.createModuleFromDoc("", null, doc, nature, 9);
 		//self.c is found as an assign
-		Definition[] defs = (Definition[]) module.findDefinition("self.c", 9, 8, nature, new ArrayList<FindInfo>());
+		Definition[] defs = (Definition[]) module.findDefinition("self.c", 9, 8, nature, new ArrayList());
 		
 		assertEquals(1, defs.length);
 		assertEquals("self.c", ((AssignDefinition)defs[0]).target);
 		assertEquals("C", defs[0].value);
 		assertSame(module, defs[0].module);
 		
-		defs = (Definition[]) module.findDefinition("C", 6, 17, nature, new ArrayList<FindInfo>());
+		defs = (Definition[]) module.findDefinition("C", 6, 17, nature, new ArrayList());
 		assertEquals(1, defs.length);
 		assertEquals("C", defs[0].value);
 		assertSame(module, defs[0].module);
Index: tests/org/python/pydev/editor/correctionassist/heuristics/AssistAssignTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/editor/correctionassist/heuristics/AssistAssignTest.java,v
retrieving revision 1.3
diff -u -r1.3 AssistAssignTest.java
--- org.python.pydev/tests/org/python/pydev/editor/correctionassist/heuristics/AssistAssignTest.java	25 Feb 2006 00:14:24 -0000	1.3
+++ org.python.pydev/tests/org/python/pydev/editor/correctionassist/heuristics/AssistAssignTest.java	23 May 2006 20:35:27 -0000
@@ -5,6 +5,7 @@
  */
 package org.python.pydev.editor.correctionassist.heuristics;
 
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.jface.text.BadLocationException;
@@ -84,13 +85,15 @@
         String sel = PyAction.getLineWithoutComments(ps);
         
         assertEquals(true, assist.isValid(ps, sel, null, d.length()));
-        List<ICompletionProposal> props = assist.getProps(ps, null, null, null, null, d.length());
+        List props = assist.getProps(ps, null, null, null, null, d.length());
         assertEquals(2, props.size());
         assertContains("Assign to local (newMethod)", props);
     }
 
-    private void assertContains(String string, List<ICompletionProposal> props) {
-        for (ICompletionProposal proposal : props) {
+    private void assertContains(String string, List props) {
+        for (Iterator iter = props.iterator(); iter.hasNext();) {
+            ICompletionProposal proposal = (ICompletionProposal) iter.next();
+          
             System.out.println(proposal.getDisplayString());
             if(proposal.getDisplayString().equals(string)){
                 return;
Index: tests/org/python/pydev/jythontests/JythonTests.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/jythontests/JythonTests.java,v
retrieving revision 1.1
diff -u -r1.1 JythonTests.java
--- org.python.pydev/tests/org/python/pydev/jythontests/JythonTests.java	21 Apr 2006 19:30:50 -0000	1.1
+++ org.python.pydev/tests/org/python/pydev/jythontests/JythonTests.java	23 May 2006 20:35:27 -0000
@@ -6,6 +6,7 @@
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.PrintStream;
+import java.util.Iterator;
 import java.util.List;
 
 import org.python.pydev.core.TestDependent;
@@ -27,11 +28,13 @@
         super.tearDown();
     }
     public void testJythonTests() throws Exception {
-        List<Throwable> errors = JythonPlugin.execAll(null, "test", JythonPlugin.newPythonInterpreter(false), new File[]{new File(TestDependent.TEST_PYDEV_PLUGIN_LOC+"tests/jysrc/tests")});
+        List errors = JythonPlugin.execAll(null, "test", JythonPlugin.newPythonInterpreter(false), new File[]{new File(TestDependent.TEST_PYDEV_PLUGIN_LOC+"tests/jysrc/tests")});
         if(errors.size() > 0){
             ByteArrayOutputStream out = new ByteArrayOutputStream();
             out.write("There have been errors while executing the test scripts in jython.\n\n".getBytes());
-            for (Throwable throwable : errors) {
+            for (Iterator iter = errors.iterator(); iter.hasNext();) {
+                Throwable throwable = (Throwable) iter.next();
+                
                 throwable.printStackTrace(new PrintStream(out));
             }
             fail(new String(out.toByteArray()));
Index: tests/org/python/pydev/runners/SimpleJythonRunnerTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/runners/SimpleJythonRunnerTest.java,v
retrieving revision 1.8
diff -u -r1.8 SimpleJythonRunnerTest.java
--- org.python.pydev/tests/org/python/pydev/runners/SimpleJythonRunnerTest.java	15 Mar 2006 00:18:35 -0000	1.8
+++ org.python.pydev/tests/org/python/pydev/runners/SimpleJythonRunnerTest.java	23 May 2006 20:35:27 -0000
@@ -34,7 +34,7 @@
     public void testRun() throws CoreException, IOException {
         SimpleJythonRunner runner = new SimpleJythonRunner();
         File absoluteFile = PydevPlugin.getBundleInfo().getRelativePath(new Path("interpreterInfo.py")).getAbsoluteFile();
-        String string = runner.runAndGetOutputWithJar(absoluteFile.getCanonicalPath(), TestDependent.JYTHON_JAR_LOCATION, null, null, null, new NullProgressMonitor()).o1;
+        String string = (String) runner.runAndGetOutputWithJar(absoluteFile.getCanonicalPath(), TestDependent.JYTHON_JAR_LOCATION, null, null, null, new NullProgressMonitor()).o1;
 //        String string = runner.runAndGetOutput(absoluteFile.getCanonicalPath(), (String)null, null);
         assertNotNull(string);
 //        System.out.println(string);
Index: tests/org/python/pydev/runners/SimplePythonRunnerTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/runners/SimplePythonRunnerTest.java,v
retrieving revision 1.4
diff -u -r1.4 SimplePythonRunnerTest.java
--- org.python.pydev/tests/org/python/pydev/runners/SimplePythonRunnerTest.java	15 Mar 2006 00:18:35 -0000	1.4
+++ org.python.pydev/tests/org/python/pydev/runners/SimplePythonRunnerTest.java	23 May 2006 20:35:27 -0000
@@ -49,7 +49,7 @@
     public void testEnv() throws CoreException, IOException {
         
         File relativePath = PydevPlugin.getBundleInfo().getRelativePath(new Path("PySrc/interpreterInfo.py"));
-        String string = new SimplePythonRunner().runAndGetOutput(TestDependent.PYTHON_EXE+" "+relativePath.getCanonicalPath(), null).o1;
+        String string = (String) new SimplePythonRunner().runAndGetOutput(TestDependent.PYTHON_EXE+" "+relativePath.getCanonicalPath(), null).o1;
         assertNotNull(string);
         //System.out.println(string);
     }
Index: tests/org/python/pydev/ui/pythonpathconf/InterpreterInfoTest.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/tests/org/python/pydev/ui/pythonpathconf/InterpreterInfoTest.java,v
retrieving revision 1.3
diff -u -r1.3 InterpreterInfoTest.java
--- org.python.pydev/tests/org/python/pydev/ui/pythonpathconf/InterpreterInfoTest.java	23 Aug 2005 14:04:08 -0000	1.3
+++ org.python.pydev/tests/org/python/pydev/ui/pythonpathconf/InterpreterInfoTest.java	23 May 2006 20:35:27 -0000
@@ -37,19 +37,19 @@
      * 
      */
     public void testInfo() {
-        List<String> l = new ArrayList<String>();
+        List l = new ArrayList();
         InterpreterInfo info = new InterpreterInfo("test", l);
         InterpreterInfo info2 = new InterpreterInfo("test", l);
         InterpreterInfo info3 = new InterpreterInfo("test3", l);
-        List<String> l4 = new ArrayList<String>();
+        List l4 = new ArrayList();
         l4.add("l4");
         InterpreterInfo info4 = new InterpreterInfo("test", l4);
         
-        List<String> dlls = new ArrayList<String>();
+        List dlls = new ArrayList();
         dlls.add("dll1");
         InterpreterInfo info5 = new InterpreterInfo("test", l4, dlls);
         
-        List<String> forced = new ArrayList<String>();
+        List forced = new ArrayList();
         forced.add("forced1");
         InterpreterInfo info6 = new InterpreterInfo("test", l4, dlls, forced);
         
@@ -78,11 +78,11 @@
         String toString7 = info7.toString();
         assertEquals(info7, InterpreterInfo.fromString(toString7));
         
-        List<String> l1 = new ArrayList<String>();
+        List l1 = new ArrayList();
         l1.add("c:\\bin\\python24\\lib\\lib-tk");
         l1.add("c:\\bin\\python24");
-        List<String> l2 = new ArrayList<String>();
-        List<String> l3 = new ArrayList<String>();
+        List l2 = new ArrayList();
+        List l3 = new ArrayList();
         l3.add("__builtin__");
         l3.add("__main__");
         l3.add("_bisect");
--- org.python.pydev/META-INF/MANIFEST.MF	2006-05-26 13:49:24.000000000 -0400
+++ org.python.pydev/META-INF/MANIFEST.MF	2006-05-26 14:03:28.000000000 -0400
@@ -3,8 +3,7 @@
 Bundle-Name: Pydev - Python Development Environment
 Bundle-SymbolicName: org.python.pydev; singleton:=true
 Bundle-Version: 0.9.7.1
-Bundle-ClassPath: pydev.jar,
- retroweaver-rt.jar
+Bundle-ClassPath: pydev.jar
 Bundle-Activator: org.python.pydev.plugin.PydevPlugin
 Bundle-Vendor: Fabio Zadrozny / Aleks Totic
 Bundle-Localization: plugin
--- org.python.pydev/build.properties	2006-02-14 10:29:35.000000000 -0500
+++ org.python.pydev/build.properties	2006-05-26 14:04:31.000000000 -0400
@@ -9,7 +9,6 @@
                eclipse32.gif,\
                pydev.gif,\
                Pydev.gif,\
-               retroweaver-rt.jar,\
                shiftone-cache.jar
 jars.compile.order = pydev.jar
 source.pydev.jar = src/
--- org.python.pydev.ast/META-INF/MANIFEST.MF	2006-05-26 13:49:24.000000000 -0400
+++ org.python.pydev.ast/META-INF/MANIFEST.MF	2006-05-26 14:05:18.000000000 -0400
@@ -3,8 +3,7 @@
 Bundle-Name: Ast Plug-in
 Bundle-SymbolicName: org.python.pydev.ast; singleton:=true
 Bundle-Version: 0.9.7.1
-Bundle-ClassPath: ast.jar,
- retroweaver-rt.jar
+Bundle-ClassPath: ast.jar
 Bundle-Activator: org.python.pydev.ast.AstPlugin
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui,
--- org.python.pydev.core/META-INF/MANIFEST.MF	2006-05-26 13:49:24.000000000 -0400
+++ org.python.pydev.core/META-INF/MANIFEST.MF	2006-05-26 14:06:27.000000000 -0400
@@ -4,7 +4,6 @@
 Bundle-SymbolicName: org.python.pydev.core; singleton:=true
 Bundle-Version: 0.9.7.1
 Bundle-ClassPath: core.jar,
- retroweaver-rt.jar,
  commons-codec.jar
 Bundle-Activator: org.python.pydev.core.CorePlugin
 Bundle-Vendor: Fabio Zadrozny
--- org.python.pydev.core/build.properties	2005-11-17 09:53:44.000000000 -0500
+++ org.python.pydev.core/build.properties	2006-05-26 14:07:16.000000000 -0400
@@ -3,7 +3,6 @@
 bin.includes = plugin.xml,\
                META-INF/,\
                core.jar,\
-               retroweaver-rt.jar,\
                commons-codec.jar
 jars.extra.classpath = commons-codec.jar
 jars.compile.order = core.jar
--- org.python.pydev.debug/META-INF/MANIFEST.MF	2006-05-26 13:49:24.000000000 -0400
+++ org.python.pydev.debug/META-INF/MANIFEST.MF	2006-05-26 14:07:56.000000000 -0400
@@ -3,8 +3,7 @@
 Bundle-Name: Pydev debug
 Bundle-SymbolicName: org.python.pydev.debug; singleton:=true
 Bundle-Version: 0.9.7.1
-Bundle-ClassPath: pydev-debug.jar,
- retroweaver-rt.jar
+Bundle-ClassPath: pydev-debug.jar
 Bundle-Activator: org.python.pydev.debug.core.PydevDebugPlugin
 Bundle-Vendor: Fabio Zadrozny / Aleks Totic
 Bundle-Localization: plugin
--- org.python.pydev.debug/build.properties	2005-09-03 11:59:30.000000000 -0400
+++ org.python.pydev.debug/build.properties	2006-05-26 14:08:53.000000000 -0400
@@ -3,8 +3,7 @@
                CVS/,\
                META-INF/,\
                icons/,\
-               pydev-debug.jar,\
-               retroweaver-rt.jar
+               pydev-debug.jar
 jars.compile.order = pydev-debug.jar
 source.pydev-debug.jar = src/
 output.pydev-debug.jar = bin/
--- org.python.pydev.jython/META-INF/MANIFEST.MF	2006-05-26 13:49:24.000000000 -0400
+++ org.python.pydev.jython/META-INF/MANIFEST.MF	2006-05-26 14:09:28.000000000 -0400
@@ -4,7 +4,6 @@
 Bundle-SymbolicName: org.python.pydev.jython; singleton:=true
 Bundle-Version: 0.9.7.1
 Bundle-ClassPath: pydev-jython.jar,
- retroweaver-rt.jar,
  jython.jar
 Bundle-Activator: org.python.pydev.jython.JythonPlugin
 Bundle-Vendor: Fabio Zadrozny
--- org.python.pydev.jython/build.properties	2006-04-06 12:12:37.000000000 -0400
+++ org.python.pydev.jython/build.properties	2006-05-26 14:11:20.000000000 -0400
@@ -2,7 +2,6 @@
                pydev-jython.jar,\
                jython.jar,\
                jysrc/,\
-               retroweaver-rt.jar,\
                plugin.xml,\
                Lib/
 jars.compile.order = pydev-jython.jar
--- org.python.pydev.parser/META-INF/MANIFEST.MF	2006-05-26 13:49:24.000000000 -0400
+++ org.python.pydev.parser/META-INF/MANIFEST.MF	2006-05-26 14:12:24.000000000 -0400
@@ -3,8 +3,7 @@
 Bundle-Name: Parser Plug-in
 Bundle-SymbolicName: org.python.pydev.parser; singleton:=true
 Bundle-Version: 0.9.7.1
-Bundle-ClassPath: parser.jar,
- retroweaver-rt.jar
+Bundle-ClassPath: parser.jar
 Bundle-Activator: org.python.pydev.parser.ParserPlugin
 Bundle-Localization: plugin
 Require-Bundle: org.junit,
--- org.python.pydev.parser/build.properties	2005-09-03 11:59:02.000000000 -0400
+++ org.python.pydev.parser/build.properties	2006-05-26 14:13:05.000000000 -0400
@@ -2,5 +2,4 @@
 output.parser.jar = bin/
 bin.includes = plugin.xml,\
                META-INF/,\
-               parser.jar,\
-               retroweaver-rt.jar
+               parser.jar
--- org.python.pydev.templates/META-INF/MANIFEST.MF	2006-05-26 13:49:24.000000000 -0400
+++ org.python.pydev.templates/META-INF/MANIFEST.MF	2006-05-26 14:13:47.000000000 -0400
@@ -10,4 +10,3 @@
  org.eclipse.core.runtime,
  org.python.pydev
 Eclipse-AutoStart: true
-Bundle-ClassPath: retroweaver-rt.jar
--- org.python.pydev.templates/build.properties	2005-09-03 14:00:51.000000000 -0400
+++ org.python.pydev.templates/build.properties	2006-05-26 14:14:28.000000000 -0400
@@ -1,5 +1,4 @@
 bin.includes = META-INF/,\
                plugin.xml,\
-               icons/,\
-               retroweaver-rt.jar
+               icons/
 jars.compile.order = 

Back to the top