summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2012-12-18 10:48:03 +0100
committerMark Wielaard <mjw@redhat.com>2012-12-18 10:49:12 +0100
commitd5388b6909c719588f5ff84f26d7f5a271b9ffa3 (patch)
tree6c7cf3b70f9965f60d5ab64d4b5db9428ea9f92e
parentc814d82e5a435f93150cd28b7cf0f9d600ff400d (diff)
downloadclasspath-d5388b6909c719588f5ff84f26d7f5a271b9ffa3.tar.gz
PR libgcj/55716
* tools/gnu/classpath/tools/javah/Main.java (parseClasses): Dont scan inner classes if our item is a file.
-rw-r--r--ChangeLog6
-rw-r--r--tools/gnu/classpath/tools/javah/Main.java19
2 files changed, 17 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index a88ea4f2e..9fa7294a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-12-17 Andrew Haley <aph@redhat.com>
+
+ PR libgcj/55716
+ * tools/gnu/classpath/tools/javah/Main.java (parseClasses): Dont
+ scan inner classes if our item is a file.
+
2012-11-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/55182
diff --git a/tools/gnu/classpath/tools/javah/Main.java b/tools/gnu/classpath/tools/javah/Main.java
index 894a5c4d2..2bea36caf 100644
--- a/tools/gnu/classpath/tools/javah/Main.java
+++ b/tools/gnu/classpath/tools/javah/Main.java
@@ -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;
}