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 Function

will be parsed as:

''' <summary>some function</summary>
Public Function SampleFunction(ByVal pFirst As Double) As Double
End Function

and 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.

⚠️ **GitHub.com Fallback** ⚠️