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