Tucker and Henry,
lfc-undeclared.lzx has this:
<interface name="node" extends="Instance">
<!-- The comma-separated list of mixins, applied in order -->
<attribute name="with" type="string"/>
So we've introduced an attribute called 'with' into the LzNode schema. And
when we produce reference classes, we get the illegal code: 'var with:string;'.
If this is unused, I'll remove it from the schema, and I can remove the
cleanid code in ScriptClass.
Everything in lfc-undeclared.lzx is a little suspect. As you might remember,
it's all the random stuff that was in the original lfc.lzx (and presumed to be
correct). The new auto-generated lfc.lzx needed a way to graft these extra
symbols not found by running js2doc.
Let me know what you think. For now, I'm removing it and see how it goes.
There are also these classes in lfc-undeclared.lzx:
<interface name="interface" extends="MetaClass">
<attribute name="name" type="string" required="true" />
<attribute name="extends" type="token" value="view"/>
<attribute name="implements" type="token"/>
</interface>
<interface name="class" extends="interface">
<attribute name="with" type="token"/>
</interface>
But since we're only generating reference classes that are in the inheritance
chain, I don't think these will ever be seen by the JS compiler.
- Don
On Mar 8, 2011, at 3:35 PM, P T Withington wrote:
> 8. ScriptClass: I don't understand what is going on here. If you are
> renaming these variables only here, it seems they must not be referenced in
> the first place, so I wonder why we are emitting these. It seems there must
> be a deeper issue that this is papering over?
--
Don Anderson
Java/C/C++, Berkeley DB, systems consultant
voice: 617-306-2057
email: [email protected]
www: http://www.ddanderson.com
blog: http://libdb.wordpress.com