I decided to try adding a "override" flag as an explicit syntax for protecting some of the important base methods in lfc.lzx. The idea being that trying to override these methods in a LZX class will flag a compiler warning.
<interface name="Instance" extends="Object"> <method name="validateClassStructure" override="false"/> <method name="initialize" override="false"/> <method name="nextMethod" override="false"/> <method name="addProperty" override="false"/> <method name="constructor" override="false"/> <method name="hasOwnProperty" override="false"/> <method name="isPropertyEnumerable" override="false"/> <method name="isPrototypeOf" override="false"/> <method name="toLocaleString" override="false"/> <method name="prototype" override="false"/> <method name="apply" override="false"/> <method name="call" override="false"/> </interface> When I started getting the method-override warnings working properly for real, I got this warning, which is a real issue: C:/users/hqm/openlaszlo/trunk/WEB-INF/lps/schema/lfc.lzx:505:40: In class 'state' attribute 'apply' with type 'boolean' is overriding superclass attribute with same name but different type: _method_ Indeed, we probably should not be defining a method named "apply" on state. Maybe we should think about changing the name of this in future versions? In the meantime , I guess I'll remove the "override=false' flag from 'apply'... -- Henry Minsky Software Architect [EMAIL PROTECTED]
