Small refactoring of CastNormalizer.

CastNormalizer was also fixing type coercions. There were now pulled into
their own separate pass and added missing unit tests.

Change-Id: I147d10fe3c7b38c25a9b4d2c6feef30908c796ca
Add console onto window property for D8Linker

Change-Id: I4186ce8fbcad3062807e2e4425b54989d71bada4
Strengthen SuperDevMode test in selection script

Selection script used sessionStorage without checking first whether it's
supported and enabled (e.g. IE8 doesn't support it with local files).

Bug: issue 8587
Change-Id: I5d5b9312d9a8c5db87924ea943e2230cda1e5fac
Fixes most '$' loss in source name construction.

Previously the source name of a class was frequently synthesized by
(among other things) turning '$' into '.' in internal or binary name.
But this transformation was not safe since source names can legally
contain '$'.

Changed JdtCompiler to gather the original and correct source name
for each class and store it in each CompiledClass instance.

Changed most source name access to use this newly available source.

Deprecated BinaryName.toSourceName() and InternalName.toSourceName().

Addresses code.google.com/p/google-web-toolkit/issues/detail?id=6799

Change-Id: I16bfaed1a3467f6187b4ca80dcb7b95049e65b50
Review-Link: https://gwt-review.googlesource.com/#/c/6470/
Restore binary compatibility with the original version of ArtifactSet

Change-Id: Ic82565885037a34f5f0907ee883ea93ff70dd8c7
Review-Link: https://gwt-review.googlesource.com/#/c/6501/
Make xsiframe the default linker

Update samples to remove any explicit setting of xsiframe
and devModeRedirectEnabled.

Bug: issue 8578
Change-Id: I5d8bf701783be2aaf4451ff840d307851eebf2e7
Emulate Collections.newSetFromMap()

Bug: issue 8596
Change-Id: I300a4ea3ef85975d042d6bdeb1c89c85e616fadd
Fix PriorityQueue.comparator contract.

Method comparator() should return null
if queue is sorted in natural ordering.

Change-Id: I436dd0dec08c87ca77e3afb8010a268f6b3ecd19
Exposes full super hierarchy per type in JTypeOracle.

Upcoming library compilation changes need to create castmaps that
document all possible casts, not just the ones visible in the code of
the current library. This depends on knowing the full super hierarchy
of a given type, thus this change.

Change-Id: I0f2b728b854c9b5eaeffd275ea89406d087b3a4d
Replace "new Function" with "function() {}" in XMLHttpRequest.java,

new Function() was used due to ie6 which is not supported anymore.
Function literal should be several orders of magnitude faster.
It also has better CSP support.  See
https://code.google.com/p/google-web-toolkit/issues/detail?id=8207

Change-Id: I49e8fcce398674f95b6ed6a587397191f883f3ea
Review-Link: https://gwt-review.googlesource.com/#/c/6531/
Allow to use globally unique strings as type ids.

Stable global id are a necessity for cross module reference when
global information is not available (e.g. separate compilation).

Although not practically necessary, TypeIds in intrinsic are
represented as JavaScriptObjects to denote that the type is
not necessarily int. Leaving them as ints would have been also
functional as AST in the stage where this pass is applied does
not need to be type correct Java.

Change-Id: I05dc27cfe05be1a8367924e4594ddc7619b1ab52
Fix JsNamespaceChooser bug

JsNamespaceChooser was setting the namespace on names that
aren't actually globals. This didn't matter for Super Dev Mode,
but if another compiler pass coming later creates a new name
reference, the reference will be wrong. (In particular, emulated
stack traces were broken.)

To avoid this, find globals by searching for top-level
initializers instead of by looping through the global scope.

Change-Id: Id1f784b2f5da8b6163790014c279ed9633026ab1
Review-Link: https://gwt-review.googlesource.com/#/c/6515/
Updates module property and resource loading for libraries.

Changed Precompile to not throw an assertion exception during library
compiles that don't have an entry point.

Added differentiation for binding and configuration property definitions
and values that are defined by the current target library versus defined
in the dependency tree. Used this differentiation to save a record of
these values in the current libraryWriter.

Added module parsing support for a <resource> tag as an alternative to the
<source> tag for when needing to pull in build resources (PNG and CSS) and
not wanting to also pull in the java source. This makes it possible to fix
some of the accidental overlapping source inclusion in modules within the
User.gwt.xml cluster.

Patched the module loading process to pipe seen build and public resources
into the current libraryWriter.

Extended the moduleURL resolution system (depends on ResourceLoader) to
also find modules within the supplied libraryGroup.

Turned off BinaryTypeReferenceRestrictionsChecker when compiling libraries
(some of the resolved references *will* be to bytecode from dependency
libraries).

Patched CompilationState's assimilateUnits() process to store validated
compilation units in the libraryWriter.

Added assertions to ensure consistency of path structure when initializing
ZipFileResource (so that its getLocation() result will always be a valid
URL), and fixed two nonstandard uses.

Change-Id: I5efdbccd80df58657c958037e17600e8c381c28e
Review-Link: https://gwt-review.googlesource.com/#/c/6540/
Verifies CompilationUnit.getTypes() round trips in libraries.

Also improves CompilationUnitArchive tests with the save verification.

Change-Id: Ifac1908b7ede9f92fc5ef810659f8c64bb487ba1
Library compilation odds and ends.

Organized JDT compiler type name to NameEnvironmentAnswer resolution
and added LibraryGroup based resolution support.

Limited the scope of some JTypeOracle indexing for library compiles.

Added missing Generator metadata for AbstractClientBundleGenerator.

Made ImplicitCssResource generated css file resource names valid for
inclusion in URLs (so that they can be retrieved via URL reference
inside of zip files).

Change-Id: I936a697c7688d3afbf1ba1e765a1c21e31b31db1
Review-Link: https://gwt-review.googlesource.com/#/c/6552/
Make code generation friendly to separate compilation.

This cl incorporates the logic need to support both globally optimized
compilation and separate compilation.

In particular GenerateJavaScriptAST now generates code only for classes
that are part of the module in the case of separate compilation.

Change-Id: Ic3fdd8560c7fae1c38504c522a1ca3be3fab946c
Fix script-injection tests, now that xsiframe is the default linker

Resets the linker to 'std' for those tests that use a <script> in the
gwt.xml module descriptor file. Ideally, we'd probably want to be able
to use a specific host page, or configure it for the test with additional
script tags.

Also, client coverage seems to only work with the std linker.

Change-Id: Ibea7181792a68af9cc3a0fa2d887098297eeb0fe
Remove duplicated code Collections.sort(List).

Collections.sort(List, Comparator) accepts null comparator that
indicates that natural ordering should be used.

Change-Id: Ie1d9158c16eb46432fd034b135a55dfb6aa876d6
Fix RunAsyncContentTest test, now that xsiframe is the default linker.

Change-Id: Idf80df4e133cab88693032469aee30e8af91ead2
Adds runtime impl for ConditionWhenTypeAssignableTo.

Change-Id: I6282e879042a8dc263e2f3b36fe1cc82c8cce96e
Review-Link: https://gwt-review.googlesource.com/#/c/6554/