[Did your debugger not warn you to install the Flash Debug player?  It's a bug 
if it did now.

If you had the Debug player, you would have gotten a slightly more useful error 
message:

> ERROR @phil.lzx#10: ReferenceError: Error #1070: Method draw not found on 
> LzView 
> drawmixin1.draw init 
> myclass.draw init 

]

Ok, this is because of the dynamic nature of LZX.  In the past, you _could_ add 
a draw method to lz.view at runtime, which is why no one complains, including 
the normally strict Flex compiler.

But, we have new rules now, that say you no longer can add methods at runtime 
(but unfortunately, we still let you add other things, so we can't ask Flex to 
be that strict, yet).

Could you file an improvement to detect this at runtime?  It should be pretty 
easy to do once Don has the class models working.  The compiler already has 
most of the information it needs to make this check, since it already has to 
auto-compute when an LZX method needs `override`, it just needs to complain if 
it sees a super() call without an override.

In the mean time, the mixin user needs to either be an expert, or wear safety 
glasses and steel-toed shoes.

On 2011-01-24, at 19:26, [email protected] wrote:

> 
> 
>> Also as I say in the wiki page, and I hope what I said is true, your second 
>> example should fail to compile in the swf10 runtime.  The Flex compiler 
>> should notice that you are calling a non-existent super method at compile 
>> time, and complain.
> 
> There isn't a compile time error; just a runtime error.
> 
> ERROR @c3.lzx≈10: ReferenceError: Error #1070
> drawmixin1.draw init
> myclass.draw init
> 
> 
> The HTML5 compile has a better error message:
> 
> ERROR: super.draw is undefined in draw
> drawmixin2.draw init
> drawmixin1.draw init
> myclass.draw init


Reply via email to