Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8117782

All impl_* methods must be hidden from javadoc and marked as deprecated

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 7u6
    • 7u6
    • javafx

      A method or field that is to be hidden needs three things:

      1) @treatAsPrivate javadoc comment
      2) @deprecated javadoc comment
      3) @Deprecated pragma on the method

      The following impl_ methods are "leaking" into the public API as a result of a missing "@treatAsPrivate" javadoc tag:

      impl_getStyleable() - Method in class javafx.scene.control.MenuItem
      impl_getStyleable() - Method in class javafx.scene.control.TableColumn
      impl_getStyleableProperties() - Method in class javafx.scene.control.PopupControl.CSSBridge
      impl_pseudoClassStateChanged(String) - Method in class javafx.scene.control.PopupControl.CSSBridge

      One of these has the following pattern, which uncovers another issue:


          /**
           * RT-19263
           * @treatAsPrivate implementation detail
           * @deprecated This is an experimental API that is not intended for general
           * use and is subject to change in future versions
           */
          protected Styleable styleable;

          @Deprecated // SB-dependency: RT-21094 has been filed to track this
          public Styleable impl_getStyleable() {


      The "protected Styleable styleable" field has #1 and #2 applied but not #3. The "public Styleable impl_getStyleable()" method has #3 applied but not #1 or #2. Both the field and the method likely need all three tags.

            jgiles Jonathan Giles
            kcr Kevin Rushforth
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: