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

Code cleanup in src\java.desktop\share\classes\javax\swing\tree\VariableHeightLayoutCache.java

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8, 9, 10
    • Fix Version/s: 11
    • Component/s: client-libs
    • Labels:

      Description

      As part of analysis of JDK-8187936, some problems/cleanup tasks have been identified in VariableHeightLayoutCache.java:
      1. Line 927: Uninitialized variables, checking for trivial reject case multiple times.
      2. Line 999: Traditional code written to find maximum size of components, which can be done without any local variables and explicit looping with streams.
      3. Line 1365: Code repetition for differenct conditions, which can be ored together to reduce the repetition.
      4. Line 1482: A large code block gets repeated only because of different values need to be passed in one line. This can be moved to a variable initialization, and the repeating code blocks can be reduced to one.
      5. Line 1505: Variable initialization can be simplified by combining different conditions.
      6. Line 1540: An explicit loop to apply a function over a collection, can be achieved in one line by a forEach construct.
      7. Line 1747: Combine all the trivial reject cases into one condition, and also, a potential bug which increments the "nextIndex" value beyond the length of the containing elements. The increment should happen only if the trivial reject case fails.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kaddepalli Krishna Addepalli (Inactive)
                Reporter:
                kaddepalli Krishna Addepalli (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: