[Laszlo-dev] Is there a way to make this work in both swf8 and swf9 ?

P T Withington ptw at pobox.com
Mon Oct 6 08:38:53 PDT 2008


Swf8 is a js1

On Oct 6, 2008, at 9:18 AM, Donald Anderson <dda at ddanderson.com> wrote:

> Okay it's
>   http://www.openlaszlo.org/jira/browse/LPP-7127
>
> Subject says it is JS1 problem, but it looks from the end of the  
> description that
> there is also a problem in SWF8?
> Bottom line is both code fragments should work in all runtimes.
>
> On Oct 6, 2008, at 5:50 AM, P T Withington wrote:
>
>> Don, you should probably create a bug for the JS1 back-end to fix  
>> this.  Right now, when a class is translated to JS1, the initial  
>> values for slots are passed as arguments to the class constructor,  
>> and hence evaluated in a context before the class is defined.   
>> Instead the initial values should be moved into the same context  
>> that top-level statements in the class body are evaluated in (which  
>> is what the work-around that André describes is doing by hand).
>>
>> On 2008-10-05, at 18:27EDT, André Bargull wrote:
>>
>>> This pattern is used for the service classes: first declaration,  
>>> then the definition. Works there for swf8 and swf9.
>>>
>>> <script when="immediate" ><![CDATA[
>>>  public class LzQName {
>>>    static var XSD_STRING;
>>>    LzQName.XSD_STRING = new LzQName("string",  
>>> LzNamespace.URI_DEFAULT_SCHEMA_XSD);
>>>    function LzQName(type:String, uri:String) {
>>>    }
>>>  }
>>> ]]></script>
>>>
>>>> >/
>>>> />/
>>>> />/ It should work in both runtimes to just leave out the name of  
>>>> the class,
>>>> />/ since static vars are 'in scope' of the class body.
>>>> />/
>>>> /
>>>> OK that works for that case, but there's another case that's  
>>>> causing an
>>>> error in swf8, which is when the thing tries to instantiate an  
>>>> instance of
>>>> itself as a static var initializer, e.g.,
>>>>
>>>> public class LzQName {
>>>> static var XSD_STRING =
>>>>   new LzQName("string", LzNamespace.URI_DEFAULT_SCHEMA_XSD);
>>>>
>>>>
>>>> <a title="#75">ERROR @rpc/library/qname.js#130: call to undefined  
>>>> function
>>>> 'LzQName'</a>
>>>>
>>>
>>
>>
>
>
> --
>
> Don Anderson
> Java/C/C++, Berkeley DB, systems consultant
>
> voice: 617-547-7881
> email: dda at ddanderson.com
> www: http://www.ddanderson.com
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20081006/d5bd1572/attachment-0001.html


More information about the Laszlo-dev mailing list