Change 20080508-hqm-6 by [EMAIL PROTECTED] on 2008-05-08 09:33:21 EDT
    in /Users/hqm/openlaszlo/trunk5
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: accept LZX tag class-names as types for attributes

New Features:

Bugs Fixed:

Technical Reviewer: ptw
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:

Max recently changed menu.lzx to have an attribute which is of type "command", in order to
fix the docs.

This patch makes the tag compiler accept LZX class tag names as valid types for attributes. It treats them exactly as if they were of type "expression". So it isn't really doing proper sub-type checking, and it isn't emitting the type in the javascript attribute declaration, but it at least lets people document their LZX code as to the expected data type of an attribute.

Unfortunately, this will not support our new forward-reference ability for class names; if you set an attribtue to a type which is a class name which has not yet been lexically defined, it will complain about unknown type. To get that to work we'd have to make one pass just defining class names,
and then another pass looking at their attribute types.



Tests:

lztest
smokecheck
examples/components/menu-example.lzx
ant runlzunit

Files:
M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassCompiler.java
M      WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080508-hqm-6.tar

Reply via email to