Change bargull-20110113-UTt by barg...@bargull02 on 2011-01-13 00:24:02
in /home/anba/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: report compiler error when extending mixins
Bugs Fixed: LPP-8895 (mixin inheritance)
Technical Reviewer: ptw, henry
QA Reviewer: (pending)
Details:
Respond with a compiler error when users try to extend mixins because
it's unsupported. We may allow mixin inheritance at a later point, but
currently it's still open for implementation questions.
MixinCompiler.java:
- report compilation error if "extends", "with" or "implements" is found
on <mixin> element
InterfaceCompiler.java:
- report compilation error if "with" or "implements" is found on
<interface> element
- "extends" attribute is allowed for <interface>, see lfc.lzx schema file
Parser.jjt:
- create two separate productions for class and mixin preamble
- only class preamble allows "extends", "with" and "extends"
- mixin preamble doesn't allow any inheritance verbs, but still produces
EmptyExpressions so ClassDefinition has the same number of children for
classes and mixins (maybe we should create a distinct ast-node for
mixins, but for now this works)
Tests:
test case from bugreport reports compiler errors
Files:
M WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt
M WEB-INF/lps/server/src/org/openlaszlo/compiler/MixinCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/InterfaceCompiler.java
Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/bargull-20110113-UTt.tar