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