Approved for QA!

On 9/21/10 6:26 AM, P T Withington wrote:
Change ptw-20100920-Zt6 by [email protected] on 2010-09-20 12:45:21 EDT
     in /Users/ptw/OpenLaszlo/trunk
     for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Remodularize LZX class compilation to support types

Bugs Fixed:  LPP-7354 Presentation Types (partial)

Technical Reviewer: [email protected] (pending)
QA Reviewer: [email protected] (pending)
Doc Reviewer: (pending)

Overview:
     Disentangled ClassModel from ViewSchema and created a separate
     class table for classes that implement<type>  as opposed to
     <class>.

Details:

     lfc-undeclared: interface/mixin/class are really meta-tags, not
     subclasses of node.  Permit<anonymous>  nodes in<node>.  Permit
     <interface>  and<type>  in<canvas>

     SchemaBuilder, ClassCompiler, ViewCompiler, TypeCompiler,
     MixinCompiler, ToplevelCompiler, InterfaceCompiler,
     CompilationEnvironment, Parser: Update to use symbolic constants,
     new API's.

     Schema: Remove DEFAULT_SCHEMA and getTypeAttribute protocol (moved
     to ClassModel).

     ViewSchema:  Move all class modelling to ClassModel.  Add separate
     table for<type>  classes.  Remove lots of unused cruft.  Fix total
     brain-oh in resolveClassModels to actually resolve classes in
     dependency order.  Simplify detection and checking of built-in
     classes.  Simplify containment checking by merging
     forbidden//tagset of superclasses.  Make event property of
     <method>  obsolete.

     NodeModel:  Use metaclass model, cache isclassdef.  Inline
     discovery of parentClassModel rather than trampolining through
     ViewSchema.  Inherit initstage.  Simplify totalSubnodes
     computation.  Simplify attribute type computation.  Handle
     user-defined<type>s.

     Compiler:  Look for<type>s.

     AttributeSpec:  Store final as a boolean

     ClassModel:  Cache more predicates.  Remove unused crud.
     Generalize to support type implementations.  Improve sortKey and
     compareTo so classes can actually be sorted in dependency order.
     Inherit predicates and contain/forbidded tags from superclass.
     Move class modelling stuff from ViewSchema here.

Tests:
     ant lztest, smokecheck X all runtimes, selected demo X runtime combinations

Files:
M       WEB-INF/lps/schema/lfc-undeclared.lzx
M       WEB-INF/lps/server/src/org/openlaszlo/js2doc/SchemaBuilder.java
M       WEB-INF/lps/server/src/org/openlaszlo/xml/internal/Schema.java
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/TypeCompiler.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/MixinCompiler.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ToplevelCompiler.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/InterfaceCompiler.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
M       
WEB-INF/lps/server/src/org/openlaszlo/compiler/CompilationEnvironment.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/AttributeSpec.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
M       WEB-INF/lps/server/src/org/openlaszlo/compiler/Parser.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20100920-Zt6.tar

Reply via email to