]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Main.java (parseClasses): Don't scan inner classes if our item is a file.
authorAndrew Haley <aph@redhat.com>
Tue, 18 Dec 2012 09:57:48 +0000 (09:57 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Tue, 18 Dec 2012 09:57:48 +0000 (09:57 +0000)
2012-12-17  Andrew Haley  <aph@redhat.com>

* tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't
scan inner classes if our item is a file.

From-SVN: r194573

libjava/classpath/ChangeLog
libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class
libjava/classpath/tools/gnu/classpath/tools/javah/Main.java

index b1da426ab3ddc6648f507d706cebe6ba80cfbd87..83eac3f8d0d85fdd0c99dd0bf52f132255906bb5 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-17  Andrew Haley  <aph@redhat.com>
+
+       * tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't
+       scan inner classes if our item is a file.
+
 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
 
        * configure: Regenerated.
index 709b6d012628dcad7271dfd62901674e500c3789..12f1a7d9813f91f4be90cfa4bbf08708ac7aadee 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class differ
index 894a5c4d2c09b8325a923208af9a6c4691b14e47..2bea36cafc28df779e9cc97fff4eec0c1dce4da1 100644 (file)
@@ -370,16 +370,19 @@ public class Main
         results.put(filename, klass);
         parsed.add(item.toString());
 
-        // Check to see if there are inner classes to also parse
-        Iterator<?> innerClasses = klass.innerClasses.iterator();
-        HashSet<Object> innerNames = new HashSet<Object>();
-        while (innerClasses.hasNext())
+        if (! (item instanceof File))
           {
-            String innerName = ((InnerClassNode) innerClasses.next()).name;
-            if (!parsed.contains(innerName))
-              innerNames.add(innerName);
+            // Check to see if there are inner classes to also parse
+            Iterator<?> innerClasses = klass.innerClasses.iterator();
+            HashSet<Object> innerNames = new HashSet<Object>();
+            while (innerClasses.hasNext())
+              {
+                String innerName = ((InnerClassNode) innerClasses.next()).name;
+                if (!parsed.contains(innerName))
+                  innerNames.add(innerName);
+              }
+            results.putAll(parseClasses(innerNames.iterator()));
           }
-        results.putAll(parseClasses(innerNames.iterator()));
       }
     return results;
   }