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

Donald Anderson dda at ddanderson.com
Mon Jun 30 13:40:36 PDT 2008


Okay, I have the infrastructure done, I just need to code the major  
points given the new approach.
Please confirm:

-   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, yes?]

-   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 lfc class, then add lz.
         What's the easiest way to produce this?

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

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/70ecc163/attachment.html


More information about the Laszlo-dev mailing list