OSDN Git Service

2012-12-17 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Dec 2012 09:57:48 +0000 (09:57 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Dec 2012 09:57:48 +0000 (09:57 +0000)
* tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't
scan inner classes if our item is a file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194573 138bc75d-0d04-0410-961f-82ee72b054a4

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

index b1da426..83eac3f 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 709b6d0..12f1a7d 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 894a5c4..2bea36c 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;
   }