Right now we don't support mixins extending anything. See what happens if you suppress the 'extends' clause when you output a mixin?

On Dec 5, 2009, at 1:11, Henry Minsky <[email protected]> wrote:

I need some help in hacking the script compiler back end to understand "mixin".

Currently we're passing the follwing values for 'kind' from ClassModel,

mixin
class
instance class
anonymous

If I just emit "class" for everything except "mixin", something in the DHTML backend stil
chokes on "mixin":

"dynamic mixin $lzc$class_testmixin extends LzView "

compiles to something which causes a runtime error.

[exec] js: "lps/includes/lfc/LFCdhtml-debug.js", line 298: uncaught JavaScript runtime exception: TypeError: Cannot find function make in object
     [exec] function () {
     [exec]     this.constructor = arguments.callee;
[exec] if (this.$lzsc$initialize !== Instance.prototype. $lzsc$initialize) {
     [exec]         this.$lzsc$initialize.apply(this, arguments);
     [exec]     }
     [exec] }
     [exec] .
     [exec]     at lps/includes/lfc/LFCdhtml-debug.js:298
     [exec]     at test/lztest/lztest-mixins.js:153
     [exec]     at tmp/test_lztest_lztest-mixins.js:99






On Fri, Dec 4, 2009 at 6:03 PM, P T Withington <[email protected]> wrote:
On 2009-12-04, at 17:47, Henry Minsky wrote:

> On Fri, Dec 4, 2009 at 5:41 PM, P T Withington <[email protected] >wrote:
>
>> I don't see in ScriptClass that it is using `kind` in toString. Is the
>> changeset up to date?
>>
>
> So for the ScriptClass.toString method , should I only output a non-empty
> string if it's a "class" kind  , or just pass
> along any class/mixin/interface to the script compiler

Where toString has the literal "class" use the variable `kind` instead, and let the script compiler sort it out.

"dynamic class" + ...

=>

"dynamic " + kind + ...


>
>>
>> It seems that you should not need to make a copy of the element children in >> ViewCompiler (nor in ClassCompiler), since you're not munging the DOM in
>> ClassModel any more.
>>
>
> oh yeah..
>
>
>>
>> So, not quite approved yet...
>>
>> On 2009-12-04, at 17:31, Henry Minsky wrote:
>>
>>>
>>> really passes smokecheck now, in swf8,swf10, and dhtml
>>>
>>>
>>> Change 20091204-hqm-g by [email protected] on 2009-12-04 10:17:09 EST
>>>   in /Users/hqm/openlaszlo/trunk6
>>>   for http://svn.openlaszlo.org/openlaszlo/trunk
>>>
>>> Summary: fix for  instance-mixin fails for non-top-level instance
>>>
>>> New Features:
>>>
>>> Bugs Fixed: LPP-8654 instance-mixin fails for non-top-level instance
>>>
>>> Technical Reviewer: ptw
>>> QA Reviewer: max
>>> Doc Reviewer: (pending)
>>>
>>> Documentation:
>>>
>>> Release Notes:
>>>
>>> Overview:
>>>
>>>
>>> Details:
>>>
>>> + ViewCompiler: updateSchema recursively map over child elements
>>>
>>> + ClassModel: remove code in ClassModel that inserted a classdef into the
>> DOM.
>>>
>>> + ScriptClass: added a "kind" field
>>>
>>> + updated lztest smoke check for mixins to have non-toplevel node with
>> mixin
>>>
>>> Tests:
>>>
>>> test case from bug
>>> test/mixins.lzx
>>> smokecheck
>>> test/smoke/mixin-simple.lzx
>>>
>>>
>>> Files:
>>> M       test/lztest/lztest-mixins.lzx
>>> M       WEB-INF/lps/server/src/org/openlaszlo/sc/ScriptClass.java
>>> M WEB-INF/lps/server/src/org/openlaszlo/compiler/ ViewCompiler.java >>> M WEB-INF/lps/server/src/org/openlaszlo/compiler/ ClassModel.java
>>>
>>>
>>> Changeset:
>> http://svn.openlaszlo.org/openlaszlo/patches/20091204-hqm-g.tar
>>>
>>> _______________________________________________
>>> Laszlo-reviews mailing list
>>> [email protected]
>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
>>
>>
>
>
> --
> Henry Minsky
> Software Architect
> [email protected]




--
Henry Minsky
Software Architect
[email protected]


_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to