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
