diff options
Diffstat (limited to 'tools/gnu')
-rw-r--r-- | tools/gnu/classpath/tools/javah/Main.java | 19 |
1 files changed, 11 insertions, 8 deletions
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; } |