egads that was a hell of a lot of refactoring!

approved

On Tue, Sep 21, 2010 at 9:26 AM, P T Withington <[email protected]> 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
>



-- 
Henry Minsky
Software Architect
[email protected]

Reply via email to