Change ptw-20110123-v6D by [email protected] on 2011-01-23 11:34:46 EST
    in /Users/ptw/OpenLaszlo/trunk-3
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Once more with feeling on LZO's

Bugs Fixed:  LPP-9691 Child nodes not created for instance classes when created 
in LZO

Technical Reviewer: [email protected] (pending)
QA Reviewer: [email protected] (pending)

Overview:

    This change addresses all the recently added regression tests
    discovered by Yuwen.  Hoping this is the charm.

Details:

    lfc-undeclared:  I need interfaces to be able to specify both
    `extends` and `implements` to describe LZO interstitials.  If that
    seems nonsensical, then we will have to invent some new LZO-only
    schema tag to describe interstitials, but this is my solution for
    now.

    ViewCompiler:  Gather dependencies specified by `implements` to
    ensure external mixin references will be linked.

    ViewSchema:  Emit mixin definitions first so they can be referred
    to by interfaces.  Emit interfaces even if they have not been
    modelled (which means they were included from another LZO).  When
    looking for childClassModels, they may be interfaces.

    NodeModel:  LZO interface children have to refer to the actual
    interstitial class.

    ClassModel:  Track interfaces implemented by interstitials.  Give
    interstitials valid XML names.  Interstitial interfaces need to
    specify the interfaces they implement (whether they are internal
    interfaces that need to be resolved at load time or external
    interfaces which will need to be linked at link time).  Mixins in
    LZO's must be written both as XML (for cloning) and as JS (to link
    to by `implements`).

Tests:
    ant lztest, Yuwen will verify jade LZO compile

Files:
M       WEB-INF/lps/schema/lfc-undeclared.lzx
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewCompiler.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/InterfaceCompiler.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
M       
WEB-INF/lps/server/src/org/openlaszlo/compiler/CompilationEnvironment.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20110123-v6D.tar

Reply via email to