summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoenio Costa <joenio@joenio.me>2019-08-05 01:22:12 (GMT)
committerJoenio Costa <joenio@joenio.me>2019-08-05 01:22:12 (GMT)
commit69f51747c37bb24b7e296ff01bb7e45a624f6225 (patch)
tree64ae72f5c5689d7285375516967cd89725af1e54 /src
parent7f0ea786de3153f535ca20280d6b8660ffefd2e6 (diff)
downloadDoxygen-69f51747c37bb24b7e296ff01bb7e45a624f6225.zip
Doxygen-69f51747c37bb24b7e296ff01bb7e45a624f6225.tar.gz
Doxygen-69f51747c37bb24b7e296ff01bb7e45a624f6225.tar.bz2
doxyparse addon new features and bugfixes
this commit is a squashed merge from lots of doxyparse evolution and concentrates contributions from many authors, all listed at the end of this message as Signed-off-by follow a list of all improvements and bugfixes on doxyparse: * workarounding strings replaced by doxygen core * print missing module name for some C code (analizo/analizo#155) * do not count/print 'void' as a function argument * rough instructions for doxyparse release * limit identifiers to 1024 chars (analizo/analizo#135) * removing "\\" from function signatures (analizo/analizo#138) * fix override args references (analizo/analizo#79) * check if new_data in removeDoubleQuotes function is empty (analizo/analizo#120) * removing double quotes from function signature (analizo/analizo#117) * check if ArgumentList is null (analizo/analizo#116) * don't report same module/class more than once (analizo/analizo#112) * add missing key "defines:" to all modules (analizo/analizo#111) * check if string is larger than 1 before removing surrounding quotes (analizo/analizo#110) * doxyparse properly detects package methods * output inheritance as list instead of hash * start yaml document: --- * adding double quoted in module name (analizo/analizo#106) * added --version flag to doxyparse * removing double quotes from function arguments list * fix doxyparse segfault for python source files * using quotes to surround members definition on yaml * add the number of conditionals path * generate configvalues.h * adding .cs (csharp) as non-C file extension * adding .pyw (python) as non-C file extension * adding .py (python) as non-C file extension Signed-off-by: Antonio Terceiro <terceiro@softwarelivre.org> Signed-off-by: Henrique Dutra <hld@henriquedutra.com.br> Signed-off-by: Igor Ribeiro Barbosa Duarte <igor.ribeiro.duarte@gmail.com> Signed-off-by: João M. Miranda <joaomm88@gmail.com> Signed-off-by: Jonathan Moraes <arkyebr@gmail.com> Signed-off-by: Kleber <kleberbritomoreira10@gmail.com> Signed-off-by: leonardork <leodegolim@yahoo.com.br> Signed-off-by: Marcelo Ferreira <marcelohpf@gmail.com> Signed-off-by: Mateus Andrade <mateusandrade080@gmail.com> Signed-off-by: Matheus Miranda <matheusmirandalacerda@gmail.com> Signed-off-by: Paulo Meirelles <paulo@softwarelivre.org> Signed-off-by: Sabryna de Sousa <sabryna.sousa1323@gmail.com> Signed-off-by: Vinicius Daros <vkdaros@mercurio.eclipse.ime.usp.br> Signed-off-by: VinyPinheiro <viny-pinheiro@hotmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/code.l16
-rw-r--r--src/memberdef.cpp11
-rw-r--r--src/memberdef.h5
3 files changed, 32 insertions, 0 deletions
diff --git a/src/code.l b/src/code.l
index 8df0085..45429c3 100644
--- a/src/code.l
+++ b/src/code.l
@@ -2472,6 +2472,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
BEGIN(FuncCall);
}
<Body>{FLOWCONDITION}/{BN}*"(" {
+ if (g_currentMemberDef && g_currentMemberDef->isFunction())
+ {
+ g_currentMemberDef->addFlowKeyWord();
+ }
startFontClass("keywordflow");
codifyLines(yytext);
endFontClass();
@@ -2489,6 +2493,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
}
}
<Body>{FLOWCONDITION}/([^a-z_A-Z0-9]) {
+ if (g_currentMemberDef && g_currentMemberDef->isFunction())
+ {
+ g_currentMemberDef->addFlowKeyWord();
+ }
startFontClass("keywordflow");
codifyLines(yytext);
endFontClass();
@@ -2503,6 +2511,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
endFontClass();
}
<Body>{FLOWCONDITION}/{B}* {
+ if (g_currentMemberDef && g_currentMemberDef->isFunction())
+ {
+ g_currentMemberDef->addFlowKeyWord();
+ }
startFontClass("keywordflow");
codifyLines(yytext);
endFontClass();
@@ -3038,6 +3050,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
endFontClass();
}
<MemberCall2,FuncCall>{FLOWCONDITION}/([^a-z_A-Z0-9]) {
+ if (g_currentMemberDef && g_currentMemberDef->isFunction())
+ {
+ g_currentMemberDef->addFlowKeyWord();
+ }
addParmType();
g_parmName=yytext;
startFontClass("keywordflow");
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 4693bdb..d0b70bb 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -1581,6 +1581,7 @@ MemberDefImpl::MemberDefImpl(const char *df,int dl,int dc,
//printf("MemberDefImpl::MemberDef(%s)\n",na);
m_impl = new MemberDefImpl::IMPL;
m_impl->init(this,t,a,e,p,v,s,r,mt,tal,al,meta);
+ number_of_flowkw = 1;
m_isLinkableCached = 0;
m_isConstructorCached = 0;
m_isDestructorCached = 0;
@@ -5970,6 +5971,16 @@ void MemberDefImpl::invalidateCachedArgumentTypes()
invalidateCachedTypesInArgumentList(m_impl->declArgList);
}
+void MemberDef::addFlowKeyWord()
+{
+ number_of_flowkw++;
+}
+
+int MemberDef::numberOfFlowKeyWords()
+{
+ return number_of_flowkw;
+}
+
//----------------
QCString MemberDefImpl::displayName(bool) const
diff --git a/src/memberdef.h b/src/memberdef.h
index af4fb0a..a94005f 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -183,6 +183,7 @@ class MemberDef : virtual public Definition
virtual bool isSliceLocal() const = 0;
virtual bool isConstExpr() const = 0;
+ int numberOfFlowKeyWords();
// derived getters
virtual bool isFriendToHide() const = 0;
virtual bool isNotFriend() const = 0;
@@ -280,6 +281,8 @@ class MemberDef : virtual public Definition
// ---- setters -----
//-----------------------------------------------------------------------------------
+ void addFlowKeyWord();
+
// set functions
virtual void setMemberType(MemberType t) = 0;
virtual void setDefinition(const char *d) = 0;
@@ -405,6 +408,8 @@ class MemberDef : virtual public Definition
const ClassDef *cd,const NamespaceDef *nd,const FileDef *fd,const GroupDef *gd,
bool onlyText=FALSE) const = 0;
+ int number_of_flowkw;
+
// write helpers
virtual void warnIfUndocumented() const = 0;
virtual void warnIfUndocumentedParams() const = 0;