Attempt to continue after the JDT compiler aborts.

This could occasionally work, but in my test case it just causes a
RuntimeException later due to violating an internal JDT invariant. Still, it
lets us print the names of a few more source files of death before dying.

Change-Id: Ia94d998c6b4e56d880570c726aa09f004a4f552c
Review-Link: https://gwt-review.googlesource.com/#/c/2271/

Review by: mdempsky@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11566 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Move flaky non-hermetic test case into its own test suite.

Updates issue 8081.
Move testSpeedTrackerWhenOnlyDashboardEnabled test case into its own
test suite as a workaround.

Change-Id: Id6509d0c2a2ad302e3523ded60c5e33c699ec3d4
Review-Link: https://gwt-review.googlesource.com/#/c/2340/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11567 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Add a unittest for Throwable.


git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11568 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Moves GWTTestCase to Impl#setUncaughtExceptionHandlerForTest.

This will prevent the competition between the test and production uncaught exception handlers.
This change also introduces GWTTestCase#reportUncaughtException to enable test cases to change the behavior in order to test uncaught exceptions.

Fixes issue 5016

Change-Id: I8d32c6f4ff4cbcd55f238116b8bcc4c8685d6f35
Review-Link: https://gwt-review.googlesource.com/#/c/2190/


git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11569 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Implemented handling of GwtIncompatible annotations.

Any class, method or field that has an annotation named GwtIncompatible
is ignored by the compiler.

Fixes issue 3769.

Change-Id: I0f995d107b9e24fb7afb8aca95ab99b35f561216
Review-Link: https://gwt-review.googlesource.com/#/c/2320/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11570 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Added gwt.codeserver.port system property to RemoteServiceServlet

This property is the port of a Super Dev Mode code server running
on localhost. When a serialization policy isn't found locally, the
servlet attempts to download it from the code server.

API change: added two protected methods that can be used to customize
the behavior of this feature:

getCodeServerPolicyUrl() controls whether it's enabled and the URL
loadPolicyFromCodeServer() can be overridden to change the implementation

Change-Id: Iaf2366cb94297e738cf50bb9d8038fef66b89722
Review-Link: https://gwt-review.googlesource.com/#/c/2341/

Review by: mdempsky@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11571 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Don't throw a exception in AbstractCellTable.renderRowValues as a way to
communicate in AbstractHasData that legacy renderer will be used. Instead
add a new method to probe whether a unsupported method was called.

The exception parsing shows up on cpu profiles, so removing this improves
performance for applications.


git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11572 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Change RemoteServiceServlet so gwt.codeserver.port works with more subclasses.

In many subclasses of RemoteServiceServlet, the doGetSerializationPolicy()
method is overridden so that it doesn't call super. As a result, setting
gwt.codeserver.port has no effect. To avoid this, I moved the calling code
into getSerializationPolicy(), which is a final method.

A subclass can still disable fetching serialization policies from
the code server by overriding getCodeServerPolicyUrl() to return 0,
but this won't happen by accident.

Change-Id: Ib47db371b78eabb1a139948744279b36aa306bc1
Review-Link: https://gwt-review.googlesource.com/#/c/2360/

Review by: mdempsky@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11576 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Moves c.g.gwt.logging to common StackTraceDeobfuscator.

Change-Id: I44bee6a3abdf550831f6f9263a8c6e3c807ca063
Review-Link: https://gwt-review.googlesource.com/#/c/2300/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11577 8db76d5a-ed1c-0410-87a9-c151d255dfc7
RequestFactoryGenerator generated invalid java classes.

In some cases RequestFactoryGenerator generated classes that implemented the same generic
interface twice with different generic parameters. For example:

class X extends AbstractRequest<ResultType>
implements InstanceRequest<BarProxy, ResultType> { ... }

where AbstractRequest is defined in the library as follows:

class AbstractRequest<X> implements InstanceRequest<BaseProxy, X> {... }

Although the code is not valid java the GWT compiler would ignore the error and generate
working code; but newer versions of the JDT reject the code.

The change here is to add a type argument to AbstractRequest:
AbstractRequest<P extends BaseProxy, X> … implements InstanceRequest<P, X>

Change-Id: Ib9a604ef63f05bbecd8bfed60255f74682607fcc
Review-Link: https://gwt-review.googlesource.com/#/c/2370/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11578 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Removes obsolete way of identifying test classes in module.

Actually, I hope this is obsolete because I couldn't find any use cases.

Change-Id: I765ac2274336e78707c1975b1eb6fab6ac27d30b
Review-Link: https://gwt-review.googlesource.com/#/c/2371/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11579 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Refactors c.g.gwt.logging to use SerializableThrowable.

Change-Id: Ifeee26a9b36cbe40bd1cf0942da8fae39179e985
Review-Link: https://gwt-review.googlesource.com/#/c/2310/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11580 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Refactors c.g.gwt.junit to use common SerializableThrowable & StacktraceDeobfuscator.

- Gets rid of duplicate code in junit for deobfuscation of stack traces
- Improves the messaging of unserializable exceptions
- Minor improvements to the reporting of test infra failures

Change-Id: I1e1021bc99ac88ea6d9d47c3d23c83e79a896213
Review-Link: https://gwt-review.googlesource.com/#/c/2290/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11581 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Break dependency from History to user.DOM, using dom.DOM instead.

Change-Id: Iae4a456230318015fe6c188726dccbd6d42ffadc
Review-Link: https://gwt-review.googlesource.com/#/c/1242/

Review by: mdempsky@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11582 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Adds ability to continue testing rest of the module on compile errors.

With this change GWTTestCase will not quit early on module compilation when
the module includes a file that doesn't compile. Before this was causing
NPE with the new code generator for GWTTestCase as the test class was not
found in TypeOracle.

Exiting the code generation early with an error is not a solution because
in that case compiler was not showing the actual compilation error that caused
the class to disappear.

This change is fixing that by using a place holder class if the test class is
not found. Under normal circumstances place holder is not called as the test
case fails earlier but it is there for sanity check.

Change-Id: Ibe92e8a0a7cb425d2c9fef698664c3a766193cba
Review-Link: https://gwt-review.googlesource.com/#/c/2400/


git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11583 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Cut dependency from c.g.g.http on c.g.g.user by no longer using Timer

Replaced with calls to c.g.g.core.client.impl.Impl.setTimeout and
Impl.clearTimeout.

Change-Id: I66217980de084dd27e91d3930034ea03931ffe74
Review-Link: https://gwt-review.googlesource.com/#/c/1160/

Review by: mdempsky@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11584 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Allow strong name to be omitted.

Change-Id: Ie9d4ae13a9fdf188bfacb2caabb0b5b136dc342a
Review-Link: https://gwt-review.googlesource.com/#/c/2420/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11585 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Avoid implicit inter-dependencies between DOM, History, Window and Widgets
through BaseListenerWrapper by moving things to where they're used.

Change-Id: I44ea5f26c96716879b2a23331cafc26a63644e89
Review-Link: https://gwt-review.googlesource.com/#/c/1241/

Review by: mdempsky@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11586 8db76d5a-ed1c-0410-87a9-c151d255dfc7
add Class.getSimpleName to gwt emulation

fixes issue 3404

Change-Id: I7d4c9c34209f43fdfbf255d0d7ce8ac4bd002390
Review-Link: https://gwt-review.googlesource.com/#/c/2220/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11587 8db76d5a-ed1c-0410-87a9-c151d255dfc7
Reduce ClassSourceFileComposer memory and time complexity to O(N)

For long strings with lots of newlines, the current recursive
algorithm results in a bunch of nested call frames, each keeping a
large portion of the original string in memory.  Switching to an
iterative algorithm avoids keeping more than one or two copies of the
input string alive in memory at a time.

Change-Id: I30301a58bad0244a41b08fb534c4cb18b90c9494
Review-Link: https://gwt-review.googlesource.com/#/c/2460/

Review by: skybrian@google.com

git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11588 8db76d5a-ed1c-0410-87a9-c151d255dfc7