[Laszlo-dev] Simple idea on how to update dynamic instantiation of user classes

Donald Anderson dda at ddanderson.com
Mon Jun 30 15:21:50 PDT 2008


Here's the perl script (attached).  I tried to upload it to the  
Runtime_Differences page,
but it looks like I can only update .gif/.jpeg files.  Any advice  
about where to put it?

I think I got all the cases:

-   if the class name already has lz. , no change

-   if the class name is a class defined in the input, then add lz.  
(?)  [requires two passes]

-   if the class name is class for a LFC tagname, convert it to  
tagname and add lz.  (new LzView => lz.view)
         I coded my list from WEB-INF/lps/server/src/org/openlaszlo/ 
compiler/ClassModel.java

-   if the class name is a known laszlo class, then add lz.
         I have a fixed list embedded in the script, generated via  
find WEB-INF/lps | xargs grep class

-   new global[*] is converted to new lz[*]

-   otherwise, no change (this includes Object, Array, ...).

Let me know if there are any changes, should be easy to modify.
Script includes a testcase to try all these situations.

- Don



On Jun 30, 2008, at 3:01 PM, P T Withington wrote:

> One flaw in thus idea:  many times the argument to new will be a  
> parameter of the class, so you have to skip all the class attributes  
> too. That may make searching for only the defined class names a  
> better choice of algorithm.
>
> On Jun 30, 2008, at 13:59, P T Withington <ptw at pobox.com> wrote:
>
>> The only 'native' classes that you might say `new *` or `x  
>> instanceof *` about are:
>>
>> Object, Array, String, Number, or Boolean.
>>
>> So we should be able to add to the conversion script that if you  
>> see `new *` or `x instanceof *` and * does not start with lz. and  
>> is not one of the five native classes above, you should rewrite it  
>> to lz.*.
>>
>> We also need to cover the case `new global[*]` needs to become `new  
>> lz[*]`.
>>
>> Icing on the cake would be to replace instances of the LFC class  
>> names with their tagname, e.g., (LzView becomes lz.view).
>>


--

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/20080630/af8aef48/attachment-0002.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: convert_instantiation.pl
Type: text/x-perl-script
Size: 10752 bytes
Desc: not available
Url : http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20080630/af8aef48/convert_instantiation-0001.bin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20080630/af8aef48/attachment-0003.html


More information about the Laszlo-dev mailing list