Comments:

1) In ViewSchema#630 you could move the (! modelOnly) test first to be more 
efficient.

Otherwise, approved.

Please reopen to me to integrate to 4.8 once you have checked in.

On 2010-06-24, at 20:03, Henry Minsky wrote:

> Change 20100624-hqm-f by [email protected] on 2010-06-24 17:46:24 EDT
>    in /Users/hqm/openlaszlo/trunk2
>    for http://svn.openlaszlo.org/openlaszlo/trunk
> 
> Summary: allow swf10-platform-specific lzo's to compile with references to 
> external libraries
> 
> New Features:
> 
> Bugs Fixed:
> 
> Technical Reviewer: ptw
> QA Reviewer: mdemmon
> Doc Reviewer: (pending)
> 
> Documentation:
> 
> Release Notes:
> 
> Overview:
> 
> This allows platform-specific library lzo's for swf10 to be compiled , even 
> if they reference
> external classes from other libraries whcih themselves are not already 
> compiled down to swf10 .swc lzo's. 
> 
> For example, you can compile a library for swf10 which subclasses classes 
> from the  components/lz/* libraries, even
> if we cannot yet compile the components/lz libraries down to a standalone 
> swf10 lzo. 
> 
> 
> 
> CompilationEnvironment.java:
> 
> + created addClassModel() method, which is used to declare a class to
> link against but which will not be included in an as3 .swc library.
> 
> + Add compilingExternalLibrary flag
> 
> 
> ClassModel.java: 
> 
> + in emitClassDeclaration, 'dynamically bind' the
> env.compilingExternalLibrary flag to the value of modelOnly, so that
> all anonymous subclasses from a class will obey the modelOnly
> behavior.
> 
> ViewSchema.java:
> 
> + Avoid duplicate class defs, by making toLZX() only emit class
> interface def from schema if class is not marked modelOnly.  External
> class interface defs will already be available via the <include> that
> is at the start of the lzo.
> 
> SWF9External.java:
> 
> + Take an explicit "blacklist" of external class names, to exclude from the
> .swc library
> 
> 
> Details:
> 
> 
> Tests:
> 
> compile lzo which subclasses external library class, for swf10
> cd test/testlzo
> 
> lzc -c --runtime=swf10 libdir/libwithbutton.lzx
> lzc --runtime=swf10 mainwithbutton.lzx
> 
> verify that mainwithbutton.lzx?lzr=swf10&debug=true appears in browser, with 
> three buttons,
> all clickable
> 
> 
> Files:
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/SWF10Compiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ObjectWriter.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryWriter.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/SWF9Writer.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
> 
> 
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20100624-hqm-f.tar


Reply via email to