[Re-sending.  Apparently there is no such email as `[email protected]`?]

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

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

Reply via email to