Features and Limitations

Vsevolod Kukol edited this page Feb 3, 2015 · 1 revision

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

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.