Alex, all, In 'goog', adding @expose in the JSDoc prevents a property or method from being renamed in order to keep it available for calls from 'the outside'.
In FlexJS, the MXMLData solution has (target) property names as strings. The Closure Compiler won't touch strings and it will not rename @expose members. A small test shows that this adds up to an 'unneeded' file size in the release version of the example of 6 kb. This is 6 kB of 26 kB (not counting the 'goog.events' contribution), a whopping 25%. This is not a one time hit like you get when adding another library functionality, this looks to be 25% of every application you create, however big. So, a 200 kB app is "wasting" 50 kB by not allowing members to be renamed. My points is (if there is any) that if we're looking to keep the delivery size of the compiled JS down, we might not find much benefit in keeping out minor, one time additions, but we might want to look at optimising the use of the toolchain. EdB PS. The 'small' test I did was not functional and immediate efforts to make it so showed some non-trivial hurdles; this is not an 'easy-fix'. -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl