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.