[Laszlo-dev] question about mixins

Max Carlson max at openlaszlo.org
Fri Dec 4 14:28:59 PST 2009


BTW, this is causing compiler errors in swf10 for me, e.g.:
org.openlaszlo.sc.CompilerError: boxmodel.lzx: 40: Error: Method marked 
override must override another method, in line: override function 
$lzc$set_margin ($0) {

The method is invalid because it's not actually overriding anything on 
view...

P T Withington wrote:
> Yeah, you are right.  This was sloppiness on my part.
> 
> I think the right fix is for you to add a 'kind' attribute to ScriptClass, so that mixins and interfaces do not get emitted as js 'class', but have their appropriate type instead.  Then it is up to the script compiler back-end to decide what to do with mixins and interfaces, which hopefully it already does correctly.
> 
> On 2009-12-04, at 13:31, Henry Minsky wrote:
> 
>> While I'm tracking down the instance mixin bug with nested views, I was
>> noticing that when we declare a mixin
>> in LZX, we are emitting an actual class declaration for it into the output
>> object file.
>>
>> e.g., in source code you have
>>
>>   <mixin name="boxmodel">
>> ...
>> </mixin
>>
>> And that ends up emitting script code for
>>
>>                           dynamic class $lzc$class_boxmodel extends LzView
>> { ... }
>>
>> But is it really necessary to actually have the mixin  class as an
>> instantiable class at runtime? People aren't ever expected to instantiate
>> a mixin by itself, right? And the script compiler copies  out the methods
>> and attributes to construct interstitial
>> classes at compile time,  so  we don't actually need to emit an actual class
>> definition for the mixin class itself into the output file?
>> It wouldn't save much space in practice I guess, since most apps  don't have
>> a lot of mixins declared, but it would reduce the object file a little
>> if we didn't put these in..
>>
>>
>>
>> -- 
>> Henry Minsky
>> Software Architect
>> hminsky at laszlosystems.com
> 
> 

-- 
Regards,
Max Carlson
OpenLaszlo.org


More information about the Laszlo-dev mailing list