<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Approved with some minor comments:</div><div><br></div><div>================</div><div>+ public function runToplevelDefinitions() {</div><div>+ &nbsp; &nbsp; &nbsp; &nbsp;// overridden by SWF9ParseTreePrinter</div><div>+ &nbsp; &nbsp;}</div><div><br></div><div>I think it would be more helpful and accurate to say 'overridden by function generated in the SWF9 script compiler'</div><div><br></div><div>================</div><div><div>-function LzInstantiateView(e, tn = 1)</div><div>+var LzInstantiateView = function (e, tn = 1)</div><div>&nbsp;{</div><div>&nbsp;&nbsp; &nbsp; canvas.initiatorAddNode( e , tn );</div><div>&nbsp;}</div><div><br></div><div>Why do we have to do this? &nbsp;It's less 'class-y', bucking our usual trend.</div><div><br></div><div><div>================</div><div>+++ WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9ParseTreePrinter.java<span class="Apple-tab-span" style="white-space:pre">        </span>(working copy)</div><div>@@ -56,6 +56,9 @@</div><div>&nbsp;&nbsp; &nbsp; boolean islib = false;</div><div>&nbsp;&nbsp; &nbsp; public Config setIsLib(boolean value) { islib = value; return this; }</div><div>&nbsp;</div><div>+ &nbsp; &nbsp;boolean isloadableLib = false;</div><div>+ &nbsp; &nbsp;public Config setIsLoadableLib(boolean value) { isloadableLib = value; return this; }</div><div>+</div><div><br></div><div>isloadableLib is never used. &nbsp;Is this work in progress?</div><div><br></div><div><div>================</div><div>+++ WEB-INF/lps/server/src/org/openlaszlo/compiler/SWF9Writer.java<span class="Apple-tab-span" style="white-space:pre">        </span>(working copy)</div><div><br></div></div><div><div>+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"runToplevelDefinitions()\n" +&nbsp;</div><div><br></div><div>I like to see terminating ';' -- even in javascript :-)</div></div></div><div>&nbsp;</div><div>================</div><div><br></div></div><div><br></div><div><div>On Nov 18, 2008, at 1:37 AM, Henry Minsky wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Change 20081118-hqm-v by <a href="mailto:hqm@badtzmaru.home">hqm@badtzmaru.home</a> on 2008-11-18 01:27:31 EST<br> &nbsp;&nbsp;&nbsp;in /Users/hqm/openlaszlo/trunk4<br> &nbsp;&nbsp;&nbsp;for <a href="http://svn.openlaszlo.org/openlaszlo/trunk">http://svn.openlaszlo.org/openlaszlo/trunk</a><br><br>Summary: checkpoint of swf9 runtime loadable libraries<br><br>New Features:<br><br>Bugs Fixed: LPP-7291<br><br>Technical Reviewer: dda<br>QA Reviewer: ptw<br>Doc Reviewer: (pending)<br><br>Documentation:<br><br>Release Notes:<br><br>Details:<br><br>+ rearranged how the main swf9 application class is called<br><br>+ Made SWF9ParseTreePrinter put all top level definitions into a new method, named "runToplevelDefinitions",<br>instead of putting them into the app constructor. This gives more control over when they are run, so<br>that the loadable library code path can first set up some globals before running them.<br><br>+ created a base class for runtime loadable libraries, LzBaseLoadableLib<br><br>+ got the loader working for swf9 LzLibrary.as, but the class still needs to be cleaned up and<br>make a common LzLibrary.lzs class, merged with the other runtimes.<br><br>+ runtime loading of tags (classes) is working, but loading of view instances and resources is not<br>implemented yet<br><br><br><br>Tests:<br><br>test/snippets/import-class.lzx in swf8,swf9<br>test/smoke/smokecheck swf8,swf9<br>lzpix in swf8,swf9<br><br><br>Files:<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as<br>A &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/lfc/kernel/swf9/LzBaseLoadableLib.as<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/lfc/kernel/swf9/Library.lzs<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/lfc/kernel/swf9/LzLibrary.as<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/lfc/kernel/LzLibraryCleanup.lzs<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/lfc/glue/LaszloInitiator.lzs<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9ParseTreePrinter.java<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/server/src/org/openlaszlo/compiler/CompilationEnvironment.java<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/server/src/org/openlaszlo/compiler/ImportCompiler.java<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/server/src/org/openlaszlo/compiler/SWF9Writer.java<br>M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java<br><br><br>Changeset: <a href="http://svn.openlaszlo.org/openlaszlo/patches/20081118-hqm-v.tar">http://svn.openlaszlo.org/openlaszlo/patches/20081118-hqm-v.tar</a><br></div></blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br class="Apple-interchange-newline">--</div><div><br>Don Anderson<br>Java/C/C++, Berkeley DB, systems consultant<br><br>voice: 617-547-7881<br>email:&nbsp;<a href="mailto:dda@ddanderson.com">dda@ddanderson.com</a><br>www:&nbsp;<a href="http://www.ddanderson.com/">http://www.ddanderson.com</a><br></div></div></span></span><br class="Apple-interchange-newline"></div></span></div></span><br class="Apple-interchange-newline"> </div><br></body></html>