Features and Limitations - sevoku/doxygen-vb-filter GitHub Wiki
##Features
- translates VB code to a c#like syntax, readable by Doxygen
- supports Classic VB (VB6) and VB.NET
- supports comments with all doxygen commands and XML tags
- supports VS-like member comments
- supports inline (member-) comments
- recognizes: Enum (with member comments), Interface, Class, Structure
- supports Namespaces
- supports "Inherits" and "Implements"
- lets doxygen detect constructors and static members
- supports all possible member declarations
- supports Declares
- rewrites As Type definitions
- rewrites Parameters
- supports Array declarations
###Compared to VB Filter by Mathias Henze The following table shows the main differences between the original VB filter by Mathias Henze and this new VB filter:
| Original | New | |
|---|---|---|
| by Mathias Henze | by Vsevolod Kukol | |
| supported languages: | Classic VB | Classic VB / VB.NET |
| language emulation: | C++ | C# |
| insert braces and semikolons: | Yes | Yes |
modifiers (Public -> public): |
Yes | Yes |
| .NET-style documentation: ( ''' -> /** ... */) |
limited | Yes |
classic documentation: (' -> /** ... */) |
Yes | Only with Tags |
| file header recognition: | No | VB.NET only |
| inline member documentation: | limited | Yes |
| inline comments for Enums: (separator between value and comment) |
No | Yes |
| Inteface support: | No | Yes |
| multiple inheritance: | No | Yes |
rewrite member types:<name> As <type> -> <type> <name>
|
No | Yes |
| rewrite parameters: | No | Yes |
| support properties: | No | Yes |
| rewrite braces in arrays: | No | Yes |
| detect / add namespaces: | No | Yes |
| rewrite declares: | No | rewrites Lib/Alias as comment |
| convert the real code (algorithms): | No | No |
##Limitations / Functionality
The filter script processes only declarations and removes all algorithms or "the real code".
For example:
''' <summary>some function</summary>
Public Function SampleFunction(ByVal pFirst As Double) As Double
Dim val As Double
val = pFirst * 3 / 2 ' stupid example
Return val
End Functionwill be parsed as:
''' <summary>some function</summary>
Public Function SampleFunction(ByVal pFirst As Double) As Double
End Functionand passed to doxygen as:
/**
* <summary>some function</summary>
*/
public Function Double SampleFunction (Double pFirst) ;The result is not a real C# code! And it isn't meant to be C#! It is something that Doxygen understands while the documentation has almost exactly the original VB notation/syntax.