From 45af64a72b4794566c2f9938ca6d4714c1784e62 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Tue, 18 Dec 2012 09:57:48 +0000 Subject: 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 --- 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') diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index b1da426..83eac3f 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 709b6d0..12f1a7d 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 894a5c4..2bea36c 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.1