From 5b742ff28acf9d02f69feffeeb4f84bcb508a911 Mon Sep 17 00:00:00 2001 From: aph Date: Tue, 18 Dec 2012 09:57:48 +0000 Subject: 2012-12-17 Andrew Haley * tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't scan inner classes if our item is a file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194573 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/classpath/ChangeLog | 5 +++++ .../classes/gnu/classpath/tools/javah/Main.class | Bin 12769 -> 12780 bytes .../tools/gnu/classpath/tools/javah/Main.java | 19 +++++++++++-------- 3 files changed, 16 insertions(+), 8 deletions(-) (limited to 'libjava/classpath') 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; } -- cgit v1.2.3