From: Andrew Haley Date: Tue, 18 Dec 2012 09:57:48 +0000 (+0000) Subject: Main.java (parseClasses): Don't scan inner classes if our item is a file. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=45af64a72b4794566c2f9938ca6d4714c1784e62;p=gcc.git Main.java (parseClasses): Don't scan inner classes if our item is a file. 2012-12-17 Andrew Haley * tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't scan inner classes if our item is a file. From-SVN: r194573 --- 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 + + * tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't + scan inner classes if our item is a file. + 2012-09-14 David Edelsohn * 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 index 709b6d01262..12f1a7d9813 100644 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 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 innerNames = new HashSet(); - 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 innerNames = new HashSet(); + 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; }