[Laszlo-dev] For Review: Change 20080502-ptw-H Summary: Make handler trampoline work in swf9

P T Withington ptw at pobox.com
Sun May 4 10:52:01 PDT 2008


Should we just make all LZX methods public?

I don't think we want to burden the LZX programmer with this issue.

The other alternative is to shove toString into the prototype.  What  
AS3 does, for back-compatibility is put toString on Object.prototype.   
You can override that in your class by defining your own toString on  
your class prototype, but then you can't make super calls.  If a class  
has a public toString method, AS3 will call that in preference to the  
Object.prototype function.  But it has to be public.  If you don't  
declare it public, you can call it directly in your code but  
`String(foo)` and `'' + foo` will not.

On 2008-05-03, at 21:18 EDT, Henry Minsky wrote:

> lzpix is getting a similar issue when I try to compile it in swf9
>
> org.openlaszlo.sc.CompilerError: line 107: Error: Incompatible  
> override, in
> line: override function toString () {
> line 243: Error: Incompatible override, in line: override function  
> toString
> () {
> line 126: Error: Incompatible override, in line: override function  
> toString
> () {
>
>
> On Fri, May 2, 2008 at 11:40 PM, P T Withington <ptw at pobox.com> wrote:
>
>> The override us automatic, I think it is the public that is  
>> screwing the
>> test case. If toString is not public it won't be invoked by  
>> implicit string
>> conversions. So I declared it public in my patch that Max was  
>> testing. But
>> the test must override but not declare public. I'm pretty sure that  
>> is the
>> conflict.
>>
>>
>> On May 2, 2008, at 21:55, "Henry Minsky" <hminsky at laszlosystems.com>
>> wrote:
>>
>> Aren't the override keywords supposed to be inserted automatically ?
>> Do we need to declare toString on something in the lfc.lzx schema  
>> file so
>> that the compiler
>> knows to insert an override?
>>
>> On Fri, May 2, 2008 at 5:18 PM, P T Withington < <ptw at pobox.com>
>> ptw at pobox.com> wrote:
>>
>>> Well toString has to be a public override for it to work, so, I  
>>> think
>>> the example will have to be updated.
>>>
>>>
>>> On May 2, 2008, at 14:09, Max Carlson < <max at openlaszlo.org>
>>> max at openlaszlo.org> wrote:
>>>
>>> Your example works, but
>>>> <http://localhost:8080/trunk/examples/modeexample.lzx?lzr=swf9>
>>>> http://localhost:8080/trunk/examples/modeexample.lzx?lzr=swf9 now
>>>> gives a compiler error:
>>>> org.openlaszlo.sc.CompilerError: line 366: Error: Incompatible
>>>> override, in line: override function toString () {
>>>>
>>>> P T Withington wrote:
>>>>
>>>>> Change 20080502-ptw-H by ptw at dueling-banjos.home on 2008-05-02
>>>>> 06:48:32 EDT
>>>>>  in /Users/ptw/OpenLaszlo/ringding-2/WEB-INF/lps/lfc
>>>>>  for <http://svn.openlaszlo.org/openlaszlo/trunk/WEB-INF/lps/lfc>
>>>>> http://svn.openlaszlo.org/openlaszlo/trunk/WEB-INF/lps/lfc
>>>>> Summary: Make handler trampoline work in swf9
>>>>> Bugs Fixed:
>>>>> LPP-5818 'Warn when methods registered for events aren't expecting
>>>>> exactly one argument from sendEvent()'
>>>>> Technical Reviewer: hminsky (pending)
>>>>> QA Reviewer: max (pending)
>>>>> Details:
>>>>>  LzFormattter: Type and default args for swf9, work around switch
>>>>>  verifier error (must have break on final case).
>>>>>  *: toString must be public to have it seen by string coercion
>>>>> Tests:
>>>>>  This now runs in swf9, demonstrating that the wrapper to handle
>>>>>  the missing argument is being installed.
>>>>>  <canvas>
>>>>>    <simplelayout />
>>>>>    <text name="output" clickable="true" text="Click Me!"/>
>>>>>    <method name="handleMe">
>>>>>      output.format("Clicked!");
>>>>>    </method>
>>>>>    <handler name="onclick" reference="output" method="handleMe" />
>>>>>  </canvas>
>>>>> Files:
>>>>> M      kernel/swf/LzLibrary.lzs
>>>>> M      kernel/dhtml/LzLibrary.js
>>>>> M      services/LzURL.js
>>>>> M      services/LzIdle.lzs
>>>>> M      debugger/LzMemory.lzs
>>>>> M      core/LzMiniNode.lzs
>>>>> M      core/LzNode.lzs
>>>>> M      views/LzText.lzs
>>>>> M      views/LaszloCanvas.lzs
>>>>> M      helpers/LzFont.lzs
>>>>> M      helpers/LzSelectionManager.lzs
>>>>> M      events/LaszloEvents.lzs
>>>>> M      controllers/LzAnimatorGroup.lzs
>>>>> M      controllers/LaszloLayout.lzs
>>>>> M      controllers/LaszloAnimation.lzs
>>>>> M      data/LzLazyReplicationManager.lzs
>>>>> M      data/LzReplicationManager.lzs
>>>>> M      data/LzDatapointer.lzs
>>>>> M      data/LzDataText.lzs
>>>>> M      data/LzDataElement.lzs
>>>>> M      data/LzDataset.lzs
>>>>> M      data/LzDatapath.lzs
>>>>> M      data/LzResizeReplicationManager.lzs
>>>>> M      data/LzParsedPath.lzs
>>>>> M      data/LzParam.lzs
>>>>> M      data/LzDataAttrBind.lzs
>>>>> M      compiler/LzFormatter.lzs
>>>>> Changeset:
>>>>> <http://svn.openlaszlo.org/openlaszlo/patches/20080502-ptw-H.tar>
>>>>> http://svn.openlaszlo.org/openlaszlo/patches/20080502-ptw-H.tar
>>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Max Carlson
>>>> OpenLaszlo.org
>>>>
>>>
>>
>>
>> --
>> Henry Minsky
>> Software Architect
>> <hminsky at laszlosystems.com>hminsky at laszlosystems.com
>>
>>
>
>
> -- 
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com



More information about the Laszlo-dev mailing list