Fix warnings by removing or suppressing warnings for:

o Unused variables and parameters
o Redundant inheritance, null chackes, and casts
o Hidden variables
o Deprecation
o Use of raw types

Review by: rjrjr, scottb



git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6468 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/Member.java b/dev/core/src/com/google/gwt/core/ext/soyc/Member.java
index 8a2b64e..a2ad370 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/Member.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/Member.java
@@ -35,7 +35,7 @@
   /**
    * Compares Members based on type and source name.
    */
-  Comparator<Member> TYPE_AND_SOURCE_NAME_COMPARATOR = new TypeAndSourceNameComparator();;
+  Comparator<Member> TYPE_AND_SOURCE_NAME_COMPARATOR = new TypeAndSourceNameComparator();
 
   /**
    * Returns the (possibly obfuscated) identifier used in the output.
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java b/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java
index 19cd368..a6542f8 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java
@@ -15,7 +15,6 @@
  */
 package com.google.gwt.core.ext.soyc;
 
-import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.util.Comparator;
 
@@ -31,7 +30,7 @@
   /**
    * Always use the singleton instance.
    */
-  private Object readResolve() throws ObjectStreamException {
+  private Object readResolve() {
     return Member.SOURCE_NAME_COMPARATOR;
   }
 }
\ No newline at end of file
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java b/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java
index a78746d..52dab69 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java
@@ -15,7 +15,6 @@
  */
 package com.google.gwt.core.ext.soyc;
 
-import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.util.Comparator;
 
@@ -36,7 +35,7 @@
   /**
    * Always use the singleton instance.
    */
-  private Object readResolve() throws ObjectStreamException {
+  private Object readResolve() {
     return Member.TYPE_AND_SOURCE_NAME_COMPARATOR;
   }
-}
\ No newline at end of file
+}
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java
index de9d906..7bfe100 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java
@@ -138,7 +138,7 @@
     builder.setLength(0);
   }
 
-  private void maybeFlushOutput() throws IOException {
+  private void maybeFlushOutput() {
     if (builder.length() > 8 * 1024) {
       flushOutput();
     }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java
index f3daae8..cc5e3e3 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java
@@ -17,7 +17,6 @@
 
 import com.google.gwt.core.ext.soyc.Story;
 
-import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.util.Comparator;
 
@@ -32,7 +31,7 @@
   /**
    * Use the singleton instance.
    */
-  private Object readResolve() throws ObjectStreamException {
+  private Object readResolve() {
     return StoryImpl.ID_COMPARATOR;
   }
-}
\ No newline at end of file
+}
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryRecorder.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryRecorder.java
index 9ad7601..c53e000 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryRecorder.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryRecorder.java
@@ -342,7 +342,7 @@
       assert !dependencyScope.isEmpty();
 
       SourceInfo gapInfo = dependencyScope.peek().info;
-      recordStory(gapInfo, fragment, newRange.length(), newRange, builder);
+      recordStory(gapInfo, fragment, newRange.length(), newRange);
 
       lastEnd += newRange.length();
     }
@@ -355,13 +355,13 @@
     if (lastEnd < toStore.getEnd()) {
       Range newRange = new Range(Math.max(lastEnd, toStore.getStart()),
           toStore.getEnd());
-      recordStory(rangeInfo.info, fragment, newRange.length(), newRange, builder);
+      recordStory(rangeInfo.info, fragment, newRange.length(), newRange);
       lastEnd += newRange.length();
     }
   }
 
   private void recordStory(SourceInfo info, int fragment, int length,
-      Range range, StringBuilder builder) throws IOException {
+      Range range) throws IOException {
     assert info != null;
     assert storyCache != null;
 
diff --git a/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java b/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java
index a3dcad3..298b9f8 100644
--- a/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java
+++ b/dev/core/src/com/google/gwt/core/linker/SymbolMapsLinker.java
@@ -114,6 +114,12 @@
 
   /**
    * Override to change the format of the symbol map.
+   * 
+   * @param logger the logger to write to
+   * @param result the compilation result
+   * @param pw the output PrintWriter
+   *
+   * @throws UnableToCompleteException if an error occurs
    */
   protected void doWriteSymbolMap(TreeLogger logger, CompilationResult result,
       PrintWriter pw) throws UnableToCompleteException {
diff --git a/dev/core/src/com/google/gwt/dev/GWTShell.java b/dev/core/src/com/google/gwt/dev/GWTShell.java
index b543211..9b41e00 100644
--- a/dev/core/src/com/google/gwt/dev/GWTShell.java
+++ b/dev/core/src/com/google/gwt/dev/GWTShell.java
@@ -34,7 +34,6 @@
 /**
  * The main executable class for the hosted mode shell.
  */
-@SuppressWarnings("deprecation")
 @Deprecated
 public class GWTShell extends DevModeBase {
 
@@ -90,8 +89,7 @@
    * Concrete class to implement all shell options.
    */
   protected static class ShellOptionsImpl extends HostedModeBaseOptionsImpl
-      implements HostedModeBaseOptions, WorkDirs, LegacyCompilerOptions,
-      OptionPortHosted {
+      implements WorkDirs, LegacyCompilerOptions {
     private int localWorkers;
     private File outDir;
 
@@ -183,6 +181,7 @@
 
   protected File outDir;
 
+  @SuppressWarnings("unused")
   public void restartServer(TreeLogger logger) throws UnableToCompleteException {
     // Unimplemented.
   }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java b/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java
index 5199a7c..a1c1133 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java
@@ -34,7 +34,7 @@
   protected boolean doEval(TreeLogger logger, PropertyOracle propertyOracle,
       TypeOracle typeOracle, String testType) throws UnableToCompleteException {
     for (Iterator<Condition> iter = getConditions().iterator(); iter.hasNext();) {
-      Condition condition = (Condition) iter.next();
+      Condition condition = iter.next();
       if (condition.isTrue(logger, propertyOracle, typeOracle, testType)) {
         return false;
       }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ModuleDefSchema.java b/dev/core/src/com/google/gwt/dev/cfg/ModuleDefSchema.java
index fb63205..fb1f2c0 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/ModuleDefSchema.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/ModuleDefSchema.java
@@ -350,6 +350,7 @@
       return null;
     }
 
+    @SuppressWarnings("unused")
     protected Schema __property_provider_begin(BindingProperty property) {
       return fChild = new PropertyProviderBodySchema();
     }
@@ -372,6 +373,7 @@
       property.setProvider(new PropertyProvider(fn.getBody().toSource()));
     }
 
+    @SuppressWarnings("unused")
     protected Schema __public_begin(String path, String includes,
         String excludes, String defaultExcludes, String caseSensitive) {
       return fChild = new IncludeExcludeSchema();
@@ -485,6 +487,7 @@
       return null;
     }
 
+    @SuppressWarnings("unused")
     protected Schema __set_property_begin(BindingProperty prop,
         PropertyValue[] value) throws UnableToCompleteException {
       bindingPropertyCondition = new ConditionAll();
@@ -537,6 +540,7 @@
      * Indicates which subdirectories contain translatable source without
      * necessarily adding a sourcepath entry.
      */
+    @SuppressWarnings("unused")
     protected Schema __source_begin(String path, String includes,
         String excludes, String defaultExcludes, String caseSensitive) {
       return fChild = new IncludeExcludeSchema();
@@ -561,6 +565,7 @@
      * Like adding a translatable source package, but such that it uses the
      * module's package itself as its sourcepath root entry.
      */
+    @SuppressWarnings("unused")
     protected Schema __super_source_begin(String path, String includes,
         String excludes, String defaultExcludes, String caseSensitive) {
       return fChild = new IncludeExcludeSchema();
@@ -1181,6 +1186,7 @@
     registerAttributeConverter(Class.class, classAttrCvt);
   }
 
+  @SuppressWarnings("unused")
   protected Schema __module_begin(NullableName renameTo) {
     return bodySchema;
   }
diff --git a/dev/core/src/com/google/gwt/dev/generator/ast/MethodCall.java b/dev/core/src/com/google/gwt/dev/generator/ast/MethodCall.java
index 4cbef67..9ed7a3d 100644
--- a/dev/core/src/com/google/gwt/dev/generator/ast/MethodCall.java
+++ b/dev/core/src/com/google/gwt/dev/generator/ast/MethodCall.java
@@ -23,10 +23,6 @@
  */
 public class MethodCall extends Expression {
 
-  private final List<String> arguments;
-
-  private final String name;
-
   /**
    * Creates a new MethodCall Expression.
    * 
@@ -37,9 +33,6 @@
    *            call.
    */
   public MethodCall(String name, List<String> arguments) {
-    this.name = name;
-    this.arguments = arguments;
-
     StringBuffer call = new StringBuffer(name + "(");
 
     if (arguments != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
index 126aab2..a6d177d 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
@@ -338,7 +338,7 @@
       }
       // if user agent is known or ie6, split overly large blocks
       boolean splitBlocks = userAgentProperty == null
-          || (userAgentProperty != null && "ie6".equals(userAgentProperty.getCurrentValue()));
+          || ("ie6".equals(userAgentProperty.getCurrentValue()));
 
       if (splitBlocks) {
         JsIEBlockSizeVisitor.exec(jsProgram);
@@ -692,7 +692,7 @@
   }
 
   private static MultipleDependencyGraphRecorder chooseDependencyRecorder(
-      boolean soycEnabled, OutputStream out) throws IOException {
+      boolean soycEnabled, OutputStream out) {
     MultipleDependencyGraphRecorder dependencyRecorder = CodeSplitter.NULL_RECORDER;
     if (soycEnabled) {
       dependencyRecorder = new DependencyRecorder(out);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java b/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java
index cb96475..ab985f1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java
@@ -66,8 +66,8 @@
     primaryCorrelations = new Correlation[numCorrelationAxes()];
   }
 
-  private SourceInfoCorrelation(SourceInfoCorrelation parent, String mutation,
-      String caller, SourceInfo... additionalAncestors) {
+  private SourceInfoCorrelation(SourceInfoCorrelation parent, String caller,
+      SourceInfo... additionalAncestors) {
     assert parent != null;
     assert caller != null;
     this.origin = parent.origin;
@@ -199,7 +199,7 @@
   public SourceInfoCorrelation makeChild(Class<?> caller, String description,
       SourceInfo... merge) {
     String callerName = caller == null ? "Unrecorded caller" : caller.getName();
-    return new SourceInfoCorrelation(this, description, callerName, merge);
+    return new SourceInfoCorrelation(this, callerName, merge);
   }
 
   /**
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
index c769783..d983dba 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
@@ -20,8 +20,7 @@
 /**
  * Java field definition.
  */
-public class JField extends JVariable implements CanBeStatic, HasEnclosingType,
-    CanHaveInitializer {
+public class JField extends JVariable implements CanBeStatic, HasEnclosingType {
 
   /**
    * Determines whether the variable is final, volatile, or neither.
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
index 413ac9c..e725118 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
@@ -20,8 +20,7 @@
 /**
  * Java local variable definition.
  */
-public class JLocal extends JVariable implements HasEnclosingMethod,
-    CanHaveInitializer {
+public class JLocal extends JVariable implements HasEnclosingMethod {
 
   private final JMethodBody enclosingMethodBody;
 
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java b/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java
index dfed1e2..ee3e874 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java
@@ -89,8 +89,6 @@
    */
   public class DeadCodeVisitor extends JModVisitor {
 
-    private JClassType currentClass;
-
     /**
      * Expressions whose result does not matter. A parent node should add any
      * children whose result does not matter to this set during the parent's
@@ -257,7 +255,7 @@
 
     @Override
     public void endVisit(JClassType x, Context ctx) {
-      currentClass = null;
+      // previously set currentClass = null;
     }
 
     @Override
@@ -581,7 +579,7 @@
 
     @Override
     public boolean visit(JClassType x, Context ctx) {
-      currentClass = x;
+      // previously set currentClass = x;
       return true;
     }
 
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/JsAbstractTextTransformer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/JsAbstractTextTransformer.java
index 8f738de..25ea9cd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/JsAbstractTextTransformer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/JsAbstractTextTransformer.java
@@ -61,21 +61,36 @@
     starts.add(newJs.length());
   }
 
+  // FIXME document parameters
   /**
    * Called if any operations need to be performed before all statements have
    * been processed.
+   * 
+   * @param newJs
+   * @param starts
+   * @param ends
    */
   protected void beginStatements(StringBuilder newJs, ArrayList<Integer> starts,
       ArrayList<Integer> ends) {
   }
 
+  // FIXME document
+  /**
+   * @param newJs
+   * @param ends
+   */
   protected void endStatement(StringBuilder newJs, ArrayList<Integer> ends) {
     ends.add(newJs.length());
   }
 
+  // FIXME document parameters
   /**
    * Called if any operations need to be performed after all statements have
    * been processed.
+   *
+   * @param newJs
+   * @param starts
+   * @param ends
    */
   protected void endStatements(StringBuilder newJs, ArrayList<Integer> starts,
       ArrayList<Integer> ends) {
diff --git a/dev/core/src/com/google/gwt/dev/js/JsConstructExpressionVisitor.java b/dev/core/src/com/google/gwt/dev/js/JsConstructExpressionVisitor.java
index 4432845..d31b1d2 100644
--- a/dev/core/src/com/google/gwt/dev/js/JsConstructExpressionVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/js/JsConstructExpressionVisitor.java
@@ -105,6 +105,7 @@
   /**
    * We only look at nodes that would not normally be surrounded by parentheses.
    */
+  @SuppressWarnings("cast")
   protected <T extends JsVisitable<T>> T doAccept(T node) {
     /*
      * Extra casts to Object to prevent 'inconvertible types' compile errors due
diff --git a/dev/core/src/com/google/gwt/dev/js/JsHoister.java b/dev/core/src/com/google/gwt/dev/js/JsHoister.java
index 09d2934..0faadde 100644
--- a/dev/core/src/com/google/gwt/dev/js/JsHoister.java
+++ b/dev/core/src/com/google/gwt/dev/js/JsHoister.java
@@ -71,7 +71,8 @@
     public void endVisit(JsArrayLiteral x, JsContext<JsExpression> ctx) {
       JsArrayLiteral toReturn = new JsArrayLiteral(x.getSourceInfo());
       List<JsExpression> expressions = toReturn.getExpressions();
-      for (JsExpression e : x.getExpressions()) {
+      int size = x.getExpressions().size();
+      while (size-- > 0) {
         expressions.add(0, stack.pop());
       }
       stack.push(toReturn);
@@ -120,7 +121,8 @@
     public void endVisit(JsInvocation x, JsContext<JsExpression> ctx) {
       JsInvocation toReturn = new JsInvocation(x.getSourceInfo());
       List<JsExpression> params = toReturn.getArguments();
-      for (JsExpression e : x.getArguments()) {
+      int size = x.getArguments().size();
+      while (size-- > 0) {
         params.add(0, stack.pop());
       }
       toReturn.setQualifier(stack.pop());
@@ -152,7 +154,8 @@
       JsNew toReturn = new JsNew(x.getSourceInfo());
 
       List<JsExpression> arguments = toReturn.getArguments();
-      for (JsExpression a : x.getArguments()) {
+      int size = x.getArguments().size();
+      while (size-- > 0) {
         arguments.add(0, stack.pop());
       }
       toReturn.setConstructorExpression(stack.pop());
@@ -174,7 +177,8 @@
       JsObjectLiteral toReturn = new JsObjectLiteral(x.getSourceInfo());
       List<JsPropertyInitializer> inits = toReturn.getPropertyInitializers();
 
-      for (JsPropertyInitializer init : x.getPropertyInitializers()) {
+      int size = x.getPropertyInitializers().size();
+      while (size-- > 0) {
         /*
          * JsPropertyInitializers are the only non-JsExpression objects that we
          * care about, so we just go ahead and create the objects in the loop,
diff --git a/dev/core/src/com/google/gwt/dev/js/ast/JsVisitor.java b/dev/core/src/com/google/gwt/dev/js/ast/JsVisitor.java
index 0769870..342f992 100644
--- a/dev/core/src/com/google/gwt/dev/js/ast/JsVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/js/ast/JsVisitor.java
@@ -90,6 +90,7 @@
     }
   };
 
+  @SuppressWarnings("cast")
   public final <T extends JsVisitable> T accept(T node) {
     // The following cast to T is needed for javac 1.5.0_13
     // as shipped on OS X
diff --git a/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java b/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java
index d3d8818..96dd267 100644
--- a/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java
+++ b/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java
@@ -1155,7 +1155,9 @@
       return false;
     }
 
-    // IOException thrown by subclasses
+    /**
+     * @throws IOException if a subclass encounters an I/O error
+     */
     public void send() throws IOException {
       throw new UnsupportedOperationException(getClass().getName()
           + " is a message format that can only be received.");
diff --git a/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java b/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
index 61e9cea..7a3f2df 100644
--- a/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
+++ b/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
@@ -554,9 +554,8 @@
               intfMethod.getName(), parameterTypes)) == null) {
             implementingType = implementingType.getSuperclass();
           }
-          assert implementingMethod != null && implementingType != null : "Unable to find virtual override for "
-              + intfMethod.toString();
-
+          // implementingmethod and implementingType cannot be null here
+          
           /*
            * Create a pseudo-method declaration for the interface method. This
            * should look something like
diff --git a/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java b/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java
index f4ca683..41c29d9 100644
--- a/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java
+++ b/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java
@@ -80,7 +80,6 @@
   private class DisconnectMethod extends ScriptableObject implements Function {
 
     private static final long serialVersionUID = -8799481412144519779L;
-    private static final int EXPECTED_NUM_ARGS = 0;
 
     public Object call(Context context, Scriptable scope, Scriptable thisObj,
         Object[] args) {
diff --git a/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java b/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java
index f1370f2..7eaca71 100644
--- a/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java
+++ b/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java
@@ -232,6 +232,7 @@
         result));
   }
 
+  @SuppressWarnings("unused")
   public ExceptionOrReturnValue invokeSpecial(BrowserChannel channel,
       SpecialDispatchId specialDispatchId, Value[] args) {
     throw new UnsupportedOperationException(
diff --git a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
index 73255a0..44678ab 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
@@ -527,6 +527,10 @@
     throw thrown;
   }
 
+  /**
+   * @param original the thrown exception
+   * @param exception the caught exception
+   */
   protected boolean isExceptionSame(Throwable original, Object exception) {
     // For most platforms, the null exception means we threw it.
     // IE overrides this.
diff --git a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
index 95c3063..08d40e4 100644
--- a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
+++ b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
@@ -627,6 +627,9 @@
     return false;
   }
 
+  /**
+   * @param search the search string, currently ignored.
+   */
   private void showFindResult(DefaultMutableTreeNode node, String search) {
     // TODO(jat): highlight search string
     TreePath path = new TreePath(node.getPath());
diff --git a/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java b/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java
index b2442d1..38d86a2 100644
--- a/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java
+++ b/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java
@@ -50,7 +50,7 @@
 
     switch (request.getDevModeRequest().getRequestType()) {
       case CAPABILITY_EXCHANGE:
-        return processCapabilityExchange(request.getRequestId());
+        return processCapabilityExchange();
 
       case RESTART_WEB_SERVER:
         return processRestartServer();
@@ -65,7 +65,7 @@
             + request.getDevModeRequest().getRequestType().name());
   }
 
-  private Response processCapabilityExchange(int requestId) {
+  private Response processCapabilityExchange() {
     CapabilityExchange.Builder capabilityExchangeBuilder = CapabilityExchange.newBuilder();
 
     CapabilityExchange.Capability.Builder c1Builder = CapabilityExchange.Capability.newBuilder();
diff --git a/dev/core/src/com/google/gwt/dev/util/TypeInfo.java b/dev/core/src/com/google/gwt/dev/util/TypeInfo.java
index 30e686fe..0b9f4a4 100644
--- a/dev/core/src/com/google/gwt/dev/util/TypeInfo.java
+++ b/dev/core/src/com/google/gwt/dev/util/TypeInfo.java
@@ -75,7 +75,7 @@
       return intf.getDeclaredMethod(methodName, paramTypes);
     } catch (NoSuchMethodException e) {
       if (includeInherited) {
-        Class[] superintfs = intf.getInterfaces();
+        Class<?>[] superintfs = intf.getInterfaces();
         for (int i = 0; i < superintfs.length; i++) {
           Method method = getInterfaceMethod(superintfs[i], methodName,
             paramTypes, true);
@@ -135,7 +135,7 @@
     // Arrays
     //
     if (type.isArray()) {
-      Class componentType = type.getComponentType();
+      Class<?> componentType = type.getComponentType();
       return getSourceRepresentation(componentType) + "[]";
     }
 
diff --git a/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java b/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java
index d128e8d..f84d64b 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java
@@ -267,6 +267,11 @@
    * @deprecated This method has been deprecated; override
    *             {@link #doCommitBranch(AbstractTreeLogger, com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)}
    *             instead.
+   *
+   * @param childBeingCommitted
+   * @param type
+   * @param msg
+   * @param caught
    */
   @Deprecated
   protected final void doCommitBranch(AbstractTreeLogger childBeingCommitted,
@@ -285,6 +290,11 @@
    * @deprecated This method has been deprecated; override
    *             {@link #branch(com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)
    *             instead.
+   *
+   * @param indexOfLogEntryWithinParentLogger
+   * @param type
+   * @param msg
+   * @param caught
    */
   @Deprecated
   protected final void doLog(int indexOfLogEntryWithinParentLogger,
diff --git a/dev/core/src/com/google/gwt/dev/util/msg/FormatterForClass.java b/dev/core/src/com/google/gwt/dev/util/msg/FormatterForClass.java
index defadcb..162fd24 100644
--- a/dev/core/src/com/google/gwt/dev/util/msg/FormatterForClass.java
+++ b/dev/core/src/com/google/gwt/dev/util/msg/FormatterForClass.java
@@ -21,10 +21,10 @@
 public final class FormatterForClass extends Formatter {
 
   public String format(Object toFormat) {
-    return getNiceTypeName((Class) toFormat);
+    return getNiceTypeName((Class<?>) toFormat);
   }
 
-  private String getNiceTypeName(Class targetType) {
+  private String getNiceTypeName(Class<?> targetType) {
     // Screen out common cases.
     // Otherwise, just pass along the class name.
     if (targetType.isArray()) {
diff --git a/dev/core/src/com/google/gwt/dev/util/msg/Message.java b/dev/core/src/com/google/gwt/dev/util/msg/Message.java
index f6057cf..23e0cd8 100644
--- a/dev/core/src/com/google/gwt/dev/util/msg/Message.java
+++ b/dev/core/src/com/google/gwt/dev/util/msg/Message.java
@@ -84,34 +84,66 @@
     this.minChars = minNumChars;
   }
 
+  /**
+   * @param c a Class
+   * @return a suitable Formatter
+   */
   protected final Formatter getFormatter(Class c) {
     return FMT_CLASS;
   }
 
+  /**
+   * @param f a File
+   * @return a suitable Formatter
+   */
   protected final Formatter getFormatter(File f) {
     return FMT_FILE;
   }
 
+  /**
+   * @param i an Integer
+   * @return a suitable Formatter
+   */
   protected final Formatter getFormatter(Integer i) {
     return FMT_INTEGER;
   }
 
+  /**
+   * @param l a Long
+   * @return a suitable Formatter
+   */
   protected Formatter getFormatter(Long l) {
     return FMT_LONG;
   }
 
+  /**
+   * @param m a Method
+   * @return a suitable Formatter
+   */
   protected final Formatter getFormatter(Method m) {
     return FMT_METHOD;
   }
 
+  /**
+   * @param s a String
+   * @return a suitable Formatter
+   */
   protected final Formatter getFormatter(String s) {
     return FMT_STRING;
   }
 
+  /**
+   * @param sa a String array
+   * @return a suitable Formatter
+   */
   protected final Formatter getFormatter(String[] sa) {
     return FMT_STRING_ARRAY;
   }
 
+  /**
+   * @param u a URL
+   * @return a suitable Formatter
+   */
   protected final Formatter getFormatter(URL u) {
     return FMT_URL;
   }
diff --git a/dev/core/src/com/google/gwt/dev/util/xml/HandlerClassInfo.java b/dev/core/src/com/google/gwt/dev/util/xml/HandlerClassInfo.java
index 67aba72..05766af 100644
--- a/dev/core/src/com/google/gwt/dev/util/xml/HandlerClassInfo.java
+++ b/dev/core/src/com/google/gwt/dev/util/xml/HandlerClassInfo.java
@@ -24,18 +24,19 @@
  */
 public class HandlerClassInfo {
   private static final HandlerMethod[] EMPTY_ARRAY_HANDLERMETHOD = new HandlerMethod[0];
-  private static Map sClassInfoMap = new HashMap();
+  private static Map<Class<?>,HandlerClassInfo> sClassInfoMap =
+    new HashMap<Class<?>,HandlerClassInfo>();
 
-  public static synchronized HandlerClassInfo getClassInfo(Class c) {
+  public static synchronized HandlerClassInfo getClassInfo(Class<?> c) {
     if (sClassInfoMap.containsKey(c)) {
-      return (HandlerClassInfo) sClassInfoMap.get(c);
+      return sClassInfoMap.get(c);
     } else {
       throw new RuntimeException("The schema class '" + c.getName()
           + "' should have been registered prior to parsing");
     }
   }
 
-  public static synchronized void registerClass(Class c) {
+  public static synchronized void registerClass(Class<?> c) {
     if (sClassInfoMap.containsKey(c)) {
       return;
     }
@@ -48,8 +49,8 @@
     sClassInfoMap.put(c, classInfo);
   }
 
-  private static HandlerClassInfo createClassInfo(Class c) {
-    Map namedHandlerMethods = new HashMap();
+  private static HandlerClassInfo createClassInfo(Class<?> c) {
+    Map<String,HandlerMethod> namedHandlerMethods = new HashMap<String,HandlerMethod>();
     try {
       loadClassInfoRecursive(namedHandlerMethods, c);
     } catch (Exception e) {
@@ -60,7 +61,8 @@
     return classInfo;
   }
 
-  private static void loadClassInfoRecursive(Map namedHandlerMethods, Class c) {
+  private static void loadClassInfoRecursive(Map<String,HandlerMethod> namedHandlerMethods,
+      Class<?> c) {
     if (!Schema.class.isAssignableFrom(c)) {
       // Have gone up as far as we can go.
       //
@@ -84,35 +86,34 @@
 
     // Recurse into superclass.
     //
-    Class superclass = c.getSuperclass();
+    Class<?> superclass = c.getSuperclass();
     if (superclass != null) {
       loadClassInfoRecursive(namedHandlerMethods, superclass);
     }
   }
 
-  private final Map namedHandlerMethods;
+  private final Map<String,HandlerMethod> namedHandlerMethods;
 
   // Nobody else can create one.
-  private HandlerClassInfo(Map namedHandlerMethods) {
+  private HandlerClassInfo(Map<String,HandlerMethod> namedHandlerMethods) {
     this.namedHandlerMethods = namedHandlerMethods;
   }
 
   public HandlerMethod getEndMethod(String localName) {
     String methodName = "__" + localName.replace('-', '_');
-    return (HandlerMethod) namedHandlerMethods.get(methodName + "_end");
+    return namedHandlerMethods.get(methodName + "_end");
   }
 
   public HandlerMethod[] getHandlerMethods() {
-    return (HandlerMethod[]) namedHandlerMethods.values().toArray(
-        EMPTY_ARRAY_HANDLERMETHOD);
+    return namedHandlerMethods.values().toArray(EMPTY_ARRAY_HANDLERMETHOD);
   }
 
   public HandlerMethod getStartMethod(String localName) {
     String methodName = "__" + localName.replace('-', '_');
-    return (HandlerMethod) namedHandlerMethods.get(methodName + "_begin");
+    return namedHandlerMethods.get(methodName + "_begin");
   }
 
   public HandlerMethod getTextMethod() {
-    return (HandlerMethod) namedHandlerMethods.get("__text");
+    return namedHandlerMethods.get("__text");
   }
 }
diff --git a/dev/core/src/com/google/gwt/dev/util/xml/HandlerMethod.java b/dev/core/src/com/google/gwt/dev/util/xml/HandlerMethod.java
index 5c0b80d..4e475c0 100644
--- a/dev/core/src/com/google/gwt/dev/util/xml/HandlerMethod.java
+++ b/dev/core/src/com/google/gwt/dev/util/xml/HandlerMethod.java
@@ -107,7 +107,7 @@
 
       // Can the corresponding element have arbitrary children?
       //
-      Class returnType = method.getReturnType();
+      Class<?> returnType = method.getReturnType();
       boolean arbitraryChildren = false;
       if (type == TYPE_BEGIN) {
         if (Schema.class.isAssignableFrom(returnType)) {
@@ -115,7 +115,7 @@
 
           // Also, we need to register this schema type.
           //
-          ReflectiveParser.registerSchemaLevel(returnType);
+          ReflectiveParser.registerSchemaLevel((Class<? extends Schema>) returnType);
 
         } else if (returnType.equals(Void.TYPE)) {
           arbitraryChildren = true;
@@ -131,7 +131,7 @@
       // Create handler args.
       //
       if (type == TYPE_TEXT) {
-        Class[] paramTypes = method.getParameterTypes();
+        Class<?>[] paramTypes = method.getParameterTypes();
         if (paramTypes.length != 1 || !String.class.equals(paramTypes[0])) {
           throw new IllegalArgumentException(
               "__text handlers must have exactly one String parameter");
@@ -142,8 +142,8 @@
         //
         return new HandlerMethod(method, type, false, EMPTY_HANDLERPARAMS);
       } else {
-        Class[] paramTypes = method.getParameterTypes();
-        List handlerParams = new ArrayList();
+        Class<?>[] paramTypes = method.getParameterTypes();
+        List<HandlerParam> handlerParams = new ArrayList<HandlerParam>();
         for (int i = 0, n = paramTypes.length; i < n; ++i) {
           HandlerParam handlerParam = HandlerParam.create(method,
               normalizedTagName, i);
@@ -155,7 +155,7 @@
           }
         }
 
-        HandlerParam[] hpa = (HandlerParam[]) handlerParams.toArray(EMPTY_HANDLERPARAMS);
+        HandlerParam[] hpa = handlerParams.toArray(EMPTY_HANDLERPARAMS);
         return new HandlerMethod(method, type, arbitraryChildren, hpa);
       }
     } catch (Exception e) {
diff --git a/dev/core/src/com/google/gwt/dev/util/xml/HandlerParam.java b/dev/core/src/com/google/gwt/dev/util/xml/HandlerParam.java
index 84cde52..f17b341 100644
--- a/dev/core/src/com/google/gwt/dev/util/xml/HandlerParam.java
+++ b/dev/core/src/com/google/gwt/dev/util/xml/HandlerParam.java
@@ -29,7 +29,7 @@
    */
   public static HandlerParam create(Method method, String normalizedTagName,
       int paramIndex) {
-    Class paramType = method.getParameterTypes()[paramIndex];
+    Class<?> paramType = method.getParameterTypes()[paramIndex];
     Field[] fields = method.getDeclaringClass().getDeclaredFields();
     String fieldNamePrefix = normalizedTagName + "_" + (paramIndex + 1);
     Field matchingField = null;
@@ -78,13 +78,13 @@
     return handlerParam;
   }
 
-  private final Class paramType;
+  private final Class<?> paramType;
 
   private final Field metaField;
 
   private final String normalizedAttrName;
 
-  private HandlerParam(Class paramType, Field metaField,
+  private HandlerParam(Class<?> paramType, Field metaField,
       String normalizedAttrName) {
     this.paramType = paramType;
     this.metaField = metaField;
diff --git a/dev/core/src/com/google/gwt/dev/util/xml/Schema.java b/dev/core/src/com/google/gwt/dev/util/xml/Schema.java
index bf9d044..f245a4c 100644
--- a/dev/core/src/com/google/gwt/dev/util/xml/Schema.java
+++ b/dev/core/src/com/google/gwt/dev/util/xml/Schema.java
@@ -26,7 +26,8 @@
  */
 public abstract class Schema {
 
-  private final Map convertersByType = new HashMap();
+  private final Map<Class<?>, AttributeConverter> convertersByType =
+    new HashMap<Class<?>, AttributeConverter>();
 
   private Schema parent;
 
@@ -37,7 +38,7 @@
    * specified type.
    */
   public AttributeConverter getAttributeConverter(Class type) {
-    AttributeConverter converter = (AttributeConverter) convertersByType.get(type);
+    AttributeConverter converter = convertersByType.get(type);
     if (converter != null) {
       return converter;
     } else if (parent != null) {
diff --git a/dev/core/src/com/google/gwt/util/tools/Utility.java b/dev/core/src/com/google/gwt/util/tools/Utility.java
index 8c9a339..c0fc6e2 100644
--- a/dev/core/src/com/google/gwt/util/tools/Utility.java
+++ b/dev/core/src/com/google/gwt/util/tools/Utility.java
@@ -41,9 +41,6 @@
  */
 public final class Utility {
 
-  private static final String GWT_TMP_DIR = "gwt-tmp";
-
-  private static String sDevJarName = null;
   private static String sInstallPath = null;
 
   /**
@@ -239,9 +236,8 @@
    * Creates a randomly-named temporary directory.
    * 
    * @param baseDir base directory to contain the new directory. May be
-   *          {@code null}, in which case a subdirectory under the
-   *          {@code java.io.tmpdir} system property, named by
-   *          {@link #GWT_TMP_DIR}, will be used.
+   *          {@code null}, in which case the directory given by the
+   *          {@code java.io.tmpdir} system property will be used.
    * @param prefix the initial characters of the new directory name
    * @return a newly-created temporary directory; the caller must delete this
    *          directory (either when done or on VM exit)
@@ -340,7 +336,6 @@
                 + devJarFile.getCanonicalPath()
                 + " does not appear to be a valid file");
           }
-          sDevJarName = devJarFile.getName();
 
           String dirPath = jarPath.substring(0, jarPath.lastIndexOf('/') + 1);
           File installDirFile = new File(URI.create(dirPath));
@@ -361,10 +356,8 @@
         int pos = override.lastIndexOf('/');
         if (pos < 0) {
           sInstallPath = "";
-          sDevJarName = override;
         } else {
           sInstallPath = override.substring(0, pos);
-          sDevJarName = override.substring(pos + 1);
         }
       }
     } catch (IOException e) {
diff --git a/user/src/com/google/gwt/benchmarks/client/impl/BenchmarkResults.java b/user/src/com/google/gwt/benchmarks/client/impl/BenchmarkResults.java
index fe4c4f4..26e6c6b 100644
--- a/user/src/com/google/gwt/benchmarks/client/impl/BenchmarkResults.java
+++ b/user/src/com/google/gwt/benchmarks/client/impl/BenchmarkResults.java
@@ -16,7 +16,6 @@
 package com.google.gwt.benchmarks.client.impl;
 
 import com.google.gwt.junit.client.impl.JUnitResult;
-import com.google.gwt.user.client.rpc.IsSerializable;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -34,7 +33,7 @@
  * @see com.google.gwt.junit.JUnitShell
  * @see com.google.gwt.benchmarks.BenchmarkReport
  */
-public class BenchmarkResults extends JUnitResult implements IsSerializable {
+public class BenchmarkResults extends JUnitResult {
 
   /**
    * The URL of the document on the browser (document.location). This is used to
diff --git a/user/src/com/google/gwt/core/client/GWT.java b/user/src/com/google/gwt/core/client/GWT.java
index 2028019..71af4b4 100644
--- a/user/src/com/google/gwt/core/client/GWT.java
+++ b/user/src/com/google/gwt/core/client/GWT.java
@@ -209,6 +209,7 @@
    * supplied with a class literal. No two runAsync calls in the same program
    * should use the same name.
    */
+  @SuppressWarnings("unused") // parameter will be used following replacement
   public static void runAsync(Class<?> name, RunAsyncCallback callback) {
     runAsyncWithoutCodeSplitting(callback);
   }
diff --git a/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java b/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java
index 1847972..b7e70cf 100644
--- a/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java
+++ b/user/src/com/google/gwt/core/client/impl/StackTraceCreator.java
@@ -86,6 +86,8 @@
     /**
      * Attempt to infer the stack from an unknown JavaScriptObject that had been
      * thrown. The default implementation just returns an empty array.
+     * 
+     * @param e a JavaScriptObject
      */
     public JsArrayString inferFrom(JavaScriptObject e) {
       return JavaScriptObject.createArray().cast();
diff --git a/user/src/com/google/gwt/core/client/impl/StringBuilderImpl.java b/user/src/com/google/gwt/core/client/impl/StringBuilderImpl.java
index 81a55d2..068da48 100644
--- a/user/src/com/google/gwt/core/client/impl/StringBuilderImpl.java
+++ b/user/src/com/google/gwt/core/client/impl/StringBuilderImpl.java
@@ -156,7 +156,7 @@
     }
     int appendLength = toAppend.length();
     if (appendLength > 0) {
-      stringArray[arrayLen++] = toAppend == null ? "null" : toAppend;
+      stringArray[arrayLen++] = toAppend;
       stringLength += appendLength;
       /*
        * If we hit 1k elements, let's do a join to reduce the array size. This
diff --git a/user/src/com/google/gwt/dom/client/Style.java b/user/src/com/google/gwt/dom/client/Style.java
index 31f2828..3b16c6a 100644
--- a/user/src/com/google/gwt/dom/client/Style.java
+++ b/user/src/com/google/gwt/dom/client/Style.java
@@ -113,6 +113,11 @@
         return BORDER_STYLE_DASHED;
       }
     },
+    HIDDEN {
+      public String getCssName() {
+        return BORDER_STYLE_HIDDEN;
+      }
+    },
     SOLID {
       public String getCssName() {
         return BORDER_STYLE_SOLID;
diff --git a/user/src/com/google/gwt/i18n/rebind/AbstractResource.java b/user/src/com/google/gwt/i18n/rebind/AbstractResource.java
index b6c902a..51058a7 100644
--- a/user/src/com/google/gwt/i18n/rebind/AbstractResource.java
+++ b/user/src/com/google/gwt/i18n/rebind/AbstractResource.java
@@ -92,7 +92,7 @@
    * Encapsulates an ordered set of resources to search for translations.
    */
   public static class ResourceList extends AbstractList<AbstractResource>
-      implements List<AbstractResource>, Set<AbstractResource> {
+      implements Set<AbstractResource> {
 
     private List<AbstractResource> list = new ArrayList<AbstractResource>();
 
@@ -349,6 +349,9 @@
     this.matchLocale = matchLocale;
   }
   
+  /**
+   * @param key
+   */
   public Collection<String> getExtensions(String key) {
     return new ArrayList<String>();
   }
diff --git a/user/src/com/google/gwt/junit/JUnitMessageQueue.java b/user/src/com/google/gwt/junit/JUnitMessageQueue.java
index c5a2d10..4662c5a 100644
--- a/user/src/com/google/gwt/junit/JUnitMessageQueue.java
+++ b/user/src/com/google/gwt/junit/JUnitMessageQueue.java
@@ -187,7 +187,7 @@
         throw new IllegalArgumentException("results cannot be null");
       }
       userAgents.add(userAgent);
-      ClientStatus clientStatus = ensureClientStatus(clientId);
+      ensureClientStatus(clientId);
 
       // Cache the test results.
       for (Map.Entry<TestInfo, JUnitResult> entry : results.entrySet()) {
diff --git a/user/src/com/google/gwt/layout/client/LayoutImpl.java b/user/src/com/google/gwt/layout/client/LayoutImpl.java
index 2d43e2d..904d975 100644
--- a/user/src/com/google/gwt/layout/client/LayoutImpl.java
+++ b/user/src/com/google/gwt/layout/client/LayoutImpl.java
@@ -92,6 +92,9 @@
     style.setBottom(0, PX);
   }
 
+  /**
+   * @param parent the parent element
+   */
   public void finalizeLayout(Element parent) {
   }
 
@@ -174,10 +177,12 @@
     }
   }
 
+  @SuppressWarnings("unused")
   public void onAttach(Element parent) {
     // Do nothing. This exists only to help LayoutImplIE6 avoid memory leaks.
   }
 
+  @SuppressWarnings("unused")
   public void onDetach(Element parent) {
     // Do nothing. This exists only to help LayoutImplIE6 avoid memory leaks.
   }
diff --git a/user/src/com/google/gwt/layout/client/LayoutImplIE6.java b/user/src/com/google/gwt/layout/client/LayoutImplIE6.java
index 53f6287..ea00561 100644
--- a/user/src/com/google/gwt/layout/client/LayoutImplIE6.java
+++ b/user/src/com/google/gwt/layout/client/LayoutImplIE6.java
@@ -74,6 +74,7 @@
     return styleRuler;
   }
 
+  @SuppressWarnings("unused") // called from JSNI
   private static void hookWindowResize(final Element elem) {
     Window.addResizeHandler(new ResizeHandler() {
       public void onResize(ResizeEvent event) {
@@ -82,6 +83,7 @@
     });
   }
 
+  @SuppressWarnings("unused") // called from JSNI
   private static native void measureDecoration(Element elem) /*-{
     var ruler = elem.__styleRuler;
     var inner = ruler.children[0];
@@ -283,6 +285,8 @@
     ruler.onresize = null;
   }-*/;
 
+
+  @SuppressWarnings("unused") // called from JSNI
   private void resizeHandler(Element parent) {
     resizeHandler(parent, false);
   }
diff --git a/user/src/com/google/gwt/resources/css/ast/CssCompilerException.java b/user/src/com/google/gwt/resources/css/ast/CssCompilerException.java
index 044d306..f6a05bd 100644
--- a/user/src/com/google/gwt/resources/css/ast/CssCompilerException.java
+++ b/user/src/com/google/gwt/resources/css/ast/CssCompilerException.java
@@ -27,6 +27,7 @@
     super(message, cause);
   }
   
+  // FIXME - what does this do?
   void addNode(CssNode node) {
   }
 }
diff --git a/user/src/com/google/gwt/resources/css/ast/CssVisitor.java b/user/src/com/google/gwt/resources/css/ast/CssVisitor.java
index a525be0..15012a6 100644
--- a/user/src/com/google/gwt/resources/css/ast/CssVisitor.java
+++ b/user/src/com/google/gwt/resources/css/ast/CssVisitor.java
@@ -63,93 +63,210 @@
     doAcceptWithInsertRemove(nodes);
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssDef x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssEval x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssExternalSelectors x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssIf x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssMediaRule x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssNoFlip x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssPageRule x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssProperty x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssRule x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssSelector x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssSprite x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssStylesheet x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   */
   public void endVisit(CssUrl x, Context ctx) {
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssDef x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssEval x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssExternalSelectors x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssIf x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssMediaRule x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssNoFlip x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssPageRule x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssProperty x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssRule x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssSelector x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssSprite x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssStylesheet x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x the node being visited
+   * @param ctx the context for the visit
+   * @return
+   */
   public boolean visit(CssUrl x, Context ctx) {
     return true;
   }
diff --git a/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java b/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java
index a18597e..d668a59 100644
--- a/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java
+++ b/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java
@@ -246,9 +246,18 @@
       TreeLogger logger, GeneratorContext context, JClassType resourceBundleType)
       throws UnableToCompleteException;
 
+  // FIXME - document params
   /**
    * Provides a hook for subtypes to add additional fields or requirements to
    * the bundle.
+   * 
+   * @param logger
+   * @param contect
+   * @param context
+   * @param fields
+   * @param requirements
+   *
+   * @throws UnableToCompleteException if an error occurs.
    */
   protected void doAddFieldsAndRequirements(TreeLogger logger,
       GeneratorContext context, ClientBundleFields fields,
@@ -257,6 +266,8 @@
 
   /**
    * Provides a hook for finalizing generated resources.
+   *
+   * @throws UnableToCompleteException if an error occurs.
    */
   protected void doFinish() throws UnableToCompleteException {
   }
@@ -389,7 +400,7 @@
 
       try {
         Class<? extends ResourceGenerator> clazz = findResourceGenerator(
-            logger, typeOracle, m);
+            logger, m);
         List<JMethod> generatorMethods;
         if (toReturn.containsKey(clazz)) {
           generatorMethods = toReturn.get(clazz);
@@ -416,8 +427,7 @@
    * provide an implementation of the method.
    */
   private Class<? extends ResourceGenerator> findResourceGenerator(
-      TreeLogger logger, TypeOracle typeOracle, JMethod method)
-      throws UnableToCompleteException {
+      TreeLogger logger, JMethod method) throws UnableToCompleteException {
     JClassType resourceType = method.getReturnType().isClassOrInterface();
     assert resourceType != null;
 
@@ -458,6 +468,8 @@
   /**
    * Given a user-defined type name, determine the type name for the generated
    * class based on accumulated requirements.
+   * 
+   * @throws UnableToCompleteException if an error occurs.
    */
   private String generateSimpleSourceName(TreeLogger logger,
       ResourceContext context, RequirementsImpl requirements)
@@ -555,6 +567,15 @@
     throw new UnableToCompleteException();
   }
 
+  // FIXME - document
+  /**
+   * @param logger
+   * @param createdClassName
+   * @param sw
+   * @param taskList
+   * 
+   * @throws UnableToCompleteException if an error occurs
+   */
   private void writeMapMethods(TreeLogger logger, String createdClassName,
       SourceWriter sw,
       Map<Class<? extends ResourceGenerator>, List<JMethod>> taskList)
diff --git a/user/src/com/google/gwt/resources/rebind/context/AbstractResourceContext.java b/user/src/com/google/gwt/resources/rebind/context/AbstractResourceContext.java
index 100d757..5058147 100644
--- a/user/src/com/google/gwt/resources/rebind/context/AbstractResourceContext.java
+++ b/user/src/com/google/gwt/resources/rebind/context/AbstractResourceContext.java
@@ -69,7 +69,7 @@
     }
 
     toReturn = new HashMap<String, Object>();
-    toReturn.put(TYPE_ORACLE_RELOAD_COUNT_KEY, (Object) oracle.getReloadCount());
+    toReturn.put(TYPE_ORACLE_RELOAD_COUNT_KEY, oracle.getReloadCount());
     CACHES.put(oracle, toReturn);
     return toReturn;
   }
diff --git a/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java b/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java
index adf2871..5b853da 100644
--- a/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java
+++ b/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java
@@ -38,7 +38,6 @@
 import com.google.gwt.resources.client.CssResource.ImportedWithPrefix;
 import com.google.gwt.resources.client.CssResource.NotStrict;
 import com.google.gwt.resources.client.CssResource.Shared;
-import com.google.gwt.resources.client.CssResource.Strict;
 import com.google.gwt.resources.css.ClassRenamer;
 import com.google.gwt.resources.css.CssGenerationVisitor;
 import com.google.gwt.resources.css.DefsCollector;
@@ -424,7 +423,7 @@
 
     sw.println("public String getText() {");
     sw.indent();
-    boolean strict = isStrict(logger, context, method);
+    boolean strict = isStrict(logger, method);
     Map<JMethod, String> actualReplacements = new IdentityHashMap<JMethod, String>();
     String cssExpression = makeExpression(logger, context, cssResourceSubtype,
         stylesheetMap.get(method), replacementsWithPrefix, strict,
@@ -730,17 +729,18 @@
    * also perform some limited sanity-checking for the now-deprecated Strict
    * annotation.
    */
-  @SuppressWarnings("deprecation")
-  private boolean isStrict(TreeLogger logger, ResourceContext context,
-      JMethod method) {
-    Strict strictAnnotation = method.getAnnotation(Strict.class);
+  @SuppressWarnings("deprecation") // keep references to deprecated Strict annotation local
+  private boolean isStrict(TreeLogger logger, JMethod method) {
+    com.google.gwt.resources.client.CssResource.Strict strictAnnotation =
+      method.getAnnotation(com.google.gwt.resources.client.CssResource.Strict.class);
     NotStrict nonStrictAnnotation = method.getAnnotation(NotStrict.class);
     boolean strict = true;
 
     if (strictAnnotation != null && nonStrictAnnotation != null) {
       // Both annotations
       logger.log(TreeLogger.WARN, "Contradictory annotations "
-          + Strict.class.getName() + " and " + NotStrict.class.getName()
+          + com.google.gwt.resources.client.CssResource.Strict.class.getName()
+          + " and " + NotStrict.class.getName()
           + " applied to the CssResource accessor method; assuming strict");
 
     } else if (nonStrictAnnotation != null) {
diff --git a/user/src/com/google/gwt/rpc/client/ast/RpcCommandVisitor.java b/user/src/com/google/gwt/rpc/client/ast/RpcCommandVisitor.java
index 5d4f5a1..aeefec8 100644
--- a/user/src/com/google/gwt/rpc/client/ast/RpcCommandVisitor.java
+++ b/user/src/com/google/gwt/rpc/client/ast/RpcCommandVisitor.java
@@ -28,148 +28,302 @@
   public interface Context {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   */
   public final void accept(List<? extends RpcCommand> x) {
     doAccept(x);
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   */
   public final RpcCommand accept(RpcCommand x) {
     return doAccept(x);
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   */
   public final void accept(RpcCommand[] x) {
     doAccept(x);
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(ArrayValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(BooleanValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(ByteValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(CharValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(DoubleValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(EnumValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(FloatValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(InstantiateCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(IntValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(InvokeCustomFieldSerializerCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(LongValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(NullValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(ReturnCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(SetCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(ShortValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(StringValueCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public void endVisit(ThrowCommand x, Context ctx) {
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(ArrayValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(BooleanValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(ByteValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(CharValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(DoubleValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(EnumValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(FloatValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(InstantiateCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(IntValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(InvokeCustomFieldSerializerCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(LongValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(NullValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(ReturnCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(SetCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(ShortValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(StringValueCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   * @param ctx the context for the visit
+   */
   public boolean visit(ThrowCommand x, Context ctx) {
     return true;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   */
   protected void doAccept(List<? extends RpcCommand> x) {
     for (RpcCommand c : x) {
       accept(c);
     }
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   */
   protected RpcCommand doAccept(RpcCommand x) {
     x.traverse(this, null);
     return x;
   }
 
+  /**
+   * @param x a node in an RpcCommand structure
+   */
   protected void doAccept(RpcCommand[] x) {
     for (RpcCommand c : x) {
       accept(c);
diff --git a/user/src/com/google/gwt/rpc/client/impl/ClientWriterFactory.java b/user/src/com/google/gwt/rpc/client/impl/ClientWriterFactory.java
index 2dca99a..fa69c9c 100644
--- a/user/src/com/google/gwt/rpc/client/impl/ClientWriterFactory.java
+++ b/user/src/com/google/gwt/rpc/client/impl/ClientWriterFactory.java
@@ -61,6 +61,7 @@
     return reader;
   }
 
+  @SuppressWarnings("unused") // used by super-source peer
   public static SerializationStreamWriter createWriter(
       TypeOverrides typeOverrides, CommandSink commandSink) {
     return new CommandServerSerializationStreamWriter(commandSink);
diff --git a/user/src/com/google/gwt/rpc/client/impl/CommandClientSerializationStreamWriter.java b/user/src/com/google/gwt/rpc/client/impl/CommandClientSerializationStreamWriter.java
index bfe709c..5756565 100644
--- a/user/src/com/google/gwt/rpc/client/impl/CommandClientSerializationStreamWriter.java
+++ b/user/src/com/google/gwt/rpc/client/impl/CommandClientSerializationStreamWriter.java
@@ -137,8 +137,7 @@
   }-*/;
 
   private ValueCommand invokeCustomSerializer(
-      SerializeFunction serializeFunction, Class<?> type, Object value)
-      throws SerializationException {
+      SerializeFunction serializeFunction, Class<?> type, Object value) {
     InvokeCustomFieldSerializerCommand command = new InvokeCustomFieldSerializerCommand(
         type, null, null);
     identityMap.put(value, command);
diff --git a/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java b/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java
index 30dc6e0..8f89687 100644
--- a/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java
+++ b/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java
@@ -58,6 +58,7 @@
 
   class Visitor extends RpcCommandVisitor {
 
+    @SuppressWarnings("hiding")
     private final Stack<Object> values = new Stack<Object>();
 
     @Override
diff --git a/user/src/com/google/gwt/rpc/server/WebModeClientOracle.java b/user/src/com/google/gwt/rpc/server/WebModeClientOracle.java
index 97e6262..0fbbdfc 100644
--- a/user/src/com/google/gwt/rpc/server/WebModeClientOracle.java
+++ b/user/src/com/google/gwt/rpc/server/WebModeClientOracle.java
@@ -22,7 +22,6 @@
 import java.io.InputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.io.ObjectStreamException;
 import java.io.OutputStream;
 import java.io.Serializable;
 import java.lang.reflect.Field;
@@ -428,7 +427,7 @@
    * Reinitialize the <code>operableFieldMap</code> field when the
    * WebModeClientOracle is reloaded.
    */
-  private Object readResolve() throws ObjectStreamException {
+  private Object readResolve() {
     operableFieldMap = new HashMap<Class<?>, Field[]>();
     return this;
   }
diff --git a/user/src/com/google/gwt/rpc/server/WebModePayloadSink.java b/user/src/com/google/gwt/rpc/server/WebModePayloadSink.java
index 6a7994c..b7718f1 100644
--- a/user/src/com/google/gwt/rpc/server/WebModePayloadSink.java
+++ b/user/src/com/google/gwt/rpc/server/WebModePayloadSink.java
@@ -695,8 +695,8 @@
           leafType = leafType.getComponentType();
         } while (leafType.getComponentType() != null);
         assert dims > 0;
-        assert leafType != null;
-
+        // leafType cannot be null here
+        
         String s = getJavahSignatureName(leafType);
         for (int i = 0; i < dims; ++i) {
           s = "_3" + s;
diff --git a/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java b/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java
index c336ee8..face22a 100644
--- a/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java
+++ b/user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java
@@ -106,8 +106,7 @@
     return DOCK_NAMES.get(elem.getLocalName());
   }
 
-  private JClassType getSplitLayoutPanelType(UiBinderWriter writer)
-      throws UnableToCompleteException {
+  private JClassType getSplitLayoutPanelType(UiBinderWriter writer) {
     try {
       return writer.getOracle().getType(SplitLayoutPanel.class.getName());
     } catch (NotFoundException e) {
diff --git a/user/src/com/google/gwt/uibinder/parsers/WidgetPlaceholderInterpreter.java b/user/src/com/google/gwt/uibinder/parsers/WidgetPlaceholderInterpreter.java
index 70f09c3..009ea0e 100644
--- a/user/src/com/google/gwt/uibinder/parsers/WidgetPlaceholderInterpreter.java
+++ b/user/src/com/google/gwt/uibinder/parsers/WidgetPlaceholderInterpreter.java
@@ -101,7 +101,7 @@
       return handleHasTextPlaceholder(elem, name, idHolder);
    }
 
-    return handleOpaqueWidgetPlaceholder(elem, name, idHolder);
+    return handleOpaqueWidgetPlaceholder(name, idHolder);
   }
 
   /**
@@ -175,8 +175,7 @@
     return openPlaceholder + bodyToken + closePlaceholder;
   }
 
-  private String handleOpaqueWidgetPlaceholder(XMLElement elem, String name,
-      String idHolder) throws UnableToCompleteException {
+  private String handleOpaqueWidgetPlaceholder(String name, String idHolder) {
     String tag = String.format("<span id='\" + %s + \"'></span>", idHolder);
     String placeholder = nextPlaceholder(name, "<span></span>", tag);
     return placeholder;
diff --git a/user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedType.java b/user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedType.java
index 4204f77..5ed2c36 100644
--- a/user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedType.java
+++ b/user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedType.java
@@ -21,8 +21,7 @@
  * Implementation of FieldWriter for fields whose type we haven't genereated
  * yet, e.g. locally defined CssResources.
  */
-class FieldWriterOfGeneratedType extends AbstractFieldWriter implements
-    FieldWriter {
+class FieldWriterOfGeneratedType extends AbstractFieldWriter {
 
   private final String typePackage;
   private final String typeName;
diff --git a/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java b/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
index 0b676ba..e9552d9 100644
--- a/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
+++ b/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
@@ -516,11 +516,9 @@
     }
 
     JClassType rtn = null;
-    if (pkg != null) {
-      rtn = pkg.findType(tagName);
-      if (rtn == null) {
-        die("No class matching \"%s\" in %s", tagName, ns);
-      }
+    rtn = pkg.findType(tagName);
+    if (rtn == null) {
+      die("No class matching \"%s\" in %s", tagName, ns);
     }
 
     return rtn;
diff --git a/user/src/com/google/gwt/uibinder/rebind/XMLElement.java b/user/src/com/google/gwt/uibinder/rebind/XMLElement.java
index 5c5595e..f538c3f 100644
--- a/user/src/com/google/gwt/uibinder/rebind/XMLElement.java
+++ b/user/src/com/google/gwt/uibinder/rebind/XMLElement.java
@@ -298,7 +298,7 @@
    */
   public String consumeInnerText(PostProcessingInterpreter<String> interpreter)
       throws UnableToCompleteException {
-    String text = consumeInnerTextEscapedAsHtmlStringLiteral((Interpreter<String>) interpreter);
+    String text = consumeInnerTextEscapedAsHtmlStringLiteral(interpreter);
     return interpreter.postProcess(text);
   }
 
diff --git a/user/src/com/google/gwt/uibinder/rebind/messages/MessagesWriter.java b/user/src/com/google/gwt/uibinder/rebind/messages/MessagesWriter.java
index 58e43cb..d99ff50 100644
--- a/user/src/com/google/gwt/uibinder/rebind/messages/MessagesWriter.java
+++ b/user/src/com/google/gwt/uibinder/rebind/messages/MessagesWriter.java
@@ -291,8 +291,7 @@
     return uri != null && uri.startsWith(getMessagesUri());
   }
 
-  private String declareMessage(XMLElement elem, String defaultMessage)
-      throws UnableToCompleteException {
+  private String declareMessage(XMLElement elem, String defaultMessage) {
     List<PlaceholderWriter> emptyList = Collections.emptyList();
     MessageWriter newMessage = newMessage(elem);
     newMessage.setDefaultMessage(defaultMessage);
diff --git a/user/src/com/google/gwt/uibinder/sample/client/HandlerDemo.java b/user/src/com/google/gwt/uibinder/sample/client/HandlerDemo.java
index 062f2e6..11f3b78 100644
--- a/user/src/com/google/gwt/uibinder/sample/client/HandlerDemo.java
+++ b/user/src/com/google/gwt/uibinder/sample/client/HandlerDemo.java
@@ -66,7 +66,8 @@
   }
 
   @UiHandler("buttonSubmit")
-  void doClickSubmit(ClickEvent event) {
+  @SuppressWarnings("unused") 
+  void doClickSubmit(ClickEvent ignored) {
     panelForm.submit();
   }
 
diff --git a/user/src/com/google/gwt/user/client/AsyncProxy.java b/user/src/com/google/gwt/user/client/AsyncProxy.java
index 91c7bad..418a649 100644
--- a/user/src/com/google/gwt/user/client/AsyncProxy.java
+++ b/user/src/com/google/gwt/user/client/AsyncProxy.java
@@ -170,6 +170,8 @@
     /**
      * This method will be invoked by the AsyncProxy after method playback is
      * complete.
+     * 
+     * @param instance the instance
      */
     public void onComplete(T instance) {
     }
@@ -187,6 +189,8 @@
      * This method will be called with the instance object before method replay
      * starts. This provides the developer with the opportunity to perform
      * secondary initialization of the backing object.
+     * 
+     * @param instance the instance
      */
     public void onInit(T instance) {
     }
diff --git a/user/src/com/google/gwt/user/client/impl/HistoryImpl.java b/user/src/com/google/gwt/user/client/impl/HistoryImpl.java
index bf3461a..4d42db0 100644
--- a/user/src/com/google/gwt/user/client/impl/HistoryImpl.java
+++ b/user/src/com/google/gwt/user/client/impl/HistoryImpl.java
@@ -49,6 +49,7 @@
    *             problem has been solved. It is now a no-op.
    */
   @Deprecated
+  @SuppressWarnings("unused")
   public static void setUpdateHashOnIE6(boolean updateHash) {
   }
 
@@ -146,6 +147,7 @@
     $wnd.location.hash = this.@com.google.gwt.user.client.impl.HistoryImpl::encodeFragment(Ljava/lang/String;)(historyToken);
   }-*/;
 
+  @SuppressWarnings("unused")
   protected void nativeUpdateOnEvent(String historyToken) {
     // Do nothing, the hash is already updated.
   }
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Boolean_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Boolean_CustomFieldSerializer.java
index e0ec21f..379ef0e 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Boolean_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Boolean_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Boolean_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Boolean instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Byte_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Byte_CustomFieldSerializer.java
index ecad46a..b10fa5d 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Byte_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Byte_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Byte_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Byte instance) {
     // No fields.
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Character_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Character_CustomFieldSerializer.java
index 9b42adc..3f7d085 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Character_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Character_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Character_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Character instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Double_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Double_CustomFieldSerializer.java
index a8fae5f..a7bc6cd 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Double_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Double_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Double_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Double instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Float_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Float_CustomFieldSerializer.java
index b4bbc61..f19e38c 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Float_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Float_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Float_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Float instance) {
     // No fields.
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Integer_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Integer_CustomFieldSerializer.java
index c31869d..9d01e79 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Integer_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Integer_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Integer_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Integer instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Long_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Long_CustomFieldSerializer.java
index 31053d7..c8075cf 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Long_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Long_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Long_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Long instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Short_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Short_CustomFieldSerializer.java
index 4068846..77935dd 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/Short_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/Short_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class Short_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Short instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/StackTraceElement_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/StackTraceElement_CustomFieldSerializer.java
index 26184ff..ea07f4b 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/StackTraceElement_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/StackTraceElement_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public final class StackTraceElement_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       StackTraceElement instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/lang/String_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/lang/String_CustomFieldSerializer.java
index e932ec7..93502a6 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/lang/String_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/lang/String_CustomFieldSerializer.java
@@ -24,6 +24,7 @@
  */
 public class String_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       String instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/sql/Date_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/sql/Date_CustomFieldSerializer.java
index abfa0b2..4e410a4 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/sql/Date_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/sql/Date_CustomFieldSerializer.java
@@ -28,6 +28,7 @@
  */
 public final class Date_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Date instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/sql/Time_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/sql/Time_CustomFieldSerializer.java
index a7c97f5..7c8c7e7 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/sql/Time_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/sql/Time_CustomFieldSerializer.java
@@ -28,6 +28,7 @@
  */
 public final class Time_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Time instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java b/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java
index eb4e4b8..12f1d17 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/util/Arrays.java
@@ -38,7 +38,7 @@
      * toArray() results the correct type, and can generate internal
      * ArrayStoreExceptions.
      */
-
+    @SuppressWarnings("unused")
     public static void deserialize(SerializationStreamReader streamReader,
         List instance) throws SerializationException {
       // Handled in instantiate.
diff --git a/user/src/com/google/gwt/user/client/rpc/core/java/util/Date_CustomFieldSerializer.java b/user/src/com/google/gwt/user/client/rpc/core/java/util/Date_CustomFieldSerializer.java
index 2741d2e..fd4949f 100644
--- a/user/src/com/google/gwt/user/client/rpc/core/java/util/Date_CustomFieldSerializer.java
+++ b/user/src/com/google/gwt/user/client/rpc/core/java/util/Date_CustomFieldSerializer.java
@@ -26,6 +26,7 @@
  */
 public final class Date_CustomFieldSerializer {
 
+  @SuppressWarnings("unused")
   public static void deserialize(SerializationStreamReader streamReader,
       Date instance) {
     // No fields
diff --git a/user/src/com/google/gwt/user/client/ui/HorizontalSplitPanel.java b/user/src/com/google/gwt/user/client/ui/HorizontalSplitPanel.java
index cd7ff74..90522d8 100644
--- a/user/src/com/google/gwt/user/client/ui/HorizontalSplitPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/HorizontalSplitPanel.java
@@ -144,6 +144,12 @@
       updateRightWidth(rightElem, newRightWidth);
     }
 
+    /**
+     * Implemented by subclasses.
+     *
+     * @param rightElem
+     * @param newRightWidth
+     */
     public void updateRightWidth(Element rightElem, int newRightWidth) {
       // No need to update the width of the right side; this will be
       // recomputed automatically by CSS. This is helpful, as we do not
@@ -155,6 +161,7 @@
   /**
    * The IE6 implementation for horizontal split panels.
    */
+  @SuppressWarnings("unused") // will be used by IE6 permutation
   private static class ImplIE6 extends Impl {
 
     private boolean isResizeInProgress = false;
@@ -311,6 +318,7 @@
    * The Safari implementation which owes its existence entirely to a single
    * WebKit bug: http://bugs.webkit.org/show_bug.cgi?id=9137.
    */
+  @SuppressWarnings("unused") // will be used by Safari permutation
   private static class ImplSafari extends Impl {
     @Override
     public void init(HorizontalSplitPanel panel) {
diff --git a/user/src/com/google/gwt/user/client/ui/PrefixTree.java b/user/src/com/google/gwt/user/client/ui/PrefixTree.java
index fe3bb2b..d5147ee 100644
--- a/user/src/com/google/gwt/user/client/ui/PrefixTree.java
+++ b/user/src/com/google/gwt/user/client/ui/PrefixTree.java
@@ -197,6 +197,7 @@
    *  @param s The String to make safe
    *  @return A safe version of <code>s</code>
    */
+  @SuppressWarnings("unused") // called from JSNI
   private static String safe(String s) {
     return ':' + s;
   }
@@ -207,6 +208,7 @@
    *  @param s A String returned from safe()
    *  @return The original String passed into safe()
    */
+  @SuppressWarnings("unused") // called from JSNI
   private static String unsafe(String s) {
     return s.substring(1);
   }
@@ -463,6 +465,7 @@
    * @param output the collection into which the prefixes will be dumped
    * @param prefix the prefix to filter with
    */
+  @SuppressWarnings("unused") // called from JSNI
   private void dump(Collection<String> output, String prefix) {
     for (String s : this) {
       output.add(prefix + s);
diff --git a/user/src/com/google/gwt/user/client/ui/RichTextArea.java b/user/src/com/google/gwt/user/client/ui/RichTextArea.java
index 28f6af0..2ac1715 100644
--- a/user/src/com/google/gwt/user/client/ui/RichTextArea.java
+++ b/user/src/com/google/gwt/user/client/ui/RichTextArea.java
@@ -16,7 +16,6 @@
 package com.google.gwt.user.client.ui;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.event.dom.client.HasAllMouseHandlers;
 import com.google.gwt.event.logical.shared.HasInitializeHandlers;
 import com.google.gwt.event.logical.shared.InitializeEvent;
 import com.google.gwt.event.logical.shared.InitializeHandler;
@@ -45,7 +44,7 @@
  */
 @SuppressWarnings("deprecation")
 public class RichTextArea extends FocusWidget implements HasHTML,
-    SourcesMouseEvents, HasAllMouseHandlers, HasInitializeHandlers {
+    HasInitializeHandlers {
 
   /**
    * <p>
diff --git a/user/src/com/google/gwt/user/client/ui/SuggestBox.java b/user/src/com/google/gwt/user/client/ui/SuggestBox.java
index 4962c92..b18ba72 100644
--- a/user/src/com/google/gwt/user/client/ui/SuggestBox.java
+++ b/user/src/com/google/gwt/user/client/ui/SuggestBox.java
@@ -217,6 +217,7 @@
    */
   private static class SuggestionMenuItem extends MenuItem {
 
+    @SuppressWarnings("hiding")
     private static final String STYLENAME_DEFAULT = "item";
 
     private Suggestion suggestion;
diff --git a/user/src/com/google/gwt/user/client/ui/TabLayoutPanel.java b/user/src/com/google/gwt/user/client/ui/TabLayoutPanel.java
index 81fdfee..cf72920 100644
--- a/user/src/com/google/gwt/user/client/ui/TabLayoutPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/TabLayoutPanel.java
@@ -60,7 +60,7 @@
  * - Update style mechanism (gwt-Tab, etc. not really sufficient).
  */
 public class TabLayoutPanel extends LayoutComposite implements HasWidgets,
-    RequiresResize, ProvidesResize, IndexedPanel,
+    ProvidesResize, IndexedPanel,
     HasBeforeSelectionHandlers<Integer>, HasSelectionHandlers<Integer> {
 
   private static final int BIG_ENOUGH_TO_NOT_WRAP = 16384;
diff --git a/user/src/com/google/gwt/user/client/ui/VerticalSplitPanel.java b/user/src/com/google/gwt/user/client/ui/VerticalSplitPanel.java
index 240f6b8..739e5ca 100644
--- a/user/src/com/google/gwt/user/client/ui/VerticalSplitPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/VerticalSplitPanel.java
@@ -105,6 +105,14 @@
           panel.getElement(BOTTOM), px, px + splitElemHeight, newBottomHeight);
     }
 
+    /**
+     * @param topElem
+     * @param splitElem
+     * @param bottomElem
+     * @param topHeight
+     * @param bottomTop
+     * @param bottomHeight
+     */
     protected void updateElements(Element topElem, Element splitElem,
         Element bottomElem, int topHeight, int bottomTop, int bottomHeight) {
       setHeight(topElem, topHeight + "px");
@@ -120,6 +128,7 @@
   /**
    * Provides an implementation for IE6/7 that relies on 100% length in CSS.
    */
+  @SuppressWarnings("unused") // will be used by IE6 permutation
   private static class ImplIE6 extends Impl {
 
     private static void expandToFitParentHorizontally(Element elem) {
diff --git a/user/src/com/google/gwt/user/client/ui/impl/PopupImpl.java b/user/src/com/google/gwt/user/client/ui/impl/PopupImpl.java
index d8897cc..f50b53a 100644
--- a/user/src/com/google/gwt/user/client/ui/impl/PopupImpl.java
+++ b/user/src/com/google/gwt/user/client/ui/impl/PopupImpl.java
@@ -35,16 +35,30 @@
     return DOM.getParent(popup);
   }
 
+  /**
+   * @param popup the popup
+   */
   public void onHide(Element popup) {
   }
 
+  /**
+   * @param popup the popup
+   */
   public void onShow(Element popup) {
   }
 
+  /**
+   * @param popup the popup
+   * @param rect the clip rect
+   */
   public void setClip(Element popup, String rect) {
     DOM.setStyleAttribute(popup, "clip", rect);
   }
 
+  /**
+   * @param popup the popup
+   * @param visible true if visible
+   */
   public void setVisible(Element popup, boolean visible) {
   }
 }
diff --git a/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java b/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java
index 97d40e1..81b9ccf 100644
--- a/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java
+++ b/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java
@@ -1,178 +1,184 @@
 /*

- * Copyright 2008 Google Inc.

- * 

- * Licensed under the Apache License, Version 2.0 (the "License"); you may not

- * use this file except in compliance with the License. You may obtain a copy of

- * the License at

- * 

- * http://www.apache.org/licenses/LICENSE-2.0

- * 

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT

- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the

- * License for the specific language governing permissions and limitations under

- * the License.

- */

-

-package com.google.gwt.user.datepicker.client;

-

-import com.google.gwt.core.client.GWT;

-import com.google.gwt.i18n.client.LocaleInfo;

-import com.google.gwt.i18n.client.constants.DateTimeConstants;

-

-import java.util.Date;

-

-/**

- * Useful utilities for creating views of a calendar.

- */

-public class CalendarUtil {

-

-  static DateTimeConstants intlConstants;

-

-  private static int firstDayOfWeekend;

-

-  private static int lastDayOfWeekend;

-  private static int startingDay;

-

-  static {

-    if (GWT.isClient()) {

-      intlConstants = LocaleInfo.getCurrentLocale().getDateTimeConstants();

-      // Finding the start and end of weekend

-      firstDayOfWeekend = Integer.parseInt(intlConstants.weekendRange()[0]) - 1;

-      lastDayOfWeekend = Integer.parseInt(intlConstants.weekendRange()[1]) - 1;

-      startingDay = Integer.parseInt(CalendarUtil.intlConstants.firstDayOfTheWeek()) - 1;

-    }

-  }

-

-  /**

-   * Adds the given number of days to a date.

-   * 

-   * @param date the date

-   * @param days number of days

-   */

-  public static void addDaysToDate(Date date, int days) {

-    date.setDate(date.getDate() + days);

-  }

-

-  /**

-   * Adds the given number of months to a date.

-   * 

-   * @param date the date

-   * @param months number of months

-   */

-  public static void addMonthsToDate(Date date, int months) {

-    if (months != 0) {

-      int month = date.getMonth();

-      int year = date.getYear();

-

-      int resultMonthCount = year * 12 + month + months;

-      int resultYear = resultMonthCount / 12;

-      int resultMonth = resultMonthCount - resultYear * 12;

-

-      date.setMonth(resultMonth);

-      date.setYear(resultYear);

-    }

-  }

-

-  /**

-   * Copies a date.

-   * 

-   * @param date the date

-   * @return the copy

-   */

-  public static Date copyDate(Date date) {

-    if (date == null) {

-      return null;

-    }

-    Date newDate = new Date();

-    newDate.setTime(date.getTime());

-    return newDate;

-  }

-

-  /**

-   * Returns the number of days between the two dates. Time is ignored.

-   * 

-   * @param start starting date

-   * @param finish ending date

-   * @return the different

-   */

-  public static int getDaysBetween(Date start, Date finish) {

-    // Convert the dates to the same time

-    start = copyDate(start);

-    resetTime(start);

-    finish = copyDate(finish);

-    resetTime(finish);

-

-    long aTime = start.getTime();

-    long bTime = finish.getTime();

-

-    long adjust = 60 * 60 * 1000;

-    adjust = (bTime > aTime) ? adjust : -adjust;

-

-    return (int) ((bTime - aTime + adjust) / (24 * 60 * 60 * 1000));

-  }

-

-  /**

-   * Returns the day of the week on which week starts in the current locale. The

-   * range between 0 for Sunday and 6 for Saturday.

-   * 

-   * @return the day of the week

-   */

-  public static int getStartingDayOfWeek() {

-    return startingDay;

-  }

-

-  /**

-   * Check if two dates represent the same date of the same year, even if they

-   * have different times.

-   * 

-   * @param date0 a date

-   * @param date1 a second date

-   * @return true if the dates are the same

-   */

-  public static boolean isSameDate(Date date0, Date date1) {

-    assert date0 != null : "date0 cannot be null";

-    assert date1 != null : "date1 cannot be null";

-    return date0.getYear() == date1.getYear()

-        && date0.getMonth() == date1.getMonth()

-        && date0.getDate() == date1.getDate();

-  }

-

-  /**

-   * Sets a date object to be at the beginning of the month and no time

-   * specified.

-   * 

-   * @param date the date

-   */

-  public static void setToFirstDayOfMonth(Date date) {

-    resetTime(date);

-    date.setDate(1);

-  }

-

-  /**

-   * Is a day in the week a weekend?

-   * 

-   * @param dayOfWeek day of week

-   * @return is the day of week a weekend?

-   */

-  static boolean isWeekend(int dayOfWeek) {

-    return dayOfWeek == firstDayOfWeekend || dayOfWeek == lastDayOfWeekend;

-  }

-

-  /**

-   * Resets the date to have no time modifiers.

-   * 

-   * @param date the date

-   */

-  private static void resetTime(Date date) {

-    long msec = date.getTime();

-    msec = (msec / 1000) * 1000;

-    date.setTime(msec);

-

-    // Daylight savings time occurs at midnight in some time zones, so we reset

-    // the time to noon instead.

-    date.setHours(12);

-    date.setMinutes(0);

-    date.setSeconds(0);

-  }

-}

+ * Copyright 2008 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.google.gwt.user.datepicker.client;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.i18n.client.LocaleInfo;
+import com.google.gwt.i18n.client.constants.DateTimeConstants;
+
+import java.util.Date;
+
+/**
+ * Useful utilities for creating views of a calendar.
+ */
+public class CalendarUtil {
+
+  static DateTimeConstants intlConstants;
+
+  private static int firstDayOfWeekend;
+
+  private static int lastDayOfWeekend;
+  private static int startingDay;
+
+  static {
+    if (GWT.isClient()) {
+      intlConstants = LocaleInfo.getCurrentLocale().getDateTimeConstants();
+      // Finding the start and end of weekend
+      firstDayOfWeekend = Integer.parseInt(intlConstants.weekendRange()[0]) - 1;
+      lastDayOfWeekend = Integer.parseInt(intlConstants.weekendRange()[1]) - 1;
+      startingDay = Integer.parseInt(CalendarUtil.intlConstants.firstDayOfTheWeek()) - 1;
+    }
+  }
+
+  /**
+   * Adds the given number of days to a date.
+   * 
+   * @param date the date
+   * @param days number of days
+   */
+  @SuppressWarnings("deprecation") // GWT requires Date
+  public static void addDaysToDate(Date date, int days) {
+    date.setDate(date.getDate() + days);
+  }
+
+  /**
+   * Adds the given number of months to a date.
+   * 
+   * @param date the date
+   * @param months number of months
+   */
+  @SuppressWarnings("deprecation") // GWT requires Date
+  public static void addMonthsToDate(Date date, int months) {
+    if (months != 0) {
+      int month = date.getMonth();
+      int year = date.getYear();
+
+      int resultMonthCount = year * 12 + month + months;
+      int resultYear = resultMonthCount / 12;
+      int resultMonth = resultMonthCount - resultYear * 12;
+
+      date.setMonth(resultMonth);
+      date.setYear(resultYear);
+    }
+  }
+
+  /**
+   * Copies a date.
+   * 
+   * @param date the date
+   * @return the copy
+   */
+  public static Date copyDate(Date date) {
+    if (date == null) {
+      return null;
+    }
+    Date newDate = new Date();
+    newDate.setTime(date.getTime());
+    return newDate;
+  }
+
+  /**
+   * Returns the number of days between the two dates. Time is ignored.
+   * 
+   * @param start starting date
+   * @param finish ending date
+   * @return the different
+   */
+  public static int getDaysBetween(Date start, Date finish) {
+    // Convert the dates to the same time
+    start = copyDate(start);
+    resetTime(start);
+    finish = copyDate(finish);
+    resetTime(finish);
+
+    long aTime = start.getTime();
+    long bTime = finish.getTime();
+
+    long adjust = 60 * 60 * 1000;
+    adjust = (bTime > aTime) ? adjust : -adjust;
+
+    return (int) ((bTime - aTime + adjust) / (24 * 60 * 60 * 1000));
+  }
+
+  /**
+   * Returns the day of the week on which week starts in the current locale. The
+   * range between 0 for Sunday and 6 for Saturday.
+   * 
+   * @return the day of the week
+   */
+  public static int getStartingDayOfWeek() {
+    return startingDay;
+  }
+
+  /**
+   * Check if two dates represent the same date of the same year, even if they
+   * have different times.
+   * 
+   * @param date0 a date
+   * @param date1 a second date
+   * @return true if the dates are the same
+   */
+  @SuppressWarnings("deprecation") // GWT requires Date
+  public static boolean isSameDate(Date date0, Date date1) {
+    assert date0 != null : "date0 cannot be null";
+    assert date1 != null : "date1 cannot be null";
+    return date0.getYear() == date1.getYear()
+        && date0.getMonth() == date1.getMonth()
+        && date0.getDate() == date1.getDate();
+  }
+
+  /**
+   * Sets a date object to be at the beginning of the month and no time
+   * specified.
+   * 
+   * @param date the date
+   */
+  @SuppressWarnings("deprecation") // GWT requires Date
+  public static void setToFirstDayOfMonth(Date date) {
+    resetTime(date);
+    date.setDate(1);
+  }
+
+  /**
+   * Is a day in the week a weekend?
+   * 
+   * @param dayOfWeek day of week
+   * @return is the day of week a weekend?
+   */
+  static boolean isWeekend(int dayOfWeek) {
+    return dayOfWeek == firstDayOfWeekend || dayOfWeek == lastDayOfWeekend;
+  }
+
+  /**
+   * Resets the date to have no time modifiers.
+   * 
+   * @param date the date
+   */
+  @SuppressWarnings("deprecation") // GWT requires Date
+  private static void resetTime(Date date) {
+    long msec = date.getTime();
+    msec = (msec / 1000) * 1000;
+    date.setTime(msec);
+
+    // Daylight savings time occurs at midnight in some time zones, so we reset
+    // the time to noon instead.
+    date.setHours(12);
+    date.setMinutes(0);
+    date.setSeconds(0);
+  }
+}
+
diff --git a/user/src/com/google/gwt/user/datepicker/client/CellGridImpl.java b/user/src/com/google/gwt/user/datepicker/client/CellGridImpl.java
index a1931f9..203bf90 100644
--- a/user/src/com/google/gwt/user/datepicker/client/CellGridImpl.java
+++ b/user/src/com/google/gwt/user/datepicker/client/CellGridImpl.java
@@ -107,14 +107,23 @@
       }

     }

 

+    /**

+     * @param enabled

+     */

     protected void onEnabled(boolean enabled) {

       updateStyle();

     }

 

+    /**

+     * @param highlighted

+     */

     protected void onHighlighted(boolean highlighted) {

       updateStyle();

     }

 

+    /**

+     * @param selected

+     */

     protected void onSelected(boolean selected) {

       updateStyle();

     }

diff --git a/user/src/com/google/gwt/user/rebind/rpc/FieldSerializerCreator.java b/user/src/com/google/gwt/user/rebind/rpc/FieldSerializerCreator.java
index 7a10004..254cea5 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/FieldSerializerCreator.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/FieldSerializerCreator.java
@@ -369,7 +369,7 @@
     if (isArray != null) {
       writeArrayDeserializationStatements(isArray);
     } else if (serializableClass.isEnum() != null) {
-      writeEnumDeserializationStatements(serializableClass.isEnum());
+      writeEnumDeserializationStatements();
     } else {
       writeClassDeserializationStatements();
     }
@@ -379,11 +379,11 @@
     sourceWriter.println();
   }
 
-  private void writeEnumDeserializationStatements(JEnumType enumType) {
+  private void writeEnumDeserializationStatements() {
     sourceWriter.println("// Enum deserialization is handled via the instantiate method");
   }
 
-  private void writeEnumSerializationStatements(JEnumType enumType) {
+  private void writeEnumSerializationStatements() {
     sourceWriter.println("assert (instance != null);");
     sourceWriter.println("streamWriter.writeInt(instance.ordinal());");
   }
@@ -477,7 +477,7 @@
     if (isArray != null) {
       writeArraySerializationStatements(isArray);
     } else if (serializableClass.isEnum() != null) {
-      writeEnumSerializationStatements(serializableClass.isEnum());
+      writeEnumSerializationStatements();
     } else {
       writeClassSerializationStatements();
     }
diff --git a/user/src/com/google/gwt/user/rebind/rpc/JTypeVisitor.java b/user/src/com/google/gwt/user/rebind/rpc/JTypeVisitor.java
index 8764b6c..5d746e3 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/JTypeVisitor.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/JTypeVisitor.java
@@ -77,27 +77,51 @@
     }
   }
 
+  /**
+   * @param typeAnnotation
+   */
   protected void endVisit(JAnnotationType typeAnnotation) {
   }
 
+  /**
+   * @param typeArray
+   */
   protected void endVisit(JArrayType typeArray) {
   }
 
+  /**
+   * @param typeEnum
+   */
   protected void endVisit(JEnumType typeEnum) {
   }
 
+  /**
+   * @param typeGeneric
+   */
   protected void endVisit(JGenericType typeGeneric) {
   }
 
+  /**
+   * @param typeParameterized
+   */
   protected void endVisit(JParameterizedType typeParameterized) {
   }
 
+  /**
+   * @param typePrimitive
+   */
   protected void endVisit(JPrimitiveType typePrimitive) {
   }
 
+  /**
+   * @param typeRaw
+   */
   protected void endVisit(JRawType typeRaw) {
   }
 
+  /**
+   * @param typeReal
+   */
   protected void endVisit(JRealClassType typeReal) {
   }
 
@@ -165,9 +189,15 @@
     endVisit(typeReal);
   }
 
+  /**
+   * @param typeParam
+   */
   protected void endVisit(JTypeParameter typeParam) {
   }
 
+  /**
+   * @param typeWild
+   */
   protected void endVisit(JWildcardType typeWild) {
   }
 
diff --git a/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java b/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
index 85147ed..baa1b4b 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
@@ -1243,11 +1243,9 @@
       }
 
       boolean superTypeOk = false;
-      if (superType != null) {
-        superTypeOk = checkSubtype(logger, superType, originalType,
-            TypePaths.createSupertypePath(parent, superType, classOrInterface),
-            problems);
-      }
+      superTypeOk = checkSubtype(logger, superType, originalType,
+          TypePaths.createSupertypePath(parent, superType, classOrInterface),
+          problems);
 
       /*
        * If my super type did not check out, then I am not instantiable and we
diff --git a/user/src/com/google/gwt/user/rebind/rpc/Shared.java b/user/src/com/google/gwt/user/rebind/rpc/Shared.java
index f066904..7a9378d 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/Shared.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/Shared.java
@@ -66,7 +66,7 @@
   static Set<String> getEnhancedTypes(PropertyOracle propertyOracle) {
     try {
       ConfigurationProperty prop = propertyOracle.getConfigurationProperty(RPC_ENHANCED_CLASSES);
-      return Collections.unmodifiableSet(new HashSet(prop.getValues()));
+      return Collections.unmodifiableSet(new HashSet<String>(prop.getValues()));
     } catch (BadPropertyValueException e) {
       return null;
     }
diff --git a/user/src/com/google/gwt/user/server/rpc/AbstractRemoteServiceServlet.java b/user/src/com/google/gwt/user/server/rpc/AbstractRemoteServiceServlet.java
index e4fe6e0..cf2f3d3 100644
--- a/user/src/com/google/gwt/user/server/rpc/AbstractRemoteServiceServlet.java
+++ b/user/src/com/google/gwt/user/server/rpc/AbstractRemoteServiceServlet.java
@@ -137,6 +137,8 @@
    * Override this method to examine the deserialized version of the request
    * before the call to the servlet method is made. The default implementation
    * does nothing and need not be called by subclasses.
+   * 
+   * @param rpcRequest
    */
   protected void onAfterRequestDeserialized(RPCRequest rpcRequest) {
   }
diff --git a/user/src/com/google/gwt/user/server/rpc/HybridServiceServlet.java b/user/src/com/google/gwt/user/server/rpc/HybridServiceServlet.java
index 5efd732..ef54dac 100644
--- a/user/src/com/google/gwt/user/server/rpc/HybridServiceServlet.java
+++ b/user/src/com/google/gwt/user/server/rpc/HybridServiceServlet.java
@@ -156,6 +156,9 @@
         moduleBaseURL, strongName);
   }
 
+  /**
+   * @param serializedResponse
+   */
   protected void onAfterResponseSerialized(String serializedResponse) {
   }
 
diff --git a/user/src/com/google/gwt/user/server/rpc/RemoteServiceServlet.java b/user/src/com/google/gwt/user/server/rpc/RemoteServiceServlet.java
index 7710fd4..9d39328 100644
--- a/user/src/com/google/gwt/user/server/rpc/RemoteServiceServlet.java
+++ b/user/src/com/google/gwt/user/server/rpc/RemoteServiceServlet.java
@@ -255,6 +255,8 @@
    * Override this method to examine the serialized response that will be
    * returned to the client. The default implementation does nothing and need
    * not be called by subclasses.
+   * 
+   * @param serializedResponse
    */
   protected void onAfterResponseSerialized(String serializedResponse) {
   }
@@ -263,6 +265,8 @@
    * Override this method to examine the serialized version of the request
    * payload before it is deserialized into objects. The default implementation
    * does nothing and need not be called by subclasses.
+   * 
+   * @param serializedRequest
    */
   protected void onBeforeRequestDeserialized(String serializedRequest) {
   }