Yup, I'm merging now

On Fri, Nov 20, 2009 at 3:21 PM, Max Carlson <[email protected]> wrote:

> This patch doesn't apply cleanly on TOT (r15200).  Can you svn up and send
> an updated version?  Thanks!
>
>
> 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/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
>>
>
> --
> Regards,
> Max Carlson
> OpenLaszlo.org
>



-- 
Henry Minsky
Software Architect
[email protected]
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to