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]

Reply via email to