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-Tag: releases/gcc-4.8.0~1339 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=45af64a72b4794566c2f9938ca6d4714c1784e62;p=thirdparty%2Fgcc.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 b1da426ab3dd..83eac3f8d0d8 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 709b6d012628..12f1a7d9813f 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 894a5c4d2c09..2bea36cafc28 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; }