Right. I sent the same caveat to Don. His final script will be
driven off the defined classes.
Even so, the script will not be able to find all the cases that need
updating because it is only going to do trivial analysis, looking for
tag names as arguments to `new` and `instanceof` and replacing them
with class names.
I am working on some better compile-time warnings.
You will always get a runtime warning in debug mode because you will
be calling `new` or `instanceof` on undefined.
On 2008-06-30, at 14:55 EDT, André Bargull wrote:
What happens if I you write:
var clazz:Class = lz.view;
new clazz();
new LzDataElement("entry", {}, null);
In these cases, you must not rewrite it to
new lz.clazz();
new lz.LzDataElement("entry", {}, null);
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).