<Swing Dev> JDK 9 RFR of JDK-8039860: Fix fallthrough lint warnings in swing

Joe Darcy joe.darcy at oracle.com
Wed Apr 23 00:57:29 UTC 2014


Pushed with recommended changes to the code; thanks for the review,

-Joe

On 04/09/2014 07:33 PM, Joe Darcy wrote:
> Hello,
>
> Please review the changes below to address
>
>     JDK-8039860: Fix fallthrough lint warnings in swing
>     http://cr.openjdk.java.net/~darcy/8039860.0/
>
> In many cases, there is already a comment stating that the fallthrough 
> is intended. However, please examine in particular the changes in 
> javax.swing.text.html.parser.{ContentModelState.java, Parser.java} to 
> verify the existing fallthroughs are appropriate.
>
> Thanks,
>
> -Joe
>
> --- 
> old/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java 
> 2014-04-09 19:26:14.000000000 -0700
> +++ 
> new/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java 
> 2014-04-09 19:26:14.000000000 -0700
> @@ -1683,6 +1683,7 @@
>       * adjustments that windows/metal do.  This is because gtk doesn't
>       * provide margins/insets for checkbox/radiobuttons.
>       */
> +    @SuppressWarnings("fallthrough")
>      private static class GnomeLayoutStyle extends DefaultLayoutStyle {
>          private static GnomeLayoutStyle INSTANCE = new 
> GnomeLayoutStyle();
>
> --- 
> old/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java 
> 2014-04-09 19:26:15.000000000 -0700
> +++ 
> new/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java 
> 2014-04-09 19:26:14.000000000 -0700
> @@ -2409,6 +2409,7 @@
>
>      // Windows LayoutStyle.  From:
>      // 
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch14e.asp
> +    @SuppressWarnings("fallthrough")
>      private class WindowsLayoutStyle extends DefaultLayoutStyle {
>          @Override
>          public int getPreferredGap(JComponent component1,
> --- 
> old/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java 
> 2014-04-09 19:26:15.000000000 -0700
> +++ 
> new/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java 
> 2014-04-09 19:26:15.000000000 -0700
> @@ -182,7 +182,6 @@
>                  if (sortOrder != null) {
>                       switch(sortOrder) {
>                       case ASCENDING:
> -                         /* falls through */
>                       case DESCENDING:
>                           switch (state) {
>                           case NORMAL:
> @@ -197,6 +196,7 @@
>                           default:
>                               /* do nothing */
>                           }
> +                         break;
>                       default :
>                           /* do nothing */
>                       }
> --- old/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java 
> 2014-04-09 19:26:16.000000000 -0700
> +++ new/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java 
> 2014-04-09 19:26:15.000000000 -0700
> @@ -2338,6 +2338,7 @@
>
>      // From the JLF Design Guidelines:
>      // http://www.oracle.com/technetwork/java/jlf-135985.html
> +    @SuppressWarnings("fallthrough")
>      private static class MetalLayoutStyle extends DefaultLayoutStyle {
>          private static MetalLayoutStyle INSTANCE = new 
> MetalLayoutStyle();
>
> @@ -2474,4 +2475,4 @@
>              return 0;
>          }
>      }
> -}
> \ No newline at end of file
> +}
> --- old/src/share/classes/javax/swing/text/JTextComponent.java 
> 2014-04-09 19:26:16.000000000 -0700
> +++ new/src/share/classes/javax/swing/text/JTextComponent.java 
> 2014-04-09 19:26:16.000000000 -0700
> @@ -4473,6 +4473,7 @@
>      // composed(uncommitted) text is done here after all input
>      // method listeners get called for stealing the events.
>      //
> +    @SuppressWarnings("fallthrough")
>      protected void processInputMethodEvent(InputMethodEvent e) {
>          // let listeners handle the events
>          super.processInputMethodEvent(e);
> --- old/src/share/classes/javax/swing/text/html/StyleSheet.java 
> 2014-04-09 19:26:17.000000000 -0700
> +++ new/src/share/classes/javax/swing/text/html/StyleSheet.java 
> 2014-04-09 19:26:17.000000000 -0700
> @@ -2324,6 +2324,7 @@
>           * @param itemNum number to format
>           * @param type    type of ordered list
>           */
> +        @SuppressWarnings("fallthrough")
>          String formatItemNum(int itemNum, char type) {
>              String numStyle = "1";
>
> --- 
> old/src/share/classes/javax/swing/text/html/parser/ContentModelState.java 
> 2014-04-09 19:26:19.000000000 -0700
> +++ 
> new/src/share/classes/javax/swing/text/html/parser/ContentModelState.java 
> 2014-04-09 19:26:17.000000000 -0700
> @@ -92,12 +92,14 @@
>       * tokens required in the input stream.
>       * @return true if the model can terminate without further input
>       */
> +    @SuppressWarnings("fallthrough")
>      public boolean terminate() {
>          switch (model.type) {
>            case '+':
>              if ((value == 0) && !(model).empty()) {
>                  return false;
>              }
> +            // Fall through okay?
>            case '*':
>            case '?':
>              return (next == null) || next.terminate();
> --- old/src/share/classes/javax/swing/text/html/parser/Parser.java 
> 2014-04-09 19:26:20.000000000 -0700
> +++ new/src/share/classes/javax/swing/text/html/parser/Parser.java 
> 2014-04-09 19:26:20.000000000 -0700
> @@ -852,6 +852,7 @@
>              if (lower) {
>                  ch = 'a' + (ch - 'A');
>              }
> +            break;
>
>            case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
>            case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
> @@ -876,6 +877,7 @@
>                  if (lower) {
>                      ch = 'a' + (ch - 'A');
>                  }
> +                break;
>
>                case 'a': case 'b': case 'c': case 'd': case 'e': case 
> 'f':
>                case 'g': case 'h': case 'i': case 'j': case 'k': case 
> 'l':
> @@ -1214,6 +1216,7 @@
>      /**
>       * Parse attribute value. [33] 331:1
>       */
> +    @SuppressWarnings("fallthrough")
>      String parseAttributeValue(boolean lower) throws IOException {
>          int delim = -1;
>
> @@ -1258,6 +1261,7 @@
>                case '\t':
>                    if (delim < 0)
>                        c = ' ';
> +                  // Fall through ?
>                case ' ':
>                  ch = readCh();
>                  if (delim < 0) {
> @@ -1559,6 +1563,7 @@
>      /**
>       * Parse a start or end tag.
>       */
> +    @SuppressWarnings("fallthrough")
>      void parseTag() throws IOException {
>          Element elem;
>          boolean net = false;
> @@ -1602,6 +1607,7 @@
>                          continue;
>                        case '>':
>                          ch = readCh();
> +                        // Fall through okay?
>                        case -1:
>                          return;
>                        default:
> @@ -1626,6 +1632,7 @@
>                      switch(ch) {
>                        case '>':
>                          ch = readCh();
> +                        // Fall through okay?
>                        case -1:
>                          error("invalid.markup");
>                          return;
> @@ -1657,6 +1664,7 @@
>              switch (ch = readCh()) {
>                case '>':
>                  ch = readCh();
> +                // Fall through okay?
>                case '<':
>                  // empty end tag. either </> or </<
>                  if (recent == null) {
> @@ -1675,6 +1683,7 @@
>                  switch (ch) {
>                    case '>':
>                      ch = readCh();
> +                    // Fall through okay?
>                    case '<':
>                      break;
>
> @@ -1875,6 +1884,7 @@
>          switch (ch) {
>            case '/':
>              net = true;
> +            // Fall through okay?
>            case '>':
>              ch = readCh();
>              if (ch == '>' && net) {
> --- old/src/share/classes/javax/swing/text/rtf/RTFGenerator.java 
> 2014-04-09 19:26:21.000000000 -0700
> +++ new/src/share/classes/javax/swing/text/rtf/RTFGenerator.java 
> 2014-04-09 19:26:21.000000000 -0700
> @@ -868,6 +868,7 @@
>      afterKeyword = false;
>  }
>
> + at SuppressWarnings("fallthrough")
>  public void writeCharacter(char ch)
>      throws IOException
>  {
> --- old/src/share/classes/javax/swing/text/rtf/RTFParser.java 
> 2014-04-09 19:26:22.000000000 -0700
> +++ new/src/share/classes/javax/swing/text/rtf/RTFParser.java 
> 2014-04-09 19:26:22.000000000 -0700
> @@ -148,6 +148,7 @@
>        handleText(s);
>    }
>
> +  @SuppressWarnings("fallthrough")
>    public void write(char ch)
>      throws IOException
>    {
>




More information about the swing-dev mailing list