[Laszlo-dev] bug with optional/rest args in compiler

P T Withington ptw at pobox.com
Mon Mar 31 13:43:50 PDT 2008


I think I see it.  In Codegenerator and Javascript generator pragmas  
are only looked for at the beginning of the function body and the  
optional arg processing is probably getting put in front of them...  I  
am going to change it to look for them anywhere, because I think we  
already believe that pragmas have block extent, so it makes sense for  
them to be 'pulled up'.

On 2008-03-31, at 16:31 EDT, P T Withington wrote:
> I'm running into this too now.  I think this is hi-prio to track down.
>
> On 2008-03-29, at 21:32 EDT, Donald Anderson wrote:
>> Sounds like an interaction between the injection of the
>> function prologue to handle variable args, and the
>> insertion of 'with (this)'.
>>
>> On Mar 29, 2008, at 9:13 PM, Henry Minsky wrote:
>>
>>> I tracked down a  bug I was seeing to this change, if I make the  
>>> args in lps/components/base/basebutton.lzx on the "showUp()"  
>>> method into "...rest" or "sd=null", then
>>> I get an error at runtime
>>>
>>>
>>> ERROR @base/basebutton.lzx#212: reference to undefined variable  
>>> '_enabled'
>>>
>>> But if I change the reference from "_enabled" to "this._enabled",  
>>> then it works:
>>>
>>>       <method name="showUp" args="...rest"> <![CDATA[
>>>           if (!this._enabled && this.disabledResourceNumber) {
>>>          ^^^^^^^^^^^
>>>               this.setResourceNumber( this.disabledResourceNumber );
>>>           } else {
>>>               this.setResourceNumber( this.normalResourceNumber );
>>>           }
>>>       ]]>
>>>
>>>
>>> So what is it about the optional-args transformation that would be  
>>> making the implicit "this" fail in swf8/dhtml?
>>>
>>>
>>>
>>>
>>> -- 
>>> Henry Minsky
>>> Software Architect
>>> hminsky at laszlosystems.com
>>>
>>
>>
>> --
>>
>> Don Anderson
>> Java/C/C++, Berkeley DB, systems consultant
>>
>> voice: 617-547-7881
>> email: dda at ddanderson.com
>> www: http://www.ddanderson.com
>>
>>
>>
>>
>



More information about the Laszlo-dev mailing list