Hi,

Roman Kennke wrote:
Today I took some time studying the J2D code [1] and came across a bunch
of warnings that I thought I'd remove (only in sun/java2d/x11 for now):

- Remove unused imports, makes code slightly cleaner.

Someone internally did a sweep recently looking for unused imports but so
far as I can tell these weren't covered.

- Access static fields like SunGraphics2D.XYZ rather than sg2d.XYZ.
Better style generally and avoids potential programming error (rarely
though).

I suspect that this may have been a mixture of a personal stylistic
choice and keeping the line lengths shorter to avoid wrapping or exceeding
the 80 chars in our coding standards. Anyone know better?

- Add @Override to overriding methods. In case the superclass method
changes name and/or signature, this triggers a compiler error, thus
preventing accidental problems when refactoring.

Most likely we could find thousands of such cases which pre-date
annotations. Does anyone know if there is a tool to (semi)automate this?

-phil.

- Remove some unnecessary casts to String. Makes code slightly cleaner.

Find the patch attached. Feel free to include it in OpenJDK if you like.

Cheers, Roman


------------------------------------------------------------------------

Index: j2se/src/solaris/classes/sun/java2d/x11/X11Renderer.java
===================================================================
--- j2se/src/solaris/classes/sun/java2d/x11/X11Renderer.java    (Revision 252)
+++ j2se/src/solaris/classes/sun/java2d/x11/X11Renderer.java    (Arbeitskopie)
@@ -28,12 +28,9 @@
 import java.awt.Polygon;
 import java.awt.Shape;
 import java.awt.geom.AffineTransform;
-import java.awt.geom.PathIterator;
 import java.awt.geom.Path2D;
-import java.awt.geom.IllegalPathStateException;
 import sun.awt.SunToolkit;
 import sun.java2d.SunGraphics2D;
-import sun.java2d.SurfaceData;
 import sun.java2d.loops.GraphicsPrimitive;
 import sun.java2d.pipe.Region;
 import sun.java2d.pipe.PixelDrawPipe;
@@ -299,7 +296,7 @@
     private void doPath(SunGraphics2D sg2d, Shape s, boolean isFill) {
         Path2D.Float p2df;
         int transx, transy;
-        if (sg2d.transformState <= sg2d.TRANSFORM_INT_TRANSLATE) {
+        if (sg2d.transformState <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
             if (s instanceof Path2D.Float) {
                 p2df = (Path2D.Float)s;
             } else {
@@ -323,10 +320,10 @@
     }
public void draw(SunGraphics2D sg2d, Shape s) {
-       if (sg2d.strokeState == sg2d.STROKE_THIN) {
+       if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
             // Delegate to drawPolygon() if possible...
             if (s instanceof Polygon &&
-                sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE)
+                sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE)
             {
                 Polygon p = (Polygon) s;
                 drawPolygon(sg2d, p.xpoints, p.ypoints, p.npoints);
@@ -336,7 +333,7 @@
             // Otherwise we will use drawPath() for
             // high-quality thin paths.
             doPath(sg2d, s, false);
-       } else if (sg2d.strokeState < sg2d.STROKE_CUSTOM) {
+       } else if (sg2d.strokeState < SunGraphics2D.STROKE_CUSTOM) {
            // REMIND: X11 can handle uniform scaled wide lines
            // and dashed lines itself if we set the appropriate
            // XGC attributes (TBD).
@@ -360,10 +357,10 @@
     }
public void fill(SunGraphics2D sg2d, Shape s) {
-        if (sg2d.strokeState == sg2d.STROKE_THIN) {
+        if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
             // Delegate to fillPolygon() if possible...
             if (s instanceof Polygon &&
-                sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE)
+                sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE)
             {
                Polygon p = (Polygon) s;
                fillPolygon(sg2d, p.xpoints, p.ypoints, p.npoints);
@@ -378,7 +375,7 @@
AffineTransform at;
         int transx, transy;
-        if (sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE) {
+        if (sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
             // Transform (translation) will be done by XFillSpans
             at = null;
             transx = sg2d.transX;
@@ -419,18 +416,21 @@
                            int w, int h);
public static class X11TracingRenderer extends X11Renderer {
+        @Override
        void XDrawLine(long pXSData, long xgc,
                       int x1, int y1, int x2, int y2)
        {
            GraphicsPrimitive.tracePrimitive("X11DrawLine");
            super.XDrawLine(pXSData, xgc, x1, y1, x2, y2);
        }
+        @Override
        void XDrawRect(long pXSData, long xgc,
                       int x, int y, int w, int h)
        {
            GraphicsPrimitive.tracePrimitive("X11DrawRect");
            super.XDrawRect(pXSData, xgc, x, y, w, h);
        }
+        @Override
        void XDrawRoundRect(long pXSData, long xgc,
                            int x, int y, int w, int h,
                            int arcW, int arcH)
@@ -438,12 +438,14 @@
            GraphicsPrimitive.tracePrimitive("X11DrawRoundRect");
            super.XDrawRoundRect(pXSData, xgc, x, y, w, h, arcW, arcH);
        }
+        @Override
        void XDrawOval(long pXSData, long xgc,
                       int x, int y, int w, int h)
        {
            GraphicsPrimitive.tracePrimitive("X11DrawOval");
            super.XDrawOval(pXSData, xgc, x, y, w, h);
        }
+        @Override
        void XDrawArc(long pXSData, long xgc,
                      int x, int y, int w, int h,
                      int angleStart, int angleExtent)
@@ -452,6 +454,7 @@
            super.XDrawArc(pXSData, xgc,
                           x, y, w, h, angleStart, angleExtent);
        }
+        @Override
        void XDrawPoly(long pXSData, long xgc,
                       int transx, int transy,
                       int[] xpoints, int[] ypoints,
@@ -461,6 +464,7 @@
            super.XDrawPoly(pXSData, xgc, transx, transy,
                            xpoints, ypoints, npoints, isclosed);
        }
+        @Override
void XDoPath(SunGraphics2D sg2d, long pXSData, long xgc, int transX, int transY, Path2D.Float p2df,
                      boolean isFill)
@@ -470,12 +474,14 @@
                                              "X11DrawPath");
             super.XDoPath(sg2d, pXSData, xgc, transX, transY, p2df, isFill);
         }
+        @Override
        void XFillRect(long pXSData, long xgc,
                       int x, int y, int w, int h)
        {
            GraphicsPrimitive.tracePrimitive("X11FillRect");
            super.XFillRect(pXSData, xgc, x, y, w, h);
        }
+        @Override
        void XFillRoundRect(long pXSData, long xgc,
                            int x, int y, int w, int h,
                            int arcW, int arcH)
@@ -483,12 +489,14 @@
            GraphicsPrimitive.tracePrimitive("X11FillRoundRect");
            super.XFillRoundRect(pXSData, xgc, x, y, w, h, arcW, arcH);
        }
+        @Override
        void XFillOval(long pXSData, long xgc,
                       int x, int y, int w, int h)
        {
            GraphicsPrimitive.tracePrimitive("X11FillOval");
            super.XFillOval(pXSData, xgc, x, y, w, h);
        }
+        @Override
        void XFillArc(long pXSData, long xgc,
                      int x, int y, int w, int h,
                      int angleStart, int angleExtent)
@@ -497,6 +505,7 @@
            super.XFillArc(pXSData, xgc,
                           x, y, w, h, angleStart, angleExtent);
        }
+        @Override
        void XFillPoly(long pXSData, long xgc,
                       int transx, int transy,
                       int[] xpoints, int[] ypoints,
@@ -506,6 +515,7 @@
            super.XFillPoly(pXSData, xgc,
                            transx, transy, xpoints, ypoints, npoints);
        }
+        @Override
        void XFillSpans(long pXSData, long xgc,
                        SpanIterator si, long iterator, int transx, int transy)
        {
@@ -513,6 +523,7 @@
            super.XFillSpans(pXSData, xgc,
                             si, iterator, transx, transy);
        }
+        @Override
         void devCopyArea(long sdOps, long xgc,
                         int srcx, int srcy,
                         int dstx, int dsty,
Index: j2se/src/solaris/classes/sun/java2d/x11/X11PMBlitBgLoops.java
===================================================================
--- j2se/src/solaris/classes/sun/java2d/x11/X11PMBlitBgLoops.java       
(Revision 252)
+++ j2se/src/solaris/classes/sun/java2d/x11/X11PMBlitBgLoops.java       
(Arbeitskopie)
@@ -79,6 +79,7 @@
        super(srcType, CompositeType.SrcNoEa, dstType);
     }
+ @Override
     public void BlitBg(SurfaceData src, SurfaceData dst,
Composite comp, Region clip, Color bgColor, int sx, int sy,
Index: j2se/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java
===================================================================
--- j2se/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java (Revision 252)
+++ j2se/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java (Arbeitskopie)
@@ -27,20 +27,17 @@
import java.awt.GraphicsDevice;
 import java.awt.GraphicsEnvironment;
-import java.awt.Color;
 import java.awt.Composite;
 import java.awt.Rectangle;
 import java.awt.GraphicsConfiguration;
 import java.awt.Image;
 import java.awt.color.ColorSpace;
 import java.awt.Transparency;
-import java.awt.image.BufferedImage;
 import java.awt.image.ColorModel;
 import java.awt.image.ComponentColorModel;
 import java.awt.image.DirectColorModel;
 import java.awt.image.IndexColorModel;
 import java.awt.image.Raster;
-import java.awt.peer.ComponentPeer;
import sun.awt.SunHints;
 import sun.awt.SunToolkit;
@@ -57,7 +54,6 @@
 import sun.java2d.loops.RenderLoops;
 import sun.java2d.loops.GraphicsPrimitive;
 import sun.java2d.loops.XORComposite;
-import sun.java2d.loops.Blit;
 import sun.java2d.pipe.ValidatePipe;
 import sun.java2d.pipe.PixelToShapeConverter;
 import sun.java2d.pipe.TextPipe;
@@ -201,13 +197,13 @@
     static {
        if (!GraphicsEnvironment.isHeadless()) {
             // If a screen magnifier is present, don't attempt to use DGA
-            String magPresent = (String) 
java.security.AccessController.doPrivileged
+            String magPresent = java.security.AccessController.doPrivileged
                 (new 
sun.security.action.GetPropertyAction("javax.accessibility.screen_magnifier_present"));
             boolean tryDGA = magPresent == null || !"true".equals(magPresent);
initIDs(XORComposite.class, tryDGA); - String xtextpipe = (String) java.security.AccessController.doPrivileged
+           String xtextpipe = java.security.AccessController.doPrivileged
                (new 
sun.security.action.GetPropertyAction("sun.java2d.xtextpipe"));
            if (xtextpipe == null || "true".startsWith(xtextpipe)) {
                if ("true".equals(xtextpipe)) {
@@ -246,8 +242,7 @@
            if (GraphicsEnvironment.isHeadless()) {
                accelerationEnabled = Boolean.FALSE;
            } else {
- String prop = - (String) java.security.AccessController.doPrivileged(
+               String prop = java.security.AccessController.doPrivileged(
                         new 
sun.security.action.GetPropertyAction("sun.java2d.pmoffscreen"));
                if (prop != null) {
                    // true iff prop==true, false otherwise
@@ -266,11 +261,12 @@
         return X11SurfaceDataProxy.createProxy(srcData, graphicsConfig);
     }
+ @Override
     public void validatePipe(SunGraphics2D sg2d) {
        if (sg2d.antialiasHint != SunHints.INTVAL_ANTIALIAS_ON &&
-           sg2d.paintState <= sg2d.PAINT_ALPHACOLOR &&
-           (sg2d.compositeState <= sg2d.COMP_ISCOPY ||
-             sg2d.compositeState == sg2d.COMP_XOR))
+           sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
+           (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY ||
+             sg2d.compositeState == SunGraphics2D.COMP_XOR))
        {
             if (x11txpipe == null) {
                 /*
@@ -288,7 +284,7 @@
                 return;
             }
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+           if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
                // Do this to init textpipe correctly; we will override the
                // other non-text pipes below
                // REMIND: we should clean this up eventually instead of
@@ -302,7 +298,7 @@
                case SunHints.INTVAL_TEXT_ANTIALIAS_OFF:
                    // Use X11 pipe even if DGA is available since DGA
                    // text slows everything down when mixed with X11 calls
-                   if (sg2d.compositeState == sg2d.COMP_ISCOPY) {
+                   if (sg2d.compositeState == SunGraphics2D.COMP_ISCOPY) {
                        sg2d.textpipe = x11textpipe;
                    } else {
                        sg2d.textpipe = solidTextRenderer;
@@ -326,7 +322,7 @@
                    case SunHints.INTVAL_TEXT_ANTIALIAS_OFF:
                    // Use X11 pipe even if DGA is available since DGA
                    // text slows everything down when mixed with X11 calls
-                   if (sg2d.compositeState == sg2d.COMP_ISCOPY) {
+                   if (sg2d.compositeState == SunGraphics2D.COMP_ISCOPY) {
                        sg2d.textpipe = x11textpipe;
                    } else {
                        sg2d.textpipe = solidTextRenderer;
@@ -343,10 +339,10 @@
                }
            }
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+            if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) 
{
                 sg2d.drawpipe = x11txpipe;
                 sg2d.fillpipe = x11txpipe;
-            } else if (sg2d.strokeState != sg2d.STROKE_THIN){
+            } else if (sg2d.strokeState != SunGraphics2D.STROKE_THIN){
                 sg2d.drawpipe = x11txpipe;
                 sg2d.fillpipe = x11pipe;
             } else {
@@ -367,9 +363,10 @@
        }
     }
+ @Override
     public RenderLoops getRenderLoops(SunGraphics2D sg2d) {
-       if (sg2d.paintState <= sg2d.PAINT_ALPHACOLOR &&
-           sg2d.compositeState <= sg2d.COMP_ISCOPY)
+       if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
+           sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY)
        {
            return solidloops;
        }
@@ -448,6 +445,7 @@
      */
     public abstract boolean canSourceSendExposures(int x, int y, int w, int h);
+ @Override
     public boolean copyArea(SunGraphics2D sg2d,
                            int x, int y, int w, int h, int dx, int dy)
     {
@@ -458,7 +456,7 @@
            makePipes();
        }
        CompositeType comptype = sg2d.imageComp;
-       if (sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE &&
+       if (sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE &&
            (CompositeType.SrcOverNoEa.equals(comptype) ||
             CompositeType.SrcNoEa.equals(comptype)))
        {
@@ -467,8 +465,8 @@
             SunToolkit.awtLock();
             try {
                 boolean needExposures = canSourceSendExposures(x, y, w, h);
-                long xgc = getBlitGC(sg2d.getCompClip(), needExposures);
-                x11pipe.devCopyArea(getNativeOps(), xgc,
+                long _xgc = getBlitGC(sg2d.getCompClip(), needExposures);
+                x11pipe.devCopyArea(getNativeOps(), _xgc,
                                     x, y,
                                     x + dx, y + dy,
                                     w, h);
@@ -567,6 +565,7 @@
public native void setInvalid(); + @Override
     public void invalidate() {
        if (isValid()) {
            setInvalid();
@@ -743,6 +742,7 @@
         * it could choose wrong loop (blit instead of blitbg,
         * for example).
         */
+        @Override
        public int getTransparency() {
            return transparency;
        }
@@ -756,6 +756,7 @@
             return (x < 0 || y < 0 || (x+w) > width || (y+h) > height);
         }
+ @Override
        public void flush() {
             /*
              * We need to invalidate the surface before disposing the
@@ -780,6 +781,7 @@
     private static LazyPipe lazypipe = new LazyPipe();
public static class LazyPipe extends ValidatePipe {
+        @Override
        public boolean validate(SunGraphics2D sg2d) {
            X11SurfaceData xsd = (X11SurfaceData) sg2d.surfaceData;
            if (!xsd.isDrawableValid()) {
Index: j2se/src/solaris/classes/sun/java2d/x11/X11VolatileSurfaceManager.java
===================================================================
--- j2se/src/solaris/classes/sun/java2d/x11/X11VolatileSurfaceManager.java      
(Revision 252)
+++ j2se/src/solaris/classes/sun/java2d/x11/X11VolatileSurfaceManager.java      
(Arbeitskopie)
@@ -103,6 +103,7 @@
         return sData;
     }
+ @Override
     protected boolean isConfigValid(GraphicsConfiguration gc) {
        // REMIND: we might be too paranoid here, requiring that
        // the GC be exactly the same as the original one.  The
Index: j2se/src/solaris/classes/sun/java2d/x11/X11SurfaceDataProxy.java
===================================================================
--- j2se/src/solaris/classes/sun/java2d/x11/X11SurfaceDataProxy.java    
(Revision 252)
+++ j2se/src/solaris/classes/sun/java2d/x11/X11SurfaceDataProxy.java    
(Arbeitskopie)
@@ -26,8 +26,6 @@
 package sun.java2d.x11;
import java.awt.Color;
-import java.awt.AlphaComposite;
-import java.awt.GraphicsConfiguration;
 import java.awt.Transparency;
 import java.awt.image.ColorModel;
 import java.awt.image.IndexColorModel;
Index: j2se/src/solaris/classes/sun/java2d/x11/X11PMBlitLoops.java
===================================================================
--- j2se/src/solaris/classes/sun/java2d/x11/X11PMBlitLoops.java (Revision 252)
+++ j2se/src/solaris/classes/sun/java2d/x11/X11PMBlitLoops.java (Arbeitskopie)
@@ -28,11 +28,9 @@
 import sun.awt.SunToolkit;
 import sun.java2d.loops.GraphicsPrimitive;
 import sun.java2d.loops.GraphicsPrimitiveMgr;
-import sun.java2d.loops.GraphicsPrimitiveProxy;
 import sun.java2d.loops.CompositeType;
 import sun.java2d.loops.SurfaceType;
 import sun.java2d.loops.Blit;
-import sun.java2d.loops.MaskBlit;
 import sun.java2d.pipe.Region;
 import sun.java2d.SurfaceData;
 import java.awt.Composite;
@@ -128,6 +126,7 @@
              dstType);
     }
+ @Override
     public void Blit(SurfaceData src, SurfaceData dst,
                      Composite comp, Region clip,
                      int sx, int sy,
@@ -178,6 +177,7 @@
            this.dstType = delegateDstType;
        }
+ @Override public void Blit(SurfaceData src, SurfaceData dst, Composite comp, Region clip, int sx, int sy, int dx, int dy, int w, int h)

Reply via email to