Lets go back to:
tagName = "anonymous extends='" + superTagName + "'";
at line 138 in class model. This is most helpful for debugging.
I lied to you about that debug code. I had checked it in. I removed it, now
you need to update again, because there is a merge error in class model right
there. You are putting back a line I took out.
[More later, gott ago now[]
On 2009-11-20, at 17:42, Henry Minsky wrote:
> Change 20091120-hqm-i by [email protected] on 2009-11-20 08:58:31 EST
> in /Users/hqm/openlaszlo/trunk
> for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: support mixins on instances
>
> New Features:
>
> Bugs Fixed: LPP-8602 Allow with="" on instances declarations
>
> Technical Reviewer: ptw
> QA Reviewer: max
> Doc Reviewer: (pending)
>
> Documentation:
>
> Release Notes:
>
> mixins are supported now on instances as well as classes, e.g.,
>
> <mixin name="textmixin">
> <attribute name="foo" value="bar" type="text"/>
> </mixin>
>
> <text name="mixinstance" with="textmixin">
> <attribute name="text" value="${this.foo}"/>
> </text>
>
> Overview:
>
>
> Details:
>
>
> ClassCompiler.java: remove call to super.updateSchema, since we made
> ViewCompiler's updateSchema now do some things that only apply to
> instances.
>
> schema/lfc-undeclared.lzx: Moved the "with" atribute down from <class> to
> <node>
> beause instances can now have mixins
>
> ViewCompiler.java: add updateSchema method, so that instances with mixins will
> call the ClassModel machinery to add the needed interstitial classes to the
> app.
> This is done by rewriting the instance as a <anonymous extends="tagclass">
> instance,
> and then ClassModel and NodeModel have been modified to know how to deal with
> these
> 'class-like instances'
>
> Also removed call to the class inlining code that is no longer used in
> the compiler.
>
>
> ToplevelCompiler.java: use generalized 'tagname' accessor to get the
> classname of an instance, since an element may be an anonymous instance
> class.
>
>
> ViewSchema.java: add an explicit arg to say if we're defining a public class
> or a
> private (anonymous instance) one
>
> NodeModel.java: Since instance classes may now be given a 'anonymous'
> tag, define generalized accessor tagOrClassName which returns the
> value of 'extends' if it exists, otherwise return the tag name
>
>
> Compiler.java: remove some of the class inlining code that has not worked in
> forever
>
> DebugCompiler.java: remove class inlining code
>
>
> ClassModel.java: make the ClassModel constructor accept a <anonymous> tag
> that has mixins, and build the
> interstitial classes just like for a <class> that has mixins.
>
>
>
>
>
>
> Tests:
>
> test/lztest/lztest-mixins.lzx added to the "ant lztest" suite
>
> test/smoke/mixin-simple.lzx
>
> testcase from bug (uncomment the commented out region)
>
>
> Files:
> M test/lztest/rhino.txt
> A test/lztest/lztest-mixins.lzx
> A test/smoke/mixin-simple.lzx
> M WEB-INF/lps/schema/lfc-undeclared.lzx
> M WEB-INF/lps/lfc/core/LzNode.lzs
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassCompiler.java
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewCompiler.java
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/ToplevelCompiler.java
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/DebugCompiler.java
> M WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
>
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20091120-hqm-i.tar
>
> _______________________________________________
> Laszlo-reviews mailing list
> [email protected]
> http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews