If you need a working legals branch, don't sync to this change. It is a checkpoint for work in progress, but breaks DHTML and has some issues in SWF still. We will be working to repair these issues ASAP.
On 2006-05-21, at 09:40 EDT, P T Withington wrote: > Change 42402 by [EMAIL PROTECTED] on 2006/05/21 06:37:38 > > Summary: Shim new class structure underneath it all > > Bugs Fixed: Need a bug for this work > LPP-2029: Implement new class regime (partial) > LPP-1871 Compiler work to support 'new' > > Technical Reviewer: hminsky (pending) > QA Reviewer: max (pending) > Doc Reviewer: ben (pending) > > Details: > > LaszloLibrary: Add remote debugger > > LzRuntime: Add `make` trampoline for conventional > constructors. Turn off _dbg_log_all_writes. > > Class: Fix debug printing of new classes. Optimize > nextMethod annotation. Name anonymous functions (for > debugging). Fix scaffolding to initialize _all_ prototypes of > a class before first instance is made. Rename Trait.make to > Trait.makeInterstitial, so trying to instantiate a bare trait > is an error (for now). Copy Trait.initialize (class > initializer) onto interstitial constructor so that it will be > run in proper order by Class.make (when a new class mixes in > the trait). Remove incorrect prototype filtering. Turn off > interstitial sharing until we understand when it is permissible. > > core/Library: Remove .debug statements > > LzClass.as: Turn into an adapter that connects the old way to > the new. Class calls NewClass.make to make constructor, > Class.__LzCallInherited uses nextMethod. Remove added Object > properties. Remove obsolete callInherited, instanceOf. Use > real traits. > > LzNode.as: Pull initializer out of mvn to use new regime. > Turn LzNode.isExtendedBy into a LzNode class initialize > method. Add default setClassEvents and constructWithArgs > methods. Use Instance.addProperty when adding properties > dynamically to class prototype. > > UserClass.as: Pull initializer out. Use real traits. Make > setClassEvents an > internal function of the initializer (but maybe it is a class > initializer?) Use Instance.addProperty when adding properties > dynamically to class prototype. > > LzDataElement: Split into class and trait so trait can be > mixed in to LzDataset. Use trait class initialize method to > correctly install trait setters after setters created by > LzNode. > > LzDataNode: Turn into a trait that is mixed in to LzDataText > and LzDataElement. > > LzDataText: Use NewClass.make to mix in LzDataNode. > > LzDataset: Eliminate cheesyMultipleInheritance. Use traits to > mix in LzDataElementTrait and LzDataNode while descending from > LzNode. > > LzLibraryLoader, LzMediaLoader, LaszloEvents: constructor > becomes an initializer. > > LzDebug: Look for _dbg_name on functions (name to be obsolete > eventually). > > SWFwriter: Type-oh, noticed in passing. > > CodeGenerator: Translate new into make, support #pragma > "passThrough=true" to escape. > > JavascriptGenerator: Don't err for backtrace or profile > compiles (they don't work in DHTML yet, but we needed to build > backtrace compiles for debugging). > > Tests: smokecheck, lztest/* LZPIz(swf) > > Affected files ... > > ... //depot/lps-legals/WEB-INF/lps/lfc/LaszloLibrary.lzs#6 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/compiler/LzRuntime.lzs#13 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/core/Class.lzs#6 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/core/Library.lzs#7 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/core/LzClass.as#9 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/core/LzNode.as#10 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/core/UserClass.as#8 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/data/LzDataElement.lzs#5 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/data/LzDataNode.lzs#6 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/data/LzDataText.lzs#5 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/data/LzDataset.as#6 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/data/LzLibraryLoader.as#3 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/data/LzLoader.as#7 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/data/LzMediaLoader.as#5 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/debugger/LzDebug.as#8 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/debugger/LzFlashRemote.as#9 > edit > ... //depot/lps-legals/WEB-INF/lps/lfc/events/LaszloEvents.lzs#6 edit > ... //depot/lps-legals/WEB-INF/lps/lfc/transformers/LzMakeLoad.as#5 > edit > ... //depot/lps-legals/WEB-INF/lps/lfc/views/LaszloCanvas.as#8 edit > ... //depot/lps-legals/WEB-INF/lps/server/src/org/openlaszlo/ > compiler/SWFWriter.java#23 edit > ... //depot/lps-legals/WEB-INF/lps/server/src/org/openlaszlo/sc/ > CodeGenerator.java#11 edit > ... //depot/lps-legals/WEB-INF/lps/server/src/org/openlaszlo/sc/ > JavascriptGenerator.java#19 edit > _______________________________________________ Laszlo-dev mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
