[I'm going to check this in so Maynard can verify.]

On 2011-03-25, at 14:45, P T Withington wrote:

> Change ptw-20110325-KrX by [email protected] on 2011-03-25 13:48:22 EDT
>    in /Users/ptw/OpenLaszlo/trunk-devo
>    for http://svn.openlaszlo.org/openlaszlo/trunk
> 
> Summary: Ensure interstitials required by an .lzo class are written to the 
> .lzo
> 
> Bugs Fixed: LPP-9850 Compile order dependency for lzo that includes an 
> (uncompiled) lzo that includes an lzo (whew!)
> 
> Technical Reviewer: [email protected] (pending)
> QA Reviewer: [email protected] (pending)
> 
> Overview:
> 
>    The compiler tries to share interstitials, but when you are
>    library-compiling, the compiler cannot tell whether an
>    interstitial that implements an external mixin will or will not be
>    instantiated by other libraries, so it has to be conservative and
>    make a copy of the interstitial in every library that needs
>    it.
> 
>    A future improvement would be to have each library create only a
>    descriptor for each intersitial it requires and resolve duplicate
>    interstitials at link time.
> 
> Details:
> 
>    lztest/*:  Add a new test: a library that uses mixins locally, a
>    second library that uses the first, but lzo-compile the second
>    library first (the failing case from the bug report).
> 
>    compiler/*:  In passing, replaced many redundant calls to look for
>    the linking flag with a boolean flag on the compilation
>    environment.
> 
>    ClassModel:  If a class is not modelOnly and has interstitials,
>    ensure that the interstitials are not modelOnly (will be emitted
>    with the class).
> 
>    prepare-lzo-test:  Add the new test that lzo-compiles the test
>    libraries out of order (the failing case from the bug report).
> 
> Tests:
>    smokecheck, ant lztest
> 
> Files:
> M       test/lztest/lzodir2/lzo-lib.lzx.proto
> M       test/lztest/lztest-lzo-main.lzx
> A       test/lztest/lzodir3
> A       test/lztest/lzodir3/lzo-double-lib.lzx.proto
> A       test/lztest/lzodir/lzo-lib-shared-interstitials-def.lzx.proto
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryCompiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/DHTMLWriter.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ToplevelCompiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/FileResolver.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/Compiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/Parser.java
> M       build-tools/prepare-lzo-test.sh
> 
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20110325-KrX.tar


Reply via email to