[Laszlo-dev] For Review: Change 20080502-ptw-H Summary: Make handler trampoline work in swf9
P T Withington
ptw at pobox.com
Mon May 5 15:49:11 PDT 2008
I think I'll split up my changes for now... I'll send out some new
reviews.
On 2008-05-05, at 18:48 EDT, Henry Minsky wrote:
> Hmm, ideally I would like to, but it will take a day of someone's
> time to
> declare everything public that needs to be.
>
>
> On Mon, May 5, 2008 at 6:23 PM, P T Withington <ptw at pobox.com> wrote:
>
>> Ok, my simple attempt to do this really makes matters much worse,
>> because
>> now every LFC method _other_than_ toString cannot be overridden (at
>> least
>> until we address http://jira.openlaszlo.org/jira/browse/LPP-5934:
>> 'declare
>> public LFC methods and attributes as public').
>>
>> Still want to go forward with this plan?
>>
>>
>> On 2008-05-05, at 00:19 EDT, Henry Minsky wrote:
>>
>> I think it would be fine to make all used-defined LZX methods be
>> public.
>>> I
>>> don't think we need to
>>> make any of the 'internal' gensym'ed anonymous handler methods
>>> public or
>>> anything.
>>>
>>>
>>>
>>> On Sun, May 4, 2008 at 1:52 PM, P T Withington <ptw at pobox.com>
>>> wrote:
>>>
>>> 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=swf9now
>>>>>>>> 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
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> Henry Minsky
>>> Software Architect
>>> hminsky at laszlosystems.com
>>>
>>
>>
>
>
> --
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com
More information about the Laszlo-dev
mailing list