<html>
<body>
Approved.<br><br>
<br>
<blockquote type=cite class=cite cite="">Change 20071108-hqm-4 by
hqm@IBM-2E06404CB67 on 2007-11-08 20:33:26 EST<br>
in /cygdrive/c/users/hqm/openlaszlo/trunk<br>
for
<a href="http://svn.openlaszlo.org/openlaszlo/trunk">
http://svn.openlaszlo.org/openlaszlo/trunk</a><br>
<br>
Summary: prevent spurious compiler warnings when overriding apply()
method on subclases of <state><br>
<br>
New Features:<br>
<br>
Bugs Fixed: LPP-5067, LPP-5065<br>
<br>
Technical Reviewer: ptw<br>
QA Reviewer: pbr<br>
Doc Reviewer:<br>
<br>
Documentation:<br>
<br>
Release Notes:<br>
<br>
Details:<br>
<br>
<br>
I modified the compiler to not warn if the attribute being overriden was
declared explicitly with a value of "true" for it's 'override'
property.<br>
<br>
So in lfc.lzx, we declare apply as non overridable, on the base
Instance<br>
<br>
<interface name="Instance"
extends="Object"><br>
<method name="apply"
override="false"/><br>
<br>
but "state" declares it overridable, so any subclass of state
can override it<br>
<br>
<br>
<interface name="state" extends="node"><br>
<attribute name="apply" override="true"
/><br>
<br>
<br>
I made the compiler not only not warn if you override the method with
another method, but not warn if you override an attribute with a method.
That is a little too loose I guess, but it only happens when you declare
"override=true" on an attribute.<br>
<br>
<br>
Tests:<br>
<br>
Files:<br>
A
test/compiler_errors/override-state-apply.lzx<br>
A
test/compiler_errors/override-builtin.lzx<br>
M WEB-INF/lps/schema/lfc.lzx<br>
M
WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java<br>
M
WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java<br>
M
WEB-INF/lps/misc/lzx-autoincludes.properties<br>
<br>
Changeset:
<a href="http://svn.openlaszlo.org/openlaszlo/patches/20071108-hqm-4.tar">
http://svn.openlaszlo.org/openlaszlo/patches/20071108-hqm-4.tar</a>
</blockquote></body>
</html>