On 10/4/05, Stuart Ballard <[EMAIL PROTECTED]> wrote: > I can't think of any reasons why any such field (or a method taking a > non-public type as a parameter or returning one) should ever matter in > practice for compatibility, but I'd like to see if other people feel > the same way before trying to implement skipping them.
I've got an implementation of this in my local copy for testing. I had it spit out the list of items that would be skipped if we skipped all fields with a non-public type and methods with non-public parameter types, return types or thrown exception types. I'd also like to catch anything with a non-public type parameter bound, but my initial naive implementation stackoverflowed on (where else?) Enum<T extends Enum<T>>. The list that came out was: java.awt,GridBagLayout!#layoutInfo java.awt,GridBagLayout!GetLayoutInfo(Ljava/awt/Container;,I) java.awt,GridBagLayout!GetMinSize(Ljava/awt/Container;,Ljava/awt/GridBagLayoutInfo;) java.awt,GridBagLayout!getLayoutInfo(Ljava/awt/Container;,I) java.awt,GridBagLayout!getMinSize(Ljava/awt/Container;,Ljava/awt/GridBagLayoutInfo;) javax.management.loading,MLet!check(Ljava/lang/String;,Ljava/net/URL;,Ljava/lang/String;,Ljavax/management/loading/MLetContent;) javax.management.loading,PrivateMLet!check(Ljava/lang/String;,Ljava/net/URL;,Ljava/lang/String;,Ljavax/management/loading/MLetContent;) javax.management.timer,TimerAlarmClockNotification!(Ljavax/management/timer/TimerAlarmClock;) javax.naming,CompoundName!#impl javax.swing,JRootPane!#defaultPressAction javax.swing,JRootPane!#defaultReleaseAction javax.swing,JTree$EmptySelectionModel!notifyPathChange(Ljava/util/Vector<Ljavax/swing/tree/PathPlaceHolder;>;,Ljavax/swing/tree/TreePath;) javax.swing.plaf.metal,MetalBorders$ToolBarBorder!#bumps javax.swing.plaf.metal,MetalFileChooserUI!createDirectoryComboBoxRenderer(Ljavax/swing/JFileChooser;) javax.swing.plaf.metal,MetalScrollBarUI!#bumps javax.swing.plaf.metal,MetalSplitPaneDivider$MetalDividerLayout!(Ljavax/swing/plaf/metal/MetalSplitPaneDivider;) javax.swing.plaf.synth,SynthSliderUI$SynthTrackListener!(Ljavax/swing/plaf/synth/SynthSliderUI;) javax.swing.text,ParagraphView!adjustRow(Ljavax/swing/text/ParagraphView$Row;,I,I) javax.swing.text.html,AccessibleHTML$HTMLAccessibleContext!#elementInfo javax.swing.text.html,AccessibleHTML$HTMLAccessibleContext!(Ljavax/swing/text/html/AccessibleHTML;,Ljavax/swing/text/html/AccessibleHTML$ElementInfo;) javax.swing.text.html,AccessibleHTML$IconElementInfo$IconAccessibleContext!#elementInfo javax.swing.text.html,AccessibleHTML$IconElementInfo$IconAccessibleContext!(Ljavax/swing/text/html/AccessibleHTML$IconElementInfo;,Ljavax/swing/text/html/AccessibleHTML$ElementInfo;) javax.swing.text.html,AccessibleHTML$TableElementInfo$TableAccessibleContext!#elementInfo javax.swing.text.html,AccessibleHTML$TableElementInfo$TableAccessibleContext!(Ljavax/swing/text/html/AccessibleHTML$TableElementInfo;,Ljavax/swing/text/html/AccessibleHTML$ElementInfo;) javax.swing.text.html,AccessibleHTML$TableElementInfo$TableAccessibleContext!addRowHeader(Ljavax/swing/text/html/AccessibleHTML$TableElementInfo$TableCellElementInfo;,I) javax.swing.text.html,AccessibleHTML$TableElementInfo$TableAccessibleContext$AccessibleHeadersTable!addHeader(Ljavax/swing/text/html/AccessibleHTML$TableElementInfo$TableCellElementInfo;,I) javax.swing.text.html,AccessibleHTML$TextElementInfo$TextAccessibleContext!#elementInfo javax.swing.text.html,AccessibleHTML$TextElementInfo$TextAccessibleContext!(Ljavax/swing/text/html/AccessibleHTML$TextElementInfo;,Ljavax/swing/text/html/AccessibleHTML$ElementInfo;) javax.swing.text.html,ParagraphView!adjustRow(Ljavax/swing/text/ParagraphView$Row;,I,I) javax.swing.text.html,TableView$RowView!(Ljavax/swing/text/html/TableView;,Ljavax/swing/text/Element;) javax.swing.tree,DefaultTreeSelectionModel!notifyPathChange(Ljava/util/Vector<Ljavax/swing/tree/PathPlaceHolder;>;,Ljavax/swing/tree/TreePath;) Anyone who knows any of those areas of code have any strong feelings either way on whether those items shout be treated as part of the public API or not? Can any of them actually be used for anything useful despite the non-publicness of types associated with them? Stuart. PS I sent a mail to classpath-patches earlier today with some other trivial japi fixes but it's stuck in moderation since I'm not subscribed... -- http://sab39.dev.netreach.com/ _______________________________________________ Classpath mailing list [email protected] http://lists.gnu.org/mailman/listinfo/classpath

