fixes some generic typing problems that hose up Sun's compiler, but not JDT

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1425 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java b/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
index 06017c3..2112f6d 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
@@ -510,7 +510,7 @@
       alreadyRan.add(x);
 
       List<JsFunction> jsFuncs = popList(x.methods.size()); // methods
-      List<JsNode<?>> jsFields = popList(x.fields.size()); // fields
+      List<JsNode> jsFields = popList(x.fields.size()); // fields
 
       if (typeOracle.hasClinit(x)) {
         handleClinit(jsFuncs.get(0));
@@ -535,7 +535,7 @@
       // setup fields
       JsVars vars = new JsVars();
       for (int i = 0; i < jsFields.size(); ++i) {
-        JsNode<?> node = jsFields.get(i);
+        JsNode node = jsFields.get(i);
         if (node instanceof JsVar) {
           vars.add((JsVar) node);
         } else {
@@ -1534,7 +1534,7 @@
     private <T extends JsVisitable> List<T> popList(int count) {
       List<T> list = new ArrayList<T>();
       while (count > 0) {
-        T item = pop();
+        T item = this.<T>pop();
         if (item != null) {
           list.add(item);
         }
@@ -1548,7 +1548,7 @@
         int count) {
       List<T> list = new ArrayList<T>();
       while (count > 0) {
-        T item = pop();
+        T item = this.<T>pop();
         if (item != null) {
           list.add(item);
         }
diff --git a/dev/core/src/com/google/gwt/dev/js/JsParser.java b/dev/core/src/com/google/gwt/dev/js/JsParser.java
index 668c711..69b9062 100644
--- a/dev/core/src/com/google/gwt/dev/js/JsParser.java
+++ b/dev/core/src/com/google/gwt/dev/js/JsParser.java
@@ -335,7 +335,7 @@
    */
   private JsNameRef mapAsPropertyNameRef(Node nameRefNode)
       throws JsParserException {
-    JsNode<?> unknown = map(nameRefNode);
+    JsNode unknown = map(nameRefNode);
     // This is weird, but for "a.b", the rhino AST calls "b" a string literal.
     // However, since we know it's for a PROPGET, we can unstringliteralize it.
     //
@@ -550,7 +550,7 @@
   }
 
   private JsExpression mapExpression(Node exprNode) throws JsParserException {
-    JsNode<?> unknown = map(exprNode);
+    JsNode unknown = map(exprNode);
     if (unknown instanceof JsExpression) {
       return (JsExpression) unknown;
     } else {
@@ -611,7 +611,7 @@
 
       // The first item is either an expression or a JsVars.
       //
-      JsNode<?> initThingy = map(fromInit);
+      JsNode initThingy = map(fromInit);
       if (initThingy != null) {
         if (initThingy instanceof JsVars) {
           toFor.setInitVars((JsVars) initThingy);
@@ -831,7 +831,7 @@
 
   private JsExpression mapOptionalExpression(Node exprNode)
       throws JsParserException {
-    JsNode<?> unknown = map(exprNode);
+    JsNode unknown = map(exprNode);
     if (unknown != null) {
       if (unknown instanceof JsExpression) {
         return (JsExpression) unknown;
@@ -971,7 +971,7 @@
   }
 
   private JsStatement mapStatement(Node nodeStmt) throws JsParserException {
-    JsNode<?> unknown = map(nodeStmt);
+    JsNode unknown = map(nodeStmt);
     if (unknown != null) {
       if (unknown instanceof JsStatement) {
         return (JsStatement) unknown;
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 378c7ba..1a6068b 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
@@ -56,7 +56,7 @@
   };
 
   public final <T extends JsVisitable> T accept(T node) {
-    return doAccept(node);
+    return (T) doAccept(node);
   }
 
   public final <T extends JsVisitable<T>> void acceptList(List<T> collection) {
diff --git a/user/src/com/google/gwt/user/server/rpc/RPC.java b/user/src/com/google/gwt/user/server/rpc/RPC.java
index 1083bc2..836c81f 100644
--- a/user/src/com/google/gwt/user/server/rpc/RPC.java
+++ b/user/src/com/google/gwt/user/server/rpc/RPC.java
@@ -160,7 +160,7 @@
    *           assignable to the requested {@link RemoteService} interface
    *           </ul>
    */
-  public static RPCRequest decodeRequest(String encodedRequest, Class<? extends RemoteServiceServlet> type) {
+  public static RPCRequest decodeRequest(String encodedRequest, Class type) {
     return decodeRequest(encodedRequest, type, null);
   }
 
@@ -216,7 +216,7 @@
    *           assignable to the requested {@link RemoteService} interface
    *           </ul>
    */
-  public static RPCRequest decodeRequest(String encodedRequest, Class<? extends RemoteServiceServlet> type,
+  public static RPCRequest decodeRequest(String encodedRequest, Class type,
       SerializationPolicyProvider serializationPolicyProvider) {
     if (encodedRequest == null) {
       throw new NullPointerException("encodedRequest cannot be null");