Revision: 6253
Author: rj...@google.com
Date: Tue Sep 29 15:03:56 2009
Log: Merge through tr...@6239


http://code.google.com/p/google-web-toolkit/source/detail?r=6253

Modified:
  /branches/farewellSwt
  /branches/farewellSwt/branch-info.txt
   
/branches/farewellSwt/dev/core/src/com/google/gwt/core/ext/ServletContainer.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/core/ext/ServletContainerLauncher.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/jjs/impl/JavaScriptObjectNormalizer.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/shell/rewrite/RewriteSingleJsoImplDispatches.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerDisableAggressiveOptimization.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerEnableAssertions.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerOutDir.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerWorkDirOptional.java
   
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerWorkDirRequired.java
  /branches/farewellSwt/dev/core/test/com/google/gwt/dev/AboutTest.java
  /branches/farewellSwt/distro-source/core/src/release_notes.html
  /branches/farewellSwt/distro-source/mac/src/webAppCreator
  /branches/farewellSwt/eclipse/samples/Hello/Hello-gwtc.launch
  /branches/farewellSwt/samples/dynatable/war/DynaTable.css
  /branches/farewellSwt/samples/dynatable/war/DynaTable.html
  /branches/farewellSwt/samples/hello/war/Hello.html
  /branches/farewellSwt/samples/i18n/war/I18N.css
  /branches/farewellSwt/samples/i18n/war/I18N.html
  /branches/farewellSwt/samples/json/war/JSON.css
  /branches/farewellSwt/samples/json/war/JSON.html
  /branches/farewellSwt/samples/mail/war/Mail.css
  /branches/farewellSwt/samples/mail/war/Mail.html
  /branches/farewellSwt/samples/mail/war/gradient.gif
  /branches/farewellSwt/samples/mail/war/leftCorner.gif
  /branches/farewellSwt/samples/mail/war/rightCorner.gif
  /branches/farewellSwt/samples/showcase/war/Showcase.html
  /branches/farewellSwt/samples/simplerpc/war/SimpleRPC.css
  /branches/farewellSwt/samples/simplerpc/war/SimpleRPC.html
  /branches/farewellSwt/samples/simplexml/war/SimpleXML.css
  /branches/farewellSwt/samples/simplexml/war/SimpleXML.html
   
/branches/farewellSwt/user/src/com/google/gwt/core/client/HttpThrowableReporter.java
  /branches/farewellSwt/user/src/com/google/gwt/core/client/JsonUtils.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/dom/client/HandlesAllFocusEvents.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/dom/client/HandlesAllKeyEvents.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/dom/client/HandlesAllMouseEvents.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/dom/client/KeyCodes.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/dom/client/PrivateMap.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/logical/shared/HasValueChangeHandlers.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/logical/shared/ValueChangeEvent.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/logical/shared/ValueChangeHandler.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/shared/DefaultHandlerRegistration.java
  /branches/farewellSwt/user/src/com/google/gwt/event/shared/GwtEvent.java
   
/branches/farewellSwt/user/src/com/google/gwt/event/shared/HandlerRegistration.java
  /branches/farewellSwt/user/src/com/google/gwt/junit/JUnitMessageQueue.java
  /branches/farewellSwt/user/src/com/google/gwt/resources
   
/branches/farewellSwt/user/src/com/google/gwt/resources/client/ClientBundle.java
   
/branches/farewellSwt/user/src/com/google/gwt/resources/ext/ClientBundleFields.java
   
/branches/farewellSwt/user/src/com/google/gwt/resources/ext/ClientBundleRequirements.java
   
/branches/farewellSwt/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java
   
/branches/farewellSwt/user/src/com/google/gwt/resources/rebind/context/InlineClientBundleGenerator.java
   
/branches/farewellSwt/user/src/com/google/gwt/resources/rebind/context/StaticClientBundleGenerator.java
   
/branches/farewellSwt/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java
   
/branches/farewellSwt/user/src/com/google/gwt/uibinder/rebind/GwtResourceEntityResolver.java
  /branches/farewellSwt/user/src/com/google/gwt/uibinder/resources/xhtml.ent
   
/branches/farewellSwt/user/src/com/google/gwt/uibinder/sample/client/WidgetBasedUi.ui.xml
   
/branches/farewellSwt/user/src/com/google/gwt/user/RemoteServiceObfuscateTypeNames.gwt.xml
   
/branches/farewellSwt/user/src/com/google/gwt/user/client/ui/ListenerWrapper.java
   
/branches/farewellSwt/user/src/com/google/gwt/user/rebind/StringSourceWriter.java
  /branches/farewellSwt/user/src/com/google/gwt/user/tools/WebAppCreator.java
   
/branches/farewellSwt/user/test/com/google/gwt/core/client/HttpThrowableReporterTest.java
   
/branches/farewellSwt/user/test/com/google/gwt/dev/jjs/test/jsoimpls/UnreferencedImplOfJsoInterface.java
   
/branches/farewellSwt/user/test/com/google/gwt/dev/jjs/test/jsointfs/JsoInterfaceWithUnreferencedImpl.java
   
/branches/farewellSwt/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java
   
/branches/farewellSwt/user/test/com/google/gwt/event/dom/client/DomEventTest.java
   
/branches/farewellSwt/user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java
  /branches/farewellSwt/user/test/com/google/gwt/junit/NonGwtTestSuite.java
  /branches/farewellSwt/user/test/com/google/gwt/resources
   
/branches/farewellSwt/user/test/com/google/gwt/uibinder/rebind/GwtResourceEntityResolverTest.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/RPCSuiteWithObfuscation.gwt.xml
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/CollectionsTestWithTypeObfuscation.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/CustomFieldSerializerTestWithTypeObfuscation.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/EnumsTestWithTypeObfuscation.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/InheritanceTestWithTypeObfuscation.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/ObjectGraphTestWithTypeObfuscation.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/RemoteServiceServletTestWithTypeObfuscation.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTestWithTypeObfuscation.java
   
/branches/farewellSwt/user/test/com/google/gwt/user/client/rpc/ValueTypesTestWithTypeObfuscation.java

=======================================
--- /branches/farewellSwt/branch-info.txt       Tue Sep 29 11:27:01 2009
+++ /branches/farewellSwt/branch-info.txt       Tue Sep 29 15:03:56 2009
@@ -11,3 +11,5 @@
  svn merge --ignore-ancestry -r6142:6200 \
      https://google-web-toolkit.googlecode.com/svn/trunk
      (via changes/jat/noswt-merge6200)
+svn merge https://google-web-toolkit.googlecode.com/svn/trunk \
+  -r6200:6239 .
=======================================
---  
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java  
 
Tue Jul 21 18:31:48 2009
+++  
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java  
 
Tue Sep 29 15:03:56 2009
@@ -448,7 +448,6 @@
              }
            }
          }
-        jsoSubType.clearImplements();
        }
      }

=======================================
---  
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/jjs/impl/JavaScriptObjectNormalizer.java
   
Tue Jul 21 18:30:12 2009
+++  
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/jjs/impl/JavaScriptObjectNormalizer.java
   
Tue Sep 29 15:03:56 2009
@@ -58,7 +58,8 @@
      public void endVisit(JCastOperation x, Context ctx) {
        JType newType = translate(x.getCastType());
        if (newType != x.getCastType()) {
-        ctx.replaceMe(new JCastOperation(x.getSourceInfo(), newType,  
x.getExpr()));
+        ctx.replaceMe(new JCastOperation(x.getSourceInfo(), newType,
+            x.getExpr()));
        }
      }

@@ -135,8 +136,8 @@
            CloneExpressionVisitor cloner = new  
CloneExpressionVisitor(program);

            // instance.jsoMethod(arg, arg)
-          JMethodCall jsoCall = new JMethodCall(info,  
cloner.cloneExpression(instance),
-              jsoMethod);
+          JMethodCall jsoCall = new JMethodCall(info,
+              cloner.cloneExpression(instance), jsoMethod);
            jsoCall.addArgs(cloner.cloneExpressions(x.getArgs()));

            // Cast.isJavaScriptObject() ? instance.jsoMethod() :
@@ -152,7 +153,8 @@
             * ... otherwise, if there's only a JSO implementation, we'll  
just
             * call that directly.
             */
-          JMethodCall jsoCall = new JMethodCall(info, x.getInstance(),  
jsoMethod);
+          JMethodCall jsoCall = new JMethodCall(info, x.getInstance(),
+              jsoMethod);
            jsoCall.addArgs(x.getArgs());
            ctx.replaceMe(jsoCall);
          }
@@ -177,13 +179,21 @@

      private JMethod findConcreteImplementation(JMethod method,
          JClassType concreteType) {
-      for (JMethod m : concreteType.getMethods()) {
-        if (program.typeOracle.getAllOverrides(m).contains(method)) {
-          if (!m.isAbstract()) {
-            return m;
+      /*
+       * Search supertypes for virtual overrides via subclass. See the  
javadoc
+       * on JTypeOracle.getAllVirtualOverrides for an example.
+       */
+      while (concreteType != null) {
+        for (JMethod m : concreteType.getMethods()) {
+          if (program.typeOracle.getAllOverrides(m).contains(method)) {
+            if (!m.isAbstract()) {
+              return m;
+            }
            }
          }
-      }
+        concreteType = concreteType.getSuperClass();
+      }
+
        return null;
      }

@@ -205,7 +215,8 @@
          JExpression notJsoExpr) {
        // Cast.isJavaScriptObjectOrString(instance)
        JMethod isJavaScriptObjectMethod =  
program.getIndexedMethod("Cast.isJavaScriptObjectOrString");
-      JMethodCall isJavaScriptObjectExpr = new JMethodCall(info, null,  
isJavaScriptObjectMethod);
+      JMethodCall isJavaScriptObjectExpr = new JMethodCall(info, null,
+          isJavaScriptObjectMethod);
        isJavaScriptObjectExpr.addArg(instance);
        return new JConditional(info, conditionalType,  
isJavaScriptObjectExpr,
            isJsoExpr, notJsoExpr);
=======================================
---  
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
    
Fri Jul 31 13:43:46 2009
+++  
/branches/farewellSwt/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
    
Tue Sep 29 15:03:56 2009
@@ -36,9 +36,9 @@
  import com.google.gwt.dev.shell.rewrite.HostedModeClassRewriter;
  import  
com.google.gwt.dev.shell.rewrite.HostedModeClassRewriter.InstanceMethodOracle;
  import com.google.gwt.dev.util.JsniRef;
-import com.google.gwt.dev.util.Name.SourceOrBinaryName;
-import com.google.gwt.dev.util.Name.InternalName;
  import com.google.gwt.dev.util.Util;
+import com.google.gwt.dev.util.Name.InternalName;
+import com.google.gwt.dev.util.Name.SourceOrBinaryName;
  import com.google.gwt.util.tools.Utility;

  import org.apache.commons.collections.map.AbstractReferenceMap;
@@ -910,6 +910,21 @@
           */
          String mangledName = getBinaryName(type).replace('.', '_') + "_"
              + m.getName();
+
+        JType[] parameterTypes = new JType[m.getParameters().length];
+        for (int i = 0; i < parameterTypes.length; i++) {
+          parameterTypes[i] = m.getParameters()[i].getType();
+        }
+
+        /*
+         * Handle virtual overrides by finding the method that we would  
normally
+         * invoke and using its declaring class as the dispatch target.
+         */
+        while (implementingType.findMethod(m.getName(), parameterTypes) ==  
null) {
+          implementingType = implementingType.getSuperclass();
+        }
+        assert implementingType != null : "Unable to find virtual override  
for "
+            + m.toString();

          /*
           * Cook up the a pseudo-method declaration for the concrete type.  
This
@@ -921,9 +936,9 @@
           */
          String decl = getBinaryOrPrimitiveName(m.getReturnType()) + " "
              + m.getName() + "$ (" +  
getBinaryOrPrimitiveName(implementingType);
-        for (JParameter p : m.getParameters()) {
+        for (JType paramType : parameterTypes) {
            decl += ",";
-          decl += getBinaryOrPrimitiveName(p.getType());
+          decl += getBinaryOrPrimitiveName(paramType);
          }
          decl += ")";

=======================================
--- /branches/farewellSwt/distro-source/core/src/release_notes.html     Tue May 
 
19 08:35:33 2009
+++ /branches/farewellSwt/distro-source/core/src/release_notes.html     Tue Sep 
 
29 15:03:56 2009
@@ -28,28 +28,86 @@
     <body>
        <h1>Google Web Toolkit Release Notes</h1>
        <ul>
-                   <li><a href="#Release_Notes_Current">@GWT_VERSION@</a></li>
+        <li><a href="#Release_Notes_Current">@GWT_VERSION@</a></li>
+        <li><a href="#Release_Notes_1_7_0">1.7.0</a></li>
+        <li><a href="#Release_Notes_1_6_4">1.6.4</a></li>
          <li><a href="#Release_Notes_1_6_3">1.6.3</a></li>
-                   <li><a href="#Release_Notes_1_6_2">1.6.2</a></li>
-                   <li><a href="#Release_Notes_1_5_3">1.5.3</a></li>
-                   <li><a href="#Release_Notes_1_5_2">1.5.2</a></li>
-                   <li><a href="#Release_Notes_1_5_1">1.5.1 (RC2)</a></li>
-                   <li><a href="#Release_Notes_1_5_0">1.5.0 (RC)</a></li>
-                   <li><a href="#Release_Notes_1_4_60">1.4.60</a></li>
-                   <li><a href="#Release_Notes_1_4_59">1.4.59 (RC2)</a></li>
-                   <li><a href="#Release_Notes_1_4_10">1.4.10 (RC)</a></li>
-                   <li><a href="#Release_Notes_1_3_3">1.3.3</a></li>
-                   <li><a href="#Release_Notes_1_3_1">1.3.1 (RC)</a></li>
-                   <li><a href="#Release_Notes_1_2_22">1.2.22</a></li>
-                   <li><a href="#Release_Notes_1_2_11">1.2.21 (RC)</a></li>
-                   <li><a href="#Release_Notes_1_1_10">1.1.10</a></li>
-                   <li><a href="#Release_Notes_1_1_0">1.1.0 (RC)</a></li>
-                   <li><a href="#Release_Notes_1_0_21">1.0.21</a></li>
+        <li><a href="#Release_Notes_1_6_2">1.6.2</a></li>
+        <li><a href="#Release_Notes_1_5_3">1.5.3</a></li>
+        <li><a href="#Release_Notes_1_5_2">1.5.2</a></li>
+        <li><a href="#Release_Notes_1_5_1">1.5.1 (RC2)</a></li>
+        <li><a href="#Release_Notes_1_5_0">1.5.0 (RC)</a></li>
+        <li><a href="#Release_Notes_1_4_60">1.4.60</a></li>
+        <li><a href="#Release_Notes_1_4_59">1.4.59 (RC2)</a></li>
+        <li><a href="#Release_Notes_1_4_10">1.4.10 (RC)</a></li>
+        <li><a href="#Release_Notes_1_3_3">1.3.3</a></li>
+        <li><a href="#Release_Notes_1_3_1">1.3.1 (RC)</a></li>
+        <li><a href="#Release_Notes_1_2_22">1.2.22</a></li>
+        <li><a href="#Release_Notes_1_2_11">1.2.21 (RC)</a></li>
+        <li><a href="#Release_Notes_1_1_10">1.1.10</a></li>
+        <li><a href="#Release_Notes_1_1_0">1.1.0 (RC)</a></li>
+        <li><a href="#Release_Notes_1_0_21">1.0.21</a></li>
        </ul>

        <hr/>
        <a name="Release_Notes_Current"></a>
        <h2>Release Notes for @GWT_VERSION@</h2>
+      <p>
+        This release adds support for Mac OS X version 10.6 (Snow Leopard)  
by allowing hosted mode to run with a 1.6 JRE in 32-bit
+        mode (using the -d32 flag).
+      </p>
+      <h3>Fixed Issues</h3>
+      <ul>
+        <li>
+          Allow hosted mode using a 1.6 JRE with the -d32 flag
+          (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3843";>#3843</a>,
+          <a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3998";>#3998</a>)
+        </li>
+      </ul>
+
+      <hr/>
+      <a name="Release_Notes_1_7_0"></a>
+      <h2>Release Notes for 1.7.0</h2>
+      <p>
+        This release adds explicit support for Internet Explorer 8,  
Firefox 3.5, and Safari 4 as well as a few high-priority bug fixes.
+        In all other respects, it is very similar to GWT 1.6.
+        Note, however, that this release is version 1.7.0 rather than  
version 1.6.5 to signify a potentially breaking change for libraries
+        that use deferred binding to specialize code based on user agent  
(see the next section for technical details).
+      </p>
+      <h3>Potentially breaking changes and fixes</h3>
+      <ul>
+        <li>
+          This release includes explicit support for IE8, which has some  
significant behavioral changes from prior versions of IE.
+          These changes are great enough that the new value  
<code>ie8</code> has been added for the <code>user.agent</code> deferred  
binding client property.
+          If you have deferred binding rules (i.e.  
<code>&lt;replace-with&gt;</code> or <code>&lt;generate-with&gt;</code>) or  
property providers
+          that are sensitive to <code>user.agent</code>, you may need to  
update them to account for the <code>ie8</code> value.
+          For more information, see the <a  
href="http://code.google.com/p/google-web-toolkit/wiki/IE8Support";>technical  
notes</a>.
+        </li>
+      </ul>
+
+      <h3>Fixed Issues</h3>
+      <ul>
+        <li>
+          Updated GWT libraries to support IE8
+          (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3558";>#3558</a>,
+          <a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3329";>#3329</a>)
+        </li>
+        <li>Native exception in Node.is() (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3644";>#3644</a>)</li>
+        <li>
+          Incorrect firing of two click events from CheckBox and a related  
issue
+          (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3508";>#3508</a>,
+          <a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3679";>#3679</a>)
+        </li>
+        <li>Compiler java.lang.StackOverflowError if you don't use -Xss to  
set a stack size (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3510";>#3510</a>)</li>
+        <li>Mouse wheel in FF3 (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=2902";>#2902</a>)</li>
+        <li>GWT outputs expressions too long for WebKit (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3455";>#3455</a>)</li>
+        <li>java.sql.Date.valueOf error (<a  
href="http://code.google.com/p/google-web-toolkit/issues/detail?id=3731";>#3731</a>)</li>
+        <li>Added a workaround for Firefox 3.5 regression (<a  
href="https://bugzilla.mozilla.org/show_bug.cgi?id=497780";>bugzilla  
#497780</a>)</li>
+      </ul>
+
+      <hr/>
+      <a name="Release_Notes_1_6_4"></a>
+      <h2>Release Notes for 1.6.4</h2>
        <h3>Fixed Issues</h3>
        <ul>
          <li>The classpath in the scripts created by junitCreator was  
updated to refer to <code>/war/WEB-INF/classes</code> rather than  
<code>/bin</code>.</li>
=======================================
--- /branches/farewellSwt/samples/mail/war/leftCorner.gif       Mon Mar 16  
16:27:28 2009
+++ /branches/farewellSwt/samples/mail/war/leftCorner.gif       Tue Sep 29  
15:03:56 2009
Binary file, no diff available.
=======================================
--- /branches/farewellSwt/samples/mail/war/rightCorner.gif      Mon Mar 16  
16:27:28 2009
+++ /branches/farewellSwt/samples/mail/war/rightCorner.gif      Tue Sep 29  
15:03:56 2009
Binary file, no diff available.
=======================================
---  
/branches/farewellSwt/user/src/com/google/gwt/junit/JUnitMessageQueue.java      
 
Tue Sep 29 11:27:01 2009
+++  
/branches/farewellSwt/user/src/com/google/gwt/junit/JUnitMessageQueue.java      
 
Tue Sep 29 15:03:56 2009
@@ -306,7 +306,7 @@
            buf.append('\n');
          }

-        if (!results.containsKey(clientStatus.clientId)) {
+        if (results == null | 
| !results.containsKey(clientStatus.clientId)) {
            buf.append(" - NO RESPONSE: ");
          } else {
            buf.append(" - (ok): ");
=======================================
***Additional files exist in this changeset.***

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to