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.
- Access static fields like SunGraphics2D.XYZ rather than sg2d.XYZ.
Better style generally and avoids potential programming error (rarely
though).
- 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.
- 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
-- 
Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-0
USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
Geschäftsführer: Dr. James J. Hunt
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