Hello Roberto Lublinerman, Leeroy Jenkins,

I'd like you to reexamine a change.  Please visit

    https://gwt-review.googlesource.com/3300

to look at the new patch set (#4).

Change subject: The job of defineSeed is to mark the existence of a class and associate its castMap with the class's various constructors.
......................................................................

The job of defineSeed is to mark the existence of a class and associate its castMap with the class's various constructors.

FragmentExtractor chooses whether and what part of a defineSeed call to include in a fragment.

Previously this logic would only include a defineSeed function in a fragment if the fragment was known to make the particular type in question "live". In this usage "live" means that if you have ALL other fragments loaded then you can not instantiate this type but the moment you additionally load
this fragment you become able to instantiate this type.

But it is possible that when you have ALL other fragments loaded you can already instantiate this type and so when you load this fragment you do not expand the "liveness" of this type but you DO suddenly make certain of its constructors accessible that were not previously accessible. In this situation previously logic would still not have included any defineSeed function at all and as a consequence these newly live constructors were never getting their associated castMaps which led to runtime errors when casting an instance that had been created by one of these broken constructors.

This change relaxes the defineSeed inclusion restriction to include fragments that are expanding a type's constructors liveness and not just fragments
that expand a type's liveness.

Change-Id: Idc87430b94338d289eae4760a1bef8ad127bd699
Review-Link: https://gwt-review.googlesource.com/#/c/3300/
---
M dev/core/src/com/google/gwt/dev/jjs/impl/FragmentExtractor.java
M dev/core/src/com/google/gwt/dev/js/ast/JsName.java
M dev/core/src/com/google/gwt/dev/js/ast/JsRootScope.java
A dev/core/test/com/google/gwt/dev/jjs/impl/FragmentExtractorTest.java
4 files changed, 394 insertions(+), 79 deletions(-)


--
To view, visit https://gwt-review.googlesource.com/3300
To unsubscribe, visit https://gwt-review.googlesource.com/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Idc87430b94338d289eae4760a1bef8ad127bd699
Gerrit-PatchSet: 4
Gerrit-Project: gwt
Gerrit-Branch: master
Gerrit-Owner: John Stalcup <stal...@google.com>
Gerrit-Reviewer: Brian Slesinsky <skybr...@google.com>
Gerrit-Reviewer: John Stalcup <stal...@google.com>
Gerrit-Reviewer: Leeroy Jenkins <jenk...@gwtproject.org>
Gerrit-Reviewer: Ray Cromwell <cromwell...@google.com>
Gerrit-Reviewer: Roberto Lublinerman <rlu...@google.com>

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors
--- You received this message because you are subscribed to the Google Groups "GWT Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to