Please add a unit test for this...

Max Carlson wrote:
> Approved!  The testcase from LPP-7745 works, as does webtop.
> 
> P T Withington wrote:
>> Change 20091112-ptw-v by [email protected] on 2009-11-12 15:47:12 EST
>>     in /Users/ptw/OpenLaszlo/trunk
>>     for http://svn.openlaszlo.org/openlaszlo/trunk
>>
>> Summary: Allow forward references to superclasses in LZX
>>
>> Bugs Fixed: LPP-7745 Allow forward references to superclass when declaring a 
>> class in LZX
>>
>> Technical Reviewer: hminksy (pending)
>> QA Reviewer: max (pending)
>>
>> Overview:
>>
>>     The LZX compiler already walks the code twice, to accumulate the
>>     class declarations so it can adjust the schema to accept the new
>>     tags the class declarations create.  We just need to defer some of
>>     the work that builds the class model until the classes can be
>>     sorted according to their dependency order.
>>
>>     Most of the large additions/deletions in this changeset consist of
>>     just moving the class modelling from ViewSchema and ClassCompiler
>>     into ClassModel so it can be deferred until all the class
>>     definitions are known.
>>
>> Details:
>>
>>     ClassCompiler: Move all model-building to ClassModel.  All
>>     ClassCompiler does now add the class to the schema in
>>     updateSchema, and call the ClassModel compiler in compile.
>>
>>     ViewCompiler, NodeModel: Update for renamed ClassModel members.
>>
>>     ViewSchema_Test:  Comment out obsolete tests.
>>
>>     ViewSchema: Distinguish between needing the full class model and
>>     just the unresolved model.  The unresolved model is sufficient for
>>     syntax-checking class declarations, the resolved model is only
>>     needed to check instantiations.  Move model-building to
>>     ClassModel.  Add an interface to ensure all class models are
>>     resolved (before you compile). After loading schema, ensure the
>>     schema models are resolved.
>>
>>     Compiler: After updating the root schema, resolve all classes
>>     before starting the compile pass.
>>
>>     ClassModel: Break out modelling that requires superclasses and
>>     mixins to be modelled into a separate resolve phase which is
>>     invoked by the schema compiler only after all the class
>>     declarations have been added to the schema.
>>
>> Tests:
>>     Smokecheck on all platforms.  Test case from the bug.
>>
>> Files:
>> 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/ViewSchema_Test.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/ClassModel.java
>>
>>
>> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20091112-ptw-v.tar
> 

-- 
Regards,
Max Carlson
OpenLaszlo.org
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to