fdorg/flashdevelop — pull request #279 by Neverbirth (2014-07-10 11:58:56+00:00)
Title: Mxml/intellisenseimprovement

As the commit description says:

- Added event completion support. Decided to make matches lookup more relaxed than the one in other IDEs.
- Added function type completion support.
- Added Inspectable metadata support. This required some global ActionScript metadata parsing improvements.

Regarding the first point: other IDEs just look for functions with a single argument that has a compatible event type, inside the current class. I look for all compatible functions (ie: functions with more than one argument where the others are not mandatory, functions where the first argument type is also Object or *, matching public and protected functions from parents...). Event handler creation is not supported at this moment.

About the third point: current FD metadata support is way incomplete (not that FD ever had more use for it anyway), as a lot of metadata is ignored and incorrectly appended to the file model while metadata can be defined for most object types. I only added Inspectable metadata support, so there are stil a lot of metadata tags not processed, but, again, they are not being used inside FD. To solve the second issue I extended MemberModel and added a MetaData property and when parsing source files I don't store in the model the metadata until we get what object type it supplements, for now, only functions and variables, although I haven't checked this: maybe after the big switch the current member is stored and metadata can be appended to anything as it should? at any rate, it's enough as it is right now.