Simplify a bunch of the subclassing around types and property maps, and
more clearly document the few places where we generate properties lazily.

R=dimvar
DELTA=398  (86 added, 282 deleted, 30 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5947


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2374 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Preserve template keys when building derivative function types for
.call, .apply, and .bind

R=nicksantos
DELTA=22  (20 added, 0 deleted, 2 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5948


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2375 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Do template type replacement of unknown types too

R=johnlenz
DELTA=38  (22 added, 1 deleted, 15 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5949


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2376 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Don't keep a stack of CFGs during UnreachableCodeElimination.

R=blickly
DELTA=259  (85 added, 77 deleted, 97 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5950


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2377 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Automated g4 rollback 

*** Reason for rollback ***

causes issues with subclassing

*** Original change description ***

Do template type replacement of unknown types too

DELTA=38  (1 added, 22 deleted, 15 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5951


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2378 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Automated g4 rollback

*** Reason for rollback ***

causes arity problems

*** Original change description ***

Preserve template keys when building derivative function types for
.call, .apply, and .bind

DELTA=22  (0 added, 20 deleted, 2 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5952


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2379 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Modified the jQueryCallback JSDoc to accomodate callbacks with arguments.

For example, the following line used to generate warnings before the change:
$.ajax('/some/path').done(function(data) { ... });

R=nicksantos
DELTA=2  (0 added, 0 deleted, 2 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5953


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2380 b0f006be-c8cd-11de-a2e8-8d36a3108c74

fix some bad internal bookkeeping around optional parameters and
the 'call' method.

R=dimvar
DELTA=32  (31 added, 1 deleted, 0 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5954


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2381 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Enable preserving old Asts when compiling for clients which can use the extra position info.

R=johnlenz,dimvar
DELTA=92  (85 added, 0 deleted, 7 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5955


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2382 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Automated g4 rollback 

*** Reason for rollback ***

broke tests

*** Original change description ***

Enable preserving old Asts when compiling for clients which can use the extra position info.

DELTA=92  (0 added, 85 deleted, 7 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5956


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2383 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Add @stableIdGenerator support to jscompiler.

A couple design notes:
- Behavior of existing @idGenerator and @consistentIdGenerator
annotations should be the same.
- Basic algorithm for the stable generator is
WebSafeBase64(id.hashCode()).  That provides 2^32 id space and
encodes to 6 characters.

R=johnlenz
DELTA=210  (140 added, 35 deleted, 35 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5957


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2384 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Preserve template keys when building derivative function types for
.call, .apply, and .bind
Also adds a TypeCheckTest for the issue this was fixing.

R=johnlenz
DELTA=39  (37 added, 0 deleted, 2 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5958


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2385 b0f006be-c8cd-11de-a2e8-8d36a3108c74

Do template type replacement of unknown types too
re-roll

R=johnlenz
DELTA=38  (22 added, 1 deleted, 15 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5959


git-svn-id: http://closure-compiler.googlecode.com/svn/trunk@2386 b0f006be-c8cd-11de-a2e8-8d36a3108c74