Fixed a missing newline that made the generate code hard to understand... -----Original Message----- From: Gordon Smith [mailto:gosm...@adobe.com] Sent: Friday, January 18, 2013 4:28 PM To: dev@flex.apache.org Subject: Falcon progress
Today I added MXML parser unit tests for MXMLPropertySpecifierNode in the case of properties of type Boolean, int, uint, Number, and String. Here's some background about property-specifier nodes in Falcon: Suppose a class has a property p of type int. Then you set can p on an instance (or a class definition) in three ways: (1) Instance tag + property tag + instance tag for value <MyComponent> <p> <int>1</int> </p> </MyComponent> (2) Instance tag + property tag + text for value <MyComponent> <p>1</p> </MyComponent> (3) Property attrribute <MyComponent p="1"/> Note that (1) is the general case and is required for properties of non-scalar type. (2) and (3) are just terser equivalents that can be used when the property has a scalar type. These three MXML snippets all have the same semantics, and produce the same three nodes in the AST: MXMLInstanceNode "MyComponent" MXMLPropertySpecifierNode "p" MXMLIntNode 1 which means "set the property p of the instance of MyComponent to the int 1". The code generator produces ABC such as // ... instance-ref dup // ... instance-ref instanceref push 1 // ... instance-ref instance-ref property-value setproperty p // ... instance-ref (where the comments show what is on the stack) for each MXMLPropertySpecifierNode, although I haven't added functional tests of property nodes yet. - Gordon