Bug 45526

Summary: gjavah does not implicitly produce header files for inner classes
Product: classpath Reporter: Andrew John Hughes <gnu_andrew>
Component: classpathAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: bug-classpath
Priority: P3    
Version: 0.98   
Target Milestone: 0.99   
Host: Target:
Build: Known to work:
Known to fail: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 39410    

Description Andrew John Hughes 2010-09-03 19:20:04 UTC
Using Oracle's javah on a class with inner classes e.g. org.apache.subversion.javahl.ClientNotifyInformation produces a header file for the main class and one per inner class: 

org_apache_subversion_javahl_ClientNotifyInformation.h
org_apache_subversion_javahl_ClientNotifyInformation_Action.h
org_apache_subversion_javahl_ClientNotifyInformation_LockStatus.h
org_apache_subversion_javahl_ClientNotifyInformation_Status.h
Comment 1 Andrew John Hughes 2011-09-09 06:11:16 UTC
PR classpath/45526: Produce header files for any inner classes found.

       2011-09-09  Andrew John Hughes  <ahughes@redhat.com>

               PR classpath/45526: Produce header files for
               any inner classes found.
               * tools/gnu/classpath/tools/javah/Main.java:
               (parsed): Set of class names that have been parsed.
               (writeHeader(Map,Printer)): Take a general Map
               rather than a specific HashMap.
               (parseClasses(Iterator<Object>)): Factor out
               the parsing of class files into a separate
               method so it can be called recursively for
               inner classes.
               (getClass(String)): Remove redundant cast.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.9831&r2=1.9832
http://cvs.savannah.gnu.org/viewcvs/classpath/tools/gnu/classpath/tools/javah/Main.java?cvsroot=classpath&r1=1.13&r2=1.14
Comment 2 Andrew John Hughes 2011-09-09 06:12:24 UTC
Closing. Fixed in HEAD.