Arma Reforger Script API
Loading...
Searching...
No Matches
SCR_DoxygenFillerPlugin Interface Reference
Inheritance diagram for SCR_DoxygenFillerPlugin:

Protected Member Functions

override void Run ()
 
bool ProcessAddon ()
 
void Init ()
 
bool ProcessCurrentFile ()
 Process the file currently opened in the Script Editor (focused tab)
 
bool ProcessFile (string filePath)
 Process the file and add Doxygen-formatted method documentation.
 
string GetClassname (string classLine)
 Get the name of the class declared on this line Works with inherited classes, does not work with interfering comments e.g "class /* *‍/ myClass".
 
SCR_DoxygenFillerPlugin_Method GetMethodObject (string line, int lineNumber)
 Get a method object IF public/protected/private/static/override settings match.
 
array< ref array< string > > GetParamsModifierTypeAndNameFromSig (string paramsString)
 Get parameter bits for each parameters.
 
string GetDoxygenDocumentation (notnull SCR_DoxygenFillerPlugin_Method method, bool addSeparator=false, string classname=string.Empty)
 
string ConvertDoxygenBlockToSingleLines (string doxygenBlock, inout SCR_DoxygenFillerPlugin_Method method)
 Convert a Doxygen comment block (indented or not) into multiple single lines (without indent) The result has the exact same number of lines as the input.
 
override void Configure ()
 
bool ButtonOK ()
 

Static Protected Member Functions

static string AddIndent (string input, int indentLevel=1, string indent="\t")
 Indent text with the provided indent character(s)
 

Protected Attributes

bool m_bDoxygenPublicMethods
 
bool m_bDoxygenProtectedMethods
 
bool m_bDoxygenPrivateMethods
 
bool m_bDoxygenOverriddenMethods
 
bool m_bDoxygenStaticMethods
 
bool m_bDoxygenObsoleteMethods
 
ref array< string > m_aPartialDoxygenPrefixes
 
bool m_bConvertDoxygenFormatting
 
bool m_bAddMissingSeparators
 
bool m_bAddConstructorNormalComment
 
bool m_bAddDestructorNormalComment
 

Static Protected Attributes

static const string METHOD_SEPARATOR = SCR_StringHelper.DOUBLE_SLASH + "------------------------------------------------------------------------------------------------"
 
static const string DOXYGEN_LINE_START = SCR_StringHelper.DOUBLE_SLASH + "!"
 
static const string GENERATED_SCRIPT_WARNING = "Do not modify, this script is generated"
 
static const string CONSTRUCTOR_COMMENT = SCR_StringHelper.DOUBLE_SLASH + " constructor"
 
static const string DESTRUCTOR_COMMENT = SCR_StringHelper.DOUBLE_SLASH + " destructor"
 
static const string COMMENT_BLOCK_START = "/" + "*"
 
static const string COMMENT_BLOCK_END = "*" + "/"
 
static const ref array< string > DOXYGEN_BLOCK_STARTS = { COMMENT_BLOCK_START + "*", COMMENT_BLOCK_START + "!" }
 
static const string BASE_PARAM = "\\param"
 
static const string FAULTY_PARAM = "\\param "
 

Member Function Documentation

◆ AddIndent()

static string SCR_DoxygenFillerPlugin.AddIndent ( string input,
int indentLevel = 1,
string indent = "\t" )
staticprotected

Indent text with the provided indent character(s)

Parameters
[in]input
[in]indentLevelmin 1, max int.MAX
[in]indentcharacter(s) to be used (for -one- indent level)
Returns
indented text

◆ ButtonOK()

bool SCR_DoxygenFillerPlugin.ButtonOK ( )
protected

◆ Configure()

override void SCR_DoxygenFillerPlugin.Configure ( )
protected

◆ ConvertDoxygenBlockToSingleLines()

string SCR_DoxygenFillerPlugin.ConvertDoxygenBlockToSingleLines ( string doxygenBlock,
inout SCR_DoxygenFillerPlugin_Method method )
protected

Convert a Doxygen comment block (indented or not) into multiple single lines (without indent) The result has the exact same number of lines as the input.

Parameters
[in]doxygenBlockDoxygen comment block (between /‍** ‍/ or /! *‍/)
[in,out]methodthe method object, used to set proper [in], [out], [in,out] in case of existing params
Returns
Doxygen comment as multiple single //! lines or empty string if nothing is provided or the block is empty

◆ GetClassname()

string SCR_DoxygenFillerPlugin.GetClassname ( string classLine)
protected

Get the name of the class declared on this line Works with inherited classes, does not work with interfering comments e.g "class /* *&zwj;/ myClass".

Parameters
[in]classLinea line starting with "class " (trim it before providing if needed)
Returns
found classname

◆ GetDoxygenDocumentation()

string SCR_DoxygenFillerPlugin.GetDoxygenDocumentation ( notnull SCR_DoxygenFillerPlugin_Method method,
bool addSeparator = false,
string classname = string::Empty )
protected

◆ GetMethodObject()

SCR_DoxygenFillerPlugin_Method SCR_DoxygenFillerPlugin.GetMethodObject ( string line,
int lineNumber )
protected

Get a method object IF public/protected/private/static/override settings match.

Parameters
[in]linemethod signature with all arguments - starting with ONE tab only
[in]lineNumber0-based line number , for debug print
Returns
method object with details

◆ GetParamsModifierTypeAndNameFromSig()

array< ref array< string > > SCR_DoxygenFillerPlugin.GetParamsModifierTypeAndNameFromSig ( string paramsString)
protected

Get parameter bits for each parameters.

Parameters
[in]paramsStringformat "type paramName" (out, inout, notnull etc supported)
Returns
array of arrays format { "modifier", "type", "paramName" }

◆ Init()

void SCR_DoxygenFillerPlugin.Init ( )
protected

◆ ProcessAddon()

bool SCR_DoxygenFillerPlugin.ProcessAddon ( )
protected

◆ ProcessCurrentFile()

bool SCR_DoxygenFillerPlugin.ProcessCurrentFile ( )
protected

Process the file currently opened in the Script Editor (focused tab)

Returns
true in case of success, false otherwise

◆ ProcessFile()

bool SCR_DoxygenFillerPlugin.ProcessFile ( string filePath)
protected

Process the file and add Doxygen-formatted method documentation.

Parameters
[in]filePathideally an absolute file path
Returns
true on success, false otherwise

◆ Run()

override void SCR_DoxygenFillerPlugin.Run ( )
protected

Member Data Documentation

◆ BASE_PARAM

const string SCR_DoxygenFillerPlugin.BASE_PARAM = "\\param"
staticprotected

◆ COMMENT_BLOCK_END

const string SCR_DoxygenFillerPlugin.COMMENT_BLOCK_END = "*" + "/"
staticprotected

◆ COMMENT_BLOCK_START

const string SCR_DoxygenFillerPlugin.COMMENT_BLOCK_START = "/" + "*"
staticprotected

◆ CONSTRUCTOR_COMMENT

const string SCR_DoxygenFillerPlugin.CONSTRUCTOR_COMMENT = SCR_StringHelper.DOUBLE_SLASH + " constructor"
staticprotected

◆ DESTRUCTOR_COMMENT

const string SCR_DoxygenFillerPlugin.DESTRUCTOR_COMMENT = SCR_StringHelper.DOUBLE_SLASH + " destructor"
staticprotected

◆ DOXYGEN_BLOCK_STARTS

const ref array<string> SCR_DoxygenFillerPlugin.DOXYGEN_BLOCK_STARTS = { COMMENT_BLOCK_START + "*", COMMENT_BLOCK_START + "!" }
staticprotected

◆ DOXYGEN_LINE_START

const string SCR_DoxygenFillerPlugin.DOXYGEN_LINE_START = SCR_StringHelper.DOUBLE_SLASH + "!"
staticprotected

◆ FAULTY_PARAM

const string SCR_DoxygenFillerPlugin.FAULTY_PARAM = "\\param "
staticprotected

◆ GENERATED_SCRIPT_WARNING

const string SCR_DoxygenFillerPlugin.GENERATED_SCRIPT_WARNING = "Do not modify, this script is generated"
staticprotected

◆ m_aPartialDoxygenPrefixes

ref array<string> SCR_DoxygenFillerPlugin.m_aPartialDoxygenPrefixes
protected

◆ m_bAddConstructorNormalComment

bool SCR_DoxygenFillerPlugin.m_bAddConstructorNormalComment
protected

◆ m_bAddDestructorNormalComment

bool SCR_DoxygenFillerPlugin.m_bAddDestructorNormalComment
protected

◆ m_bAddMissingSeparators

bool SCR_DoxygenFillerPlugin.m_bAddMissingSeparators
protected

◆ m_bConvertDoxygenFormatting

bool SCR_DoxygenFillerPlugin.m_bConvertDoxygenFormatting
protected

◆ m_bDoxygenObsoleteMethods

bool SCR_DoxygenFillerPlugin.m_bDoxygenObsoleteMethods
protected

◆ m_bDoxygenOverriddenMethods

bool SCR_DoxygenFillerPlugin.m_bDoxygenOverriddenMethods
protected

◆ m_bDoxygenPrivateMethods

bool SCR_DoxygenFillerPlugin.m_bDoxygenPrivateMethods
protected

◆ m_bDoxygenProtectedMethods

bool SCR_DoxygenFillerPlugin.m_bDoxygenProtectedMethods
protected

◆ m_bDoxygenPublicMethods

bool SCR_DoxygenFillerPlugin.m_bDoxygenPublicMethods
protected

◆ m_bDoxygenStaticMethods

bool SCR_DoxygenFillerPlugin.m_bDoxygenStaticMethods
protected

◆ METHOD_SEPARATOR

const string SCR_DoxygenFillerPlugin.METHOD_SEPARATOR = SCR_StringHelper.DOUBLE_SLASH + "------------------------------------------------------------------------------------------------"
staticprotected

The documentation for this interface was generated from the following file: