Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Handle Procedure Attributes #786
There are a number of opened issues that have been around since 0.x:
2.0 is going to have to make them happen. I'm tagging with [code-parsing], but really this isn't about the parser - it's purely about parsing: the VBE doesn't support member attributes, but honors them - this will be dirty string parsing work, without a net*; the VBE API can't help here.
*technically we could use the parser here, although I'm not sure how/whether it handles procedure attributes.
This feature will work off the current selection in the active code pane, and work when the selection is within a procedure:
Default member attribute: there can only be one, implementation must validate that. Sets value
A default member should be a property getter. Given a
Can turn into:
Iterator getter attribute: there can only be one, implementation must validate that. Sets value
The feature could create the member if it doesn't exist, and prompt whether to remove it when it does and user is un-checking the box.
This member makes a type usable with a
Procedure description attribute: one per method, implementation must validate that. Displays a short description for the member when the module is viewed in the Object Browser:
Default instance attribute is toggled in a class module's header:
When set to
You can now have that:
referenced this issue
Jan 8, 2016
Module attributes should probably be refactored to correspond with the Instancing property of the module. These are written in defined combinations. This is described in 126.96.36.199.1 and 188.8.131.52.2 of the VB6 language spec.
They appear to set the following flags (although the VB6 ones need to be verified with a compiler):
These attributes seem to correspond with the following TYPEFLAGS:
VB_Creatable = TYPEFLAG_FCANCREATE
In addition, the following attributes might make it easier to determine the type of document modules by examining the storage stream (see MS-OVBA 3.1.3):
VB_Base (Corresponds to GUID for parent class)
It isn't clear if these are used in VB6 (need to test some compiles)
referenced this issue
Mar 13, 2017
Can someone tell me what is the state of this issue? I see that there are already annotation classes created for all the four attributes types. But apart from that, are these annotations actually doing anything?
If there's anything to be implemented, I would like to start with the procedure description.