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