diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/classpath/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class | bin | 12769 -> 12780 bytes | |||
-rw-r--r-- | libjava/classpath/tools/gnu/classpath/tools/javah/Main.java | 19 |
3 files changed, 16 insertions, 8 deletions
diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index b1da426ab3d..83eac3f8d0d 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -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. diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class Binary files differindex 709b6d01262..12f1a7d9813 100644 --- a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class +++ b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java index 894a5c4d2c0..2bea36cafc2 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java +++ b/libjava/classpath/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; } |