Main.java (parseClasses): Don't scan inner classes if our item is a file.

2012-12-17  Andrew Haley  <aph@redhat.com>

	* tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't
	scan inner classes if our item is a file.

From-SVN: r194573
This commit is contained in:
Andrew Haley 2012-12-18 09:57:48 +00:00 committed by Andrew Haley
parent 93d3dd5997
commit 45af64a72b
3 changed files with 16 additions and 8 deletions

View file

@ -1,3 +1,8 @@
2012-12-17 Andrew Haley <aph@redhat.com>
* tools/gnu/classpath/tools/javah/Main.java (parseClasses): Don't
scan inner classes if our item is a file.
2012-09-14 David Edelsohn <dje.gcc@gmail.com>
* configure: Regenerated.

View file

@ -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;
}