I was just using the Antidoc tool and ran into this same issue where I need the private functions of my classes documented as well. It is a fairly simple fix overall. It requires updates to:
Lv Proj Document Type.lvlib:VI.lvclass:Vis to Table.vi
Addition of new case in the Access Scope Case Structure
New VI (AntiDoc.lvlib:Utilities.lvlib:Scope Private File Name--constant.vi - different repository)
Inner case structure (No Error -> VI -> True -> Standard VI) needs to include private in the case that calls Lv Proj Document Type.lvlib:Vi.lvclass:Create Vi.vi
Other case should only handle "invalid scope"
These two changes will allow Private Scope functions to be included in the output. Unfortunately it does require one addition to the main antidoc repo. If this is to be set as an option in the Generate Documentation window, then that would also need to be updated and the information would need to be passed into these VIs. I would be happy to make the minor changes to the LabVIEW Project VIs if it would be helpful.
Hi @coons.daniel,
First, I think you correctly described the modification needed to implement this feature (I'm glad to see that the code can be read and understood by others ).
The modification will add the feature for both classes and libraries.
That being said, it was initially intentional not to include private functions. I've been feeling this wouldn't add lots of value (mainly because I'm used to only describing public interfaces of my libraries and classes). I totally understand it could be different for other developers. So I'd like this feature to be optional.
This should not be that complex. The config object is already present in Lv Proj Document Type.lvlib:Project Parser.lvlib:Library.vi, so we have to:
Add a boolean into the Lv Proj Config.lvclass private data
Modify Lv Proj Config:Configuration--dialog.vi to handle this new parameter
Create a Read Accessor to the new property
Use the property value in Lv Proj Document Type.lvlib:Project Parser.lvlib:Library.vi to add private VI or not
Define the default value for the new parameter in Lv Proj Config:Default Values.vi. I think this default value should be set to false.
If you can do all these modifications, I'd be happy to merge them. Do you have a LV 2014 license?
IMPORTANT/2: To work on the add-on you need to install Antidoc and be sure to uninstall the add-on.
IMPORTANT/3: To test the modifications from the source code, you can create an INI file named Antidoc.ini in your ..\LabVIEW Data\Antidoc folder with the following content
NOTE: the second file to modify is Lv Proj Document Type.lvlib:Project Parser.lvlib:Library.vi not Lv Proj Document Type.lvlib:Project Parser.lvlib:Parser.vi
Sounds good - I will get to work on taking a look and will let you know if I have any questions.
Also, LV 2014 is good to go
I did notice the one VI that needed to be added to AntiDoc.lvlib:Utilities.lvlib:Scope Private File Name--constant.vi, how did you want to handle that one?
(Side note: our use case for documentation of private functions comes from customer requirement for documentation of ALL functions)
I did notice the one VI that needed to be added to AntiDoc.lvlib:Utilities.lvlib:Scope Private File Name--constant.vi, how did you want to handle that one?
I'll try to send you a beta of Antidoc v2.0.3 with at least the #197 issue implemented.
IMPORTANT: I changed the value of the key in the INI file for the LV version. Instead of the year, you need to set the exact version. For example 14.0.1f11.