Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
93737357
Commit
93737357
authored
Jun 11, 2000
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.1.4-20000611
parent
4bdaaa8d
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
544 additions
and
175 deletions
+544
-175
INSTALL
INSTALL
+1
-1
Makefile.in
Makefile.in
+4
-0
README
README
+1
-1
configgen.cpp
addon/configgen/configgen.cpp
+8
-0
doxywizard.pro.in
addon/doxywizard/doxywizard.pro.in
+1
-1
configure
configure
+1
-1
config.doc
doc/config.doc
+8
-0
faq.doc
doc/faq.doc
+1
-1
language.doc
doc/language.doc
+3
-3
classdef.cpp
src/classdef.cpp
+18
-2
classdef.h
src/classdef.h
+2
-1
code.l
src/code.l
+108
-17
config.h
src/config.h
+1
-0
config.l
src/config.l
+15
-0
definition.cpp
src/definition.cpp
+87
-4
definition.h
src/definition.h
+31
-1
diagram.cpp
src/diagram.cpp
+5
-2
dot.cpp
src/dot.cpp
+6
-4
doxygen.cpp
src/doxygen.cpp
+70
-59
doxygen.h
src/doxygen.h
+0
-1
filedef.cpp
src/filedef.cpp
+10
-15
filedef.h
src/filedef.h
+3
-3
htmlgen.cpp
src/htmlgen.cpp
+4
-2
htmlhelp.cpp
src/htmlhelp.cpp
+6
-3
index.cpp
src/index.cpp
+25
-11
latexgen.cpp
src/latexgen.cpp
+9
-2
memberdef.cpp
src/memberdef.cpp
+40
-26
memberdef.h
src/memberdef.h
+18
-9
memberlist.h
src/memberlist.h
+7
-0
scanner.l
src/scanner.l
+27
-3
translator.h
src/translator.h
+10
-0
util.cpp
src/util.cpp
+12
-1
util.h
src/util.h
+1
-0
tmake.conf
tmake/lib/irix-n32/tmake.conf
+1
-1
No files found.
INSTALL
View file @
93737357
...
@@ -252,4 +252,4 @@ The latest version of doxygen can be obtained at
...
@@ -252,4 +252,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (
04
June 2000)
Dimitri van Heesch (
11
June 2000)
Makefile.in
View file @
93737357
...
@@ -49,6 +49,10 @@ install: doxywizard_install
...
@@ -49,6 +49,10 @@ install: doxywizard_install
cd
$(INSTALL)
/doc/doxygen/examples
;
$(MAKE)
cd
$(INSTALL)
/doc/doxygen/examples
;
$(MAKE)
cd
$(INSTALL)
/doc/doxygen/doc
;
$(MAKE)
cd
$(INSTALL)
/doc/doxygen/doc
;
$(MAKE)
rm
-rf
$(INSTALL)
/doc/doxygen/doc
rm
-rf
$(INSTALL)
/doc/doxygen/doc
cd
$(INSTALL)
/doc/doxygen/latex
;
$(MAKE)
cp
$(INSTALL)
/doc/doxygen/latex/doxygen_manual.pdf
$(INSTALL)
/doc/doxygen
cp
$(INSTALL)
/doc/doxygen/latex/doxygen_manual.ps
$(INSTALL)
/doc/doxygen
rm
-rf
$(INSTALL)
/doc/doxygen/latex
docs
:
FORCE
docs
:
FORCE
cd
examples
;
$(MAKE)
cd
examples
;
$(MAKE)
...
...
README
View file @
93737357
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (
04
June 2000)
Dimitri van Heesch (
11
June 2000)
addon/configgen/configgen.cpp
View file @
93737357
...
@@ -905,6 +905,14 @@ void init()
...
@@ -905,6 +905,14 @@ void init()
"classes or files whose names only differ in case and if your file system
\n
"
"classes or files whose names only differ in case and if your file system
\n
"
"supports case sensitive file names.
\n
"
"supports case sensitive file names.
\n
"
);
);
ConfigBool
::
add
(
"hideScopeNames"
,
"HIDE_SCOPE_NAMES"
,
"FALSE"
,
"hide the name of the scope."
,
"If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
\n
"
"will show members with their full class and namespace scopes in the
\n
"
"documentation. If set to YES the scope will be hidden.
\n
"
);
ConfigBool
::
add
(
"verbatimHeaderFlag"
,
ConfigBool
::
add
(
"verbatimHeaderFlag"
,
"VERBATIM_HEADERS"
,
"VERBATIM_HEADERS"
,
"TRUE"
,
"TRUE"
,
...
...
addon/doxywizard/doxywizard.pro.in
View file @
93737357
...
@@ -49,4 +49,4 @@ OBJECTS_DIR = obj
...
@@ -49,4 +49,4 @@ OBJECTS_DIR = obj
MOC_DIR = moc
MOC_DIR = moc
# extra C++ compiler options
# extra C++ compiler options
TMAKE_CXXFLAGS = -DDOXYWIZARD
TMAKE_CXXFLAGS
+
= -DDOXYWIZARD
configure
View file @
93737357
...
@@ -349,7 +349,7 @@ fi
...
@@ -349,7 +349,7 @@ fi
touch
.tmakeconfig
touch
.tmakeconfig
if
test
"
$f_shared
"
=
NO
;
then
if
test
"
$f_shared
"
=
NO
;
then
if
test
"
$f_platform
"
=
"osf1-cxx"
;
then
if
test
"
$f_platform
"
=
"osf1-cxx"
-o
"
$f_platform
"
=
"irix-n32"
;
then
cat
>>
.tmakeconfig
<<
EOF
cat
>>
.tmakeconfig
<<
EOF
TMAKE_LFLAGS = -non_shared
TMAKE_LFLAGS = -non_shared
EOF
EOF
...
...
doc/config.doc
View file @
93737357
...
@@ -89,6 +89,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -89,6 +89,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_generate_tagfile
GENERATE_TAGFILE
<
li
>
\
refitem
cfg_generate_tagfile
GENERATE_TAGFILE
<
li
>
\
refitem
cfg_graphical_hierarchy
GRAPHICAL_HIERARCHY
<
li
>
\
refitem
cfg_graphical_hierarchy
GRAPHICAL_HIERARCHY
<
li
>
\
refitem
cfg_have_dot
HAVE_DOT
<
li
>
\
refitem
cfg_have_dot
HAVE_DOT
<
li
>
\
refitem
cfg_hide_scope_names
HIDE_SCOPE_NAMES
<
li
>
\
refitem
cfg_hide_undoc_classes
HIDE_UNDOC_CLASSES
<
li
>
\
refitem
cfg_hide_undoc_classes
HIDE_UNDOC_CLASSES
<
li
>
\
refitem
cfg_hide_undoc_members
HIDE_UNDOC_MEMBERS
<
li
>
\
refitem
cfg_hide_undoc_members
HIDE_UNDOC_MEMBERS
<
li
>
\
refitem
cfg_html_align_members
HTML_ALIGN_MEMBERS
<
li
>
\
refitem
cfg_html_align_members
HTML_ALIGN_MEMBERS
...
@@ -308,6 +309,13 @@ followed by the descriptions of the tags grouped by category.
...
@@ -308,6 +309,13 @@ followed by the descriptions of the tags grouped by category.
classes
or
files
whose
names
only
differ
in
case
and
if
your
file
system
classes
or
files
whose
names
only
differ
in
case
and
if
your
file
system
supports
case
sensitive
file
names
.
supports
case
sensitive
file
names
.
\
anchor
cfg_hide_scope_names
<
dt
>\
c
HIDE_SCOPE_NAMES
<
dd
>
\
addindex
HIDE_SCOPE_NAMES
If
the
HIDE_SCOPE_NAMES
tag
is
set
to
NO
(
the
default
)
then
Doxygen
will
show
members
with
their
full
class
and
namespace
scopes
in
the
documentation
.
If
set
to
YES
the
scope
will
be
hidden
.
\
anchor
cfg_verbatim_headers
\
anchor
cfg_verbatim_headers
<
dt
>\
c
VERBATIM_HEADERS
<
dd
>
<
dt
>\
c
VERBATIM_HEADERS
<
dd
>
\
addindex
VERBATIM_HEADERS
\
addindex
VERBATIM_HEADERS
...
...
doc/faq.doc
View file @
93737357
...
@@ -39,7 +39,7 @@ You should use the \\mainpage command inside a comment block like this:
...
@@ -39,7 +39,7 @@ You should use the \\mainpage command inside a comment block like this:
In order for global functions, variables, enums, typedefs, and defines
In order for global functions, variables, enums, typedefs, and defines
to be documented you should document the file in which these commands are
to be documented you should document the file in which these commands are
located using a
(non-empty)
comment block containing a \file (or @file)
located using a comment block containing a \file (or @file)
command.
command.
Alternatively, you can put all members in a group (or module)
Alternatively, you can put all members in a group (or module)
...
...
doc/language.doc
View file @
93737357
...
@@ -46,8 +46,8 @@ Here is a list of the languages and their current maintainers:
...
@@ -46,8 +46,8 @@ Here is a list of the languages and their current maintainers:
Jens Breitenstein
Jens Breitenstein
</TD>
</TD>
<TD>
<TD>
<a href="mailto:
Jens.Breitenstein@NOSPAM.tlc
.de">
<a href="mailto:
j@NOSPAM.js-b
.de">
Jens.Breitenstein@NOSPAM.tlc
.de</a>
j@NOSPAM.js-b
.de</a>
</TD>
</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
...
@@ -199,7 +199,7 @@ Here is a list of the languages and their current maintainers:
...
@@ -199,7 +199,7 @@ Here is a list of the languages and their current maintainers:
\hline
\hline
{\bf Language} & {\bf Maintainer} & {Contact address} \\
{\bf Language} & {\bf Maintainer} & {Contact address} \\
\hline
\hline
German & Jens Breitenstein & {\tt
Jens.Breitenstein@tlc
.de} \\
German & Jens Breitenstein & {\tt
j@jb-s
.de} \\
\hline
\hline
French & Christophe Bordeux & {\tt bordeux@lig.di.epfl.ch} \\
French & Christophe Bordeux & {\tt bordeux@lig.di.epfl.ch} \\
\hline
\hline
...
...
src/classdef.cpp
View file @
93737357
...
@@ -114,6 +114,18 @@ ClassDef::~ClassDef()
...
@@ -114,6 +114,18 @@ ClassDef::~ClassDef()
delete
memberGroupDict
;
delete
memberGroupDict
;
}
}
QCString
ClassDef
::
displayName
()
const
{
if
(
Config
::
hideScopeNames
)
{
return
stripScope
(
name
());
}
else
{
return
name
();
}
}
// inserts a base class in the inheritance list
// inserts a base class in the inheritance list
void
ClassDef
::
insertBaseClass
(
ClassDef
*
cd
,
Protection
p
,
void
ClassDef
::
insertBaseClass
(
ClassDef
*
cd
,
Protection
p
,
Specifier
s
,
const
char
*
t
)
Specifier
s
,
const
char
*
t
)
...
@@ -926,7 +938,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -926,7 +938,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
endDescList
();
ol
.
endDescList
();
}
}
ol
.
newParagraph
();
ol
.
newParagraph
();
writeSource
R
ef
(
ol
,
name
());
writeSource
D
ef
(
ol
,
name
());
ol
.
endTextBlock
();
ol
.
endTextBlock
();
}
}
...
@@ -1029,7 +1041,11 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -1029,7 +1041,11 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
docify
(
stripFromPath
(
path
));
ol
.
docify
(
stripFromPath
(
path
));
}
}
if
(
fd
->
isLinkable
())
if
(
fd
->
generateSource
()
||
(
!
fd
->
isReference
()
&&
Config
::
sourceBrowseFlag
))
{
ol
.
writeObjectLink
(
0
,
fd
->
sourceName
(),
0
,
fd
->
name
());
}
else
if
(
fd
->
isLinkable
())
{
{
ol
.
writeObjectLink
(
fd
->
getReference
(),
fd
->
getOutputFileBase
(),
0
,
ol
.
writeObjectLink
(
fd
->
getReference
(),
fd
->
getOutputFileBase
(),
0
,
fd
->
name
());
fd
->
name
());
...
...
src/classdef.h
View file @
93737357
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
#include "memberlist.h"
#include "memberlist.h"
#include "definition.h"
#include "definition.h"
typedef
QDict
<
MemberDef
>
MemberDict
;
class
MemberDict
;
class
ClassList
;
class
ClassList
;
class
OutputList
;
class
OutputList
;
class
FileDef
;
class
FileDef
;
...
@@ -58,6 +58,7 @@ class ClassDef : public Definition
...
@@ -58,6 +58,7 @@ class ClassDef : public Definition
const
char
*
ref
=
0
,
const
char
*
fName
=
0
);
const
char
*
ref
=
0
,
const
char
*
fName
=
0
);
~
ClassDef
();
~
ClassDef
();
QCString
getOutputFileBase
()
const
{
return
fileName
;
}
QCString
getOutputFileBase
()
const
{
return
fileName
;
}
QCString
displayName
()
const
;
CompoundType
compoundType
()
const
{
return
compType
;
}
CompoundType
compoundType
()
const
{
return
compType
;
}
void
insertBaseClass
(
ClassDef
*
,
Protection
p
,
Specifier
s
,
const
char
*
t
=
0
);
void
insertBaseClass
(
ClassDef
*
,
Protection
p
,
Specifier
s
,
const
char
*
t
=
0
);
BaseClassList
*
baseClasses
()
{
return
inherits
;
}
BaseClassList
*
baseClasses
()
{
return
inherits
;
}
...
...
src/code.l
View file @
93737357
...
@@ -36,6 +36,9 @@
...
@@ -36,6 +36,9 @@
#define YY_NEVER_INTERACTIVE 1
#define YY_NEVER_INTERACTIVE 1
/*! local class definition, used for classes that are defined
* inside code fragments.
*/
class CodeClassDef
class CodeClassDef
{
{
public:
public:
...
@@ -51,6 +54,9 @@ class CodeClassDef
...
@@ -51,6 +54,9 @@ class CodeClassDef
QStrList bases;
QStrList bases;
};
};
/*! local member definition, used for variables that are defined
* inside code fragments.
*/
class CodeVarDef
class CodeVarDef
{
{
public:
public:
...
@@ -105,12 +111,18 @@ static QCString g_exampleName;
...
@@ -105,12 +111,18 @@ static QCString g_exampleName;
static QCString g_exampleFile;
static QCString g_exampleFile;
static int g_anchorCount;
static int g_anchorCount;
static FileDef * g_sourceFileDef;
static FileDef * g_sourceFileDef;
static Definition * g_currentDefinition;
static MemberDef * g_currentMemberDef;
static bool g_includeCodeFragment;
static bool g_includeCodeFragment;
static const char * g_currentFontClass;
static const char * g_currentFontClass;
static bool g_searchingForBody;
static bool g_insideBody;
static int g_bodyCurlyCount;
// start a new line of code, inserting a line number if g_sourceFileDef
/*! start a new line of code, inserting a line number if g_sourceFileDef
// is TRUE. If a definition starts at the current line, then the line
* is TRUE. If a definition starts at the current line, then the line
// number is linked to the documentation of that definition.
* number is linked to the documentation of that definition.
*/
static void startCodeLine(OutputList &ol)
static void startCodeLine(OutputList &ol)
{
{
if (g_currentFontClass)
if (g_currentFontClass)
...
@@ -122,10 +134,17 @@ static void startCodeLine(OutputList &ol)
...
@@ -122,10 +134,17 @@ static void startCodeLine(OutputList &ol)
QCString lineNumber,lineAnchor;
QCString lineNumber,lineAnchor;
lineNumber.sprintf("%05d",g_yyLineNr);
lineNumber.sprintf("%05d",g_yyLineNr);
lineAnchor.sprintf("l%05d",g_yyLineNr);
lineAnchor.sprintf("l%05d",g_yyLineNr);
Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
QCString anchor = g_sourceFileDef->getSourceAnchor(g_yyLineNr);
if (!g_includeCodeFragment && d && d->isLinkableInProject())
if (!g_includeCodeFragment && d && d->isLinkableInProject())
{
{
g_currentDefinition = d;
g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr);
QCString anchor;
g_insideBody = FALSE;
g_searchingForBody = TRUE;
g_bodyCurlyCount = 0;
if (g_currentMemberDef) anchor=g_currentMemberDef->anchor();
ol.startCodeAnchor(lineAnchor);
ol.startCodeAnchor(lineAnchor);
ol.writeCodeLink(d->getReference(),d->getOutputFileBase(),
ol.writeCodeLink(d->getReference(),d->getOutputFileBase(),
anchor,lineNumber);
anchor,lineNumber);
...
@@ -145,8 +164,9 @@ static void startCodeLine(OutputList &ol)
...
@@ -145,8 +164,9 @@ static void startCodeLine(OutputList &ol)
}
}
}
}
// write a code fragment `text' that may span multiple lines, inserting
/*! write a code fragment `text' that may span multiple lines, inserting
// line numbers for each line.
* line numbers for each line.
*/
static void codifyLines(char *text)
static void codifyLines(char *text)
{
{
char *p=text,*sp=p;
char *p=text,*sp=p;
...
@@ -175,9 +195,10 @@ static void codifyLines(char *text)
...
@@ -175,9 +195,10 @@ static void codifyLines(char *text)
}
}
}
}
// writes a link to a fragment `text' that may span multiple lines, inserting
/*! writes a link to a fragment \a text that may span multiple lines, inserting
// line numbers for each line. If `text' contains newlines, the link will be
* line numbers for each line. If \a text contains newlines, the link will be
// split into multiple links with the same destination, one for each line.
* split into multiple links with the same destination, one for each line.
*/
static void writeMultiLineCodeLink(OutputList &ol,
static void writeMultiLineCodeLink(OutputList &ol,
const char *ref,const char *file,
const char *ref,const char *file,
const char *anchor,const char *text)
const char *anchor,const char *text)
...
@@ -358,6 +379,11 @@ static bool getLink(const char *className,
...
@@ -358,6 +379,11 @@ static bool getLink(const char *className,
if (d && d->isLinkable())
if (d && d->isLinkable())
{
{
if (g_currentDefinition && g_currentMemberDef &&
md!=g_currentMemberDef && g_insideBody)
{
md->addSourceReference(g_currentMemberDef);
}
//printf("d->getOutputBase()=`%s' name=`%s'\n",d->getOutputFileBase().data(),md->name().data());
//printf("d->getOutputBase()=`%s' name=`%s'\n",d->getOutputFileBase().data(),md->name().data());
writeMultiLineCodeLink(result,d->getReference(),d->getOutputFileBase(),
writeMultiLineCodeLink(result,d->getReference(),d->getOutputFileBase(),
md->anchor(),text ? text : memberName);
md->anchor(),text ? text : memberName);
...
@@ -374,8 +400,21 @@ static ClassDef *stripClassName(const char *s)
...
@@ -374,8 +400,21 @@ static ClassDef *stripClassName(const char *s)
int p=0,i,l;
int p=0,i,l;
while ((i=re.match(tmp,p,&l))!=-1)
while ((i=re.match(tmp,p,&l))!=-1)
{
{
ClassDef *cd=getResolvedClass(tmp.mid(i,l));
ClassDef *cd=0;
if (cd) return cd;
QCString clName = tmp.mid(i,l);
//printf("g_classScope=`%s' clName=`%s'\n",g_classScope.data(),clName.data());
if (!g_classScope.isEmpty())
{
cd=getResolvedClass(g_classScope+"::"+clName);
}
if (cd==0)
{
cd=getResolvedClass(clName);
}
if (cd)
{
return cd;
}
p=i+l;
p=i+l;
}
}
return 0;
return 0;
...
@@ -385,7 +424,7 @@ static void generateMemberLink(OutputList &ol,const char *varName,
...
@@ -385,7 +424,7 @@ static void generateMemberLink(OutputList &ol,const char *varName,
char *memName)
char *memName)
{
{
//printf("generateMemberLink(object=%s,mem=%s) classScope=%s\n",
//printf("generateMemberLink(object=%s,mem=%s) classScope=%s\n",
// varName,memName,classScope.data());
// varName,memName,
g_
classScope.data());
CodeVarDef *cvd=g_codeParmList.last();
CodeVarDef *cvd=g_codeParmList.last();
while (cvd && cvd->name!=varName) cvd=g_codeParmList.prev();
while (cvd && cvd->name!=varName) cvd=g_codeParmList.prev();
if (!cvd)
if (!cvd)
...
@@ -453,20 +492,36 @@ static void generateMemberLink(OutputList &ol,const char *varName,
...
@@ -453,20 +492,36 @@ static void generateMemberLink(OutputList &ol,const char *varName,
ClassDef *mcd=stripClassName(vmd->typeString());
ClassDef *mcd=stripClassName(vmd->typeString());
if (mcd && mcd->isLinkable())
if (mcd && mcd->isLinkable())
{
{
//printf("Found class `%s'\n",mcd->name().data());
MemberName *mmn=memberNameDict[memName];
MemberName *mmn=memberNameDict[memName];
if (mmn)
if (mmn)
{
{
MemberNameIterator mmni(*mmn);
MemberNameIterator mmni(*mmn);
MemberDef *mmd;
MemberDef *mmd,*xmd=0;
ClassDef *xcd=0;
const int maxInheritanceDepth = 100000;
int mdist=maxInheritanceDepth;
for (;(mmd=mmni.current());++mmni)
for (;(mmd=mmni.current());++mmni)
{
{
if (mmd->memberClass()==mcd)
int m=minClassDistance(mcd,mmd->memberClass());
if (m<mdist && mmd->memberClass()->isLinkable())
{
{
writeMultiLineCodeLink(ol,mcd->getReference(),
mdist=m;
mcd->getOutputFileBase(),mmd->anchor(),memName
);
xcd=mmd->memberClass(
);
return
;
xmd=mmd
;
}
}
}
}
if (mdist!=maxInheritanceDepth)
{
if (g_currentDefinition && g_currentMemberDef &&
xmd!=g_currentMemberDef && g_insideBody)
{
xmd->addSourceReference(g_currentMemberDef);
}
writeMultiLineCodeLink(ol,xcd->getReference(),
xcd->getOutputFileBase(),xmd->anchor(),memName);
return;
}
}
}
}
}
}
}
...
@@ -657,8 +712,14 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -657,8 +712,14 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
g_code->codify(yytext);
g_code->codify(yytext);
}
}
<Body>"{" {
<Body>"{" {
if (g_searchingForBody)
{
g_searchingForBody=FALSE;
g_insideBody=TRUE;
}
g_code->codify(yytext);
g_code->codify(yytext);
g_curlyCount++;
g_curlyCount++;
if (g_insideBody) g_bodyCurlyCount++;
g_type.resize(0);
g_type.resize(0);
g_name.resize(0);
g_name.resize(0);
}
}
...
@@ -670,9 +731,14 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -670,9 +731,14 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
g_classScope.resize(0);
g_classScope.resize(0);
g_codeParmList.clear();
g_codeParmList.clear();
}
}
if (--g_bodyCurlyCount<=0)
{
g_insideBody=FALSE;
}
}
}
<ClassName>";" {
<ClassName>";" {
g_code->codify(yytext);
g_code->codify(yytext);
g_searchingForBody=FALSE;
BEGIN( Body );
BEGIN( Body );
}
}
<ClassName>[*&]+ {
<ClassName>[*&]+ {
...
@@ -692,6 +758,12 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -692,6 +758,12 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
g_code->codify(yytext);
g_code->codify(yytext);
g_curlyCount++;
g_curlyCount++;
g_inClass=TRUE;
g_inClass=TRUE;
if (g_searchingForBody)
{
g_searchingForBody=FALSE;
g_insideBody=TRUE;
}
if (g_insideBody) g_bodyCurlyCount++;
if (!g_ccd.name.isEmpty())
if (!g_ccd.name.isEmpty())
{
{
g_classScope=g_ccd.name.copy();
g_classScope=g_ccd.name.copy();
...
@@ -921,6 +993,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -921,6 +993,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<MemberCall2,FuncCall>")"[ \t\n]*";" {
<MemberCall2,FuncCall>")"[ \t\n]*";" {
codifyLines(yytext);
codifyLines(yytext);
g_bracketCount=0;
g_bracketCount=0;
g_searchingForBody=FALSE;
if (!g_inClass && !g_type.isEmpty())
if (!g_inClass && !g_type.isEmpty())
addVariable();
addVariable();
g_name.resize(0);g_type.resize(0);
g_name.resize(0);g_type.resize(0);
...
@@ -937,6 +1010,12 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -937,6 +1010,12 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
codifyLines(yytext+1);
codifyLines(yytext+1);
endFontClass();
endFontClass();
g_code->codify("{");
g_code->codify("{");
if (g_searchingForBody)
{
g_searchingForBody=FALSE;
g_insideBody=TRUE;
}
if (g_insideBody) g_bodyCurlyCount++;
g_curlyCount++;
g_curlyCount++;
g_type.resize(0); g_name.resize(0);
g_type.resize(0); g_name.resize(0);
BEGIN( Body );
BEGIN( Body );
...
@@ -954,6 +1033,12 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -954,6 +1033,12 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<SkipInits>"{" {
<SkipInits>"{" {
g_code->codify(yytext);
g_code->codify(yytext);
g_curlyCount++;
g_curlyCount++;
if (g_searchingForBody)
{
g_searchingForBody=FALSE;
g_insideBody=TRUE;
}
if (g_insideBody) g_bodyCurlyCount++;
BEGIN( Body );
BEGIN( Body );
}
}
<SkipInits>{ID} {
<SkipInits>{ID} {
...
@@ -1228,12 +1313,18 @@ void parseCode(OutputList &ol,const char *className,const QCString &s,
...
@@ -1228,12 +1313,18 @@ void parseCode(OutputList &ol,const char *className,const QCString &s,
else
else
g_yyLineNr = 1;
g_yyLineNr = 1;
g_curlyCount = 0;
g_curlyCount = 0;
g_bodyCurlyCount = 0;
g_bracketCount = 0;
g_bracketCount = 0;
g_sharpCount = 0;
g_sharpCount = 0;
g_classScope = className;
g_classScope = className;
g_exampleBlock = exBlock;
g_exampleBlock = exBlock;
g_exampleName = exName;
g_exampleName = exName;
g_sourceFileDef = fd;
g_sourceFileDef = fd;
g_currentDefinition = 0;
g_currentMemberDef = 0;
g_searchingForBody = FALSE;
g_insideBody = FALSE;
g_bracketCount = 0;
g_exampleFile = convertSlashes(g_exampleName,TRUE)+"-example";
g_exampleFile = convertSlashes(g_exampleName,TRUE)+"-example";
g_includeCodeFragment = inlineFragment;
g_includeCodeFragment = inlineFragment;
startCodeLine(*g_code);
startCodeLine(*g_code);
...
...
src/config.h
View file @
93737357
...
@@ -51,6 +51,7 @@ struct Config
...
@@ -51,6 +51,7 @@ struct Config
static
bool
inlineSourceFlag
;
// inline the definition bodies in the docs?
static
bool
inlineSourceFlag
;
// inline the definition bodies in the docs?
static
bool
stripCommentsFlag
;
// strip special comments from code fragments?
static
bool
stripCommentsFlag
;
// strip special comments from code fragments?
static
bool
caseSensitiveNames
;
// determines if output can be mixed case.
static
bool
caseSensitiveNames
;
// determines if output can be mixed case.
static
bool
hideScopeNames
;
// hide the name of the scope.
static
bool
verbatimHeaderFlag
;
// enable/disable generation of verb headers.
static
bool
verbatimHeaderFlag
;
// enable/disable generation of verb headers.
static
bool
showIncFileFlag
;
// show include file in file documentation?
static
bool
showIncFileFlag
;
// show include file in file documentation?
static
bool
autoBriefFlag
;
// javadoc comments behaves as Qt comments.
static
bool
autoBriefFlag
;
// javadoc comments behaves as Qt comments.
...
...
src/config.l
View file @
93737357
...
@@ -86,6 +86,7 @@ bool Config::sourceBrowseFlag = FALSE;
...
@@ -86,6 +86,7 @@ bool Config::sourceBrowseFlag = FALSE;
bool Config::inlineSourceFlag = FALSE;
bool Config::inlineSourceFlag = FALSE;
bool Config::stripCommentsFlag = TRUE;
bool Config::stripCommentsFlag = TRUE;
bool Config::caseSensitiveNames = FALSE;
bool Config::caseSensitiveNames = FALSE;
bool Config::hideScopeNames = FALSE;
bool Config::verbatimHeaderFlag = TRUE;
bool Config::verbatimHeaderFlag = TRUE;
bool Config::showIncFileFlag = TRUE;
bool Config::showIncFileFlag = TRUE;
bool Config::autoBriefFlag = TRUE;
bool Config::autoBriefFlag = TRUE;
...
@@ -227,6 +228,7 @@ static int yyread(char *buf,int max_size)
...
@@ -227,6 +228,7 @@ static int yyread(char *buf,int max_size)
<Start>"INLINE_SOURCES"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineSourceFlag; }
<Start>"INLINE_SOURCES"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineSourceFlag; }
<Start>"STRIP_CODE_COMMENTS"[ \t]*"=" { BEGIN(GetBool); b=&Config::stripCommentsFlag; }
<Start>"STRIP_CODE_COMMENTS"[ \t]*"=" { BEGIN(GetBool); b=&Config::stripCommentsFlag; }
<Start>"CASE_SENSE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::caseSensitiveNames; }
<Start>"CASE_SENSE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::caseSensitiveNames; }
<Start>"HIDE_SCOPE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideScopeNames; }
<Start>"VERBATIM_HEADERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::verbatimHeaderFlag; }
<Start>"VERBATIM_HEADERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::verbatimHeaderFlag; }
<Start>"SHOW_INCLUDE_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showIncFileFlag; }
<Start>"SHOW_INCLUDE_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showIncFileFlag; }
<Start>"JAVADOC_AUTOBRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::autoBriefFlag; }
<Start>"JAVADOC_AUTOBRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::autoBriefFlag; }
...
@@ -413,6 +415,7 @@ void dumpConfig()
...
@@ -413,6 +415,7 @@ void dumpConfig()
printf("inlineSourceFlag=`%d'\n",Config::inlineSourceFlag);
printf("inlineSourceFlag=`%d'\n",Config::inlineSourceFlag);
printf("stripCommentsFlag=`%d'\n",Config::stripCommentsFlag);
printf("stripCommentsFlag=`%d'\n",Config::stripCommentsFlag);
printf("caseSensitiveNames=`%d'\n",Config::caseSensitiveNames);
printf("caseSensitiveNames=`%d'\n",Config::caseSensitiveNames);
printf("hideScopeNames=`%d'\n",Config::hideScopeNames);
printf("verbatimHeaderFlag=`%d'\n",Config::verbatimHeaderFlag);
printf("verbatimHeaderFlag=`%d'\n",Config::verbatimHeaderFlag);
printf("showIncFileFlag=`%d'\n",Config::showIncFileFlag);
printf("showIncFileFlag=`%d'\n",Config::showIncFileFlag);
printf("autoBriefFlag=`%d'\n",Config::autoBriefFlag);
printf("autoBriefFlag=`%d'\n",Config::autoBriefFlag);
...
@@ -615,6 +618,7 @@ void Config::init()
...
@@ -615,6 +618,7 @@ void Config::init()
Config::inlineSourceFlag = FALSE;
Config::inlineSourceFlag = FALSE;
Config::stripCommentsFlag = TRUE;
Config::stripCommentsFlag = TRUE;
Config::caseSensitiveNames = FALSE;
Config::caseSensitiveNames = FALSE;
Config::hideScopeNames = FALSE;
Config::verbatimHeaderFlag = TRUE;
Config::verbatimHeaderFlag = TRUE;
Config::showIncFileFlag = TRUE;
Config::showIncFileFlag = TRUE;
Config::autoBriefFlag = TRUE;
Config::autoBriefFlag = TRUE;
...
@@ -977,6 +981,17 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -977,6 +981,17 @@ void writeTemplateConfig(QFile *f,bool sl)
writeBoolValue(t,Config::caseSensitiveNames);
writeBoolValue(t,Config::caseSensitiveNames);
t << "\n";
t << "\n";
if (!sl)
if (!sl)
{
t << "\n";
t << "# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen \n";
t << "# will show members with their full class and namespace scopes in the \n";
t << "# documentation. If set to YES the scope will be hidden. \n";
t << "\n";
}
t << "HIDE_SCOPE_NAMES = ";
writeBoolValue(t,Config::hideScopeNames);
t << "\n";
if (!sl)
{
{
t << "\n";
t << "\n";
t << "# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n";
t << "# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n";
...
...
src/definition.cpp
View file @
93737357
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
#include "message.h"
#include "message.h"
#include "outputlist.h"
#include "outputlist.h"
#include "scanner.h"
#include "scanner.h"
#include <qregexp.h>
Definition
::
Definition
(
const
char
*
df
,
int
dl
,
Definition
::
Definition
(
const
char
*
df
,
int
dl
,
const
char
*
name
,
const
char
*
b
,
const
char
*
d
)
const
char
*
name
,
const
char
*
b
,
const
char
*
d
)
...
@@ -36,11 +37,15 @@ Definition::Definition(const char *df,int dl,
...
@@ -36,11 +37,15 @@ Definition::Definition(const char *df,int dl,
sectionList
=
0
,
sectionList
=
0
,
startBodyLine
=
endBodyLine
=-
1
,
startBodyLine
=
endBodyLine
=-
1
,
bodyDef
=
0
;
bodyDef
=
0
;
sourceRefList
=
0
;
sourceRefDict
=
0
;
}
}
Definition
::~
Definition
()
Definition
::~
Definition
()
{
{
delete
sectionList
;
delete
sectionList
;
delete
sourceRefList
;
delete
sourceRefDict
;
}
}
QCString
Definition
::
nameToFile
(
const
char
*
name
)
QCString
Definition
::
nameToFile
(
const
char
*
name
)
...
@@ -174,7 +179,7 @@ static bool readCodeFragment(const char *fileName,
...
@@ -174,7 +179,7 @@ static bool readCodeFragment(const char *fileName,
}
}
/*! Write a reference to the source code defining this definition */
/*! Write a reference to the source code defining this definition */
void
Definition
::
writeSource
R
ef
(
OutputList
&
ol
,
const
char
*
scopeName
)
void
Definition
::
writeSource
D
ef
(
OutputList
&
ol
,
const
char
*
scopeName
)
{
{
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
//printf("Definition::writeSourceRef %d %p\n",bodyLine,bodyDef);
//printf("Definition::writeSourceRef %d %p\n",bodyLine,bodyDef);
...
@@ -288,11 +293,89 @@ void Definition::writeSourceRef(OutputList &ol,const char *scopeName)
...
@@ -288,11 +293,89 @@ void Definition::writeSourceRef(OutputList &ol,const char *scopeName)
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
/*! Write a reference to the source code fragments in which this
* definition is used.
*/
void
Definition
::
writeSourceRefs
(
OutputList
&
ol
,
const
char
*
scopeName
)
{
ol
.
pushGeneratorState
();
if
(
Config
::
sourceBrowseFlag
&&
sourceRefList
)
{
ol
.
newParagraph
();
parseText
(
ol
,
theTranslator
->
trReferencedBy
());
ol
.
docify
(
" "
);
QCString
defLine
=
theTranslator
->
trWriteList
(
sourceRefList
->
count
());
QRegExp
marker
(
"@[0-9]+"
);
int
index
=
0
,
newIndex
,
matchLen
;
// now replace all markers in inheritLine with links to the classes
while
((
newIndex
=
marker
.
match
(
defLine
,
index
,
&
matchLen
))
!=-
1
)
{
bool
ok
;
parseText
(
ol
,
defLine
.
mid
(
index
,
newIndex
-
index
));
uint
entryIndex
=
defLine
.
mid
(
newIndex
+
1
,
matchLen
-
1
).
toUInt
(
&
ok
);
MemberDef
*
md
=
sourceRefList
->
at
(
entryIndex
);
if
(
ok
&&
md
)
{
QCString
scope
=
md
->
getScopeString
();
QCString
name
=
md
->
name
();
if
(
!
scope
.
isEmpty
()
&&
scope
!=
scopeName
)
{
name
.
prepend
(
scope
+
"::"
);
}
if
(
md
->
getStartBodyLine
()
!=-
1
&&
md
->
getBodyDef
())
{
QCString
lineStr
,
anchorStr
;
anchorStr
.
sprintf
(
"l%05d"
,
md
->
getStartBodyLine
());
ol
.
writeObjectLink
(
0
,
md
->
getBodyDef
()
->
sourceName
(),
anchorStr
,
name
);
}
else
{
ol
.
docify
(
name
);
}
ol
.
docify
(
"()"
);
}
index
=
newIndex
+
matchLen
;
}
parseText
(
ol
,
defLine
.
right
(
defLine
.
length
()
-
index
));
ol
.
writeString
(
"."
);
}
ol
.
popGeneratorState
();
}
bool
Definition
::
hasDocumentation
()
bool
Definition
::
hasDocumentation
()
{
{
return
!
doc
.
isEmpty
()
||
// has detailed docs
return
!
doc
.
isEmpty
()
||
// has detailed docs
!
brief
.
isEmpty
()
||
// has brief description
!
brief
.
isEmpty
()
||
// has brief description
/*(Config::sourceBrowseFlag && startBodyLine!=-1 && bodyDef) || // has a source reference */
Config
::
extractAllFlag
;
// extract everything
Config
::
extractAllFlag
;
// extract everything
}
}
void
Definition
::
addSourceReference
(
MemberDef
*
md
)
{
if
(
md
)
{
QCString
name
=
md
->
name
();
QCString
scope
=
md
->
getScopeString
();
if
(
!
scope
.
isEmpty
())
{
name
.
prepend
(
scope
+
"::"
);
}
if
(
sourceRefList
==
0
)
{
sourceRefDict
=
new
MemberDict
(
53
);
sourceRefList
=
new
MemberList
;
}
if
(
sourceRefDict
->
find
(
name
)
==
0
)
{
sourceRefDict
->
insert
(
name
,
md
);
sourceRefList
->
inSort
(
md
);
}
}
}
src/definition.h
View file @
93737357
...
@@ -24,6 +24,9 @@
...
@@ -24,6 +24,9 @@
class
FileDef
;
class
FileDef
;
class
OutputList
;
class
OutputList
;
class
SectionList
;
class
SectionList
;
class
MemberList
;
class
MemberDict
;
class
MemberDef
;
/*! The common base class of all entity definitions found in the sources. */
/*! The common base class of all entity definitions found in the sources. */
class
Definition
class
Definition
...
@@ -83,6 +86,7 @@ class Definition
...
@@ -83,6 +86,7 @@ class Definition
*/
*/
void
addSectionsToDefinition
(
QList
<
QCString
>
*
anchorList
);
void
addSectionsToDefinition
(
QList
<
QCString
>
*
anchorList
);
// source references
void
setBodySegment
(
int
bls
,
int
ble
)
void
setBodySegment
(
int
bls
,
int
ble
)
{
{
startBodyLine
=
bls
;
startBodyLine
=
bls
;
...
@@ -92,7 +96,9 @@ class Definition
...
@@ -92,7 +96,9 @@ class Definition
int
getStartBodyLine
()
const
{
return
startBodyLine
;
}
int
getStartBodyLine
()
const
{
return
startBodyLine
;
}
int
getEndBodyLine
()
const
{
return
endBodyLine
;
}
int
getEndBodyLine
()
const
{
return
endBodyLine
;
}
FileDef
*
getBodyDef
()
{
return
bodyDef
;
}
FileDef
*
getBodyDef
()
{
return
bodyDef
;
}
void
writeSourceRef
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
writeSourceDef
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
writeSourceRefs
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
addSourceReference
(
MemberDef
*
d
);
/*! returns the file in which this definition was found */
/*! returns the file in which this definition was found */
QCString
getDefFileName
()
const
{
return
defFileName
;
}
QCString
getDefFileName
()
const
{
return
defFileName
;
}
...
@@ -114,7 +120,31 @@ class Definition
...
@@ -114,7 +120,31 @@ class Definition
QCString
doc
;
// detailed description
QCString
doc
;
// detailed description
QCString
ref
;
// reference to external documentation
QCString
ref
;
// reference to external documentation
SectionList
*
sectionList
;
// list of all sections
SectionList
*
sectionList
;
// list of all sections
MemberList
*
sourceRefList
;
// list of entities that refer to this
// entity in their definition
MemberDict
*
sourceRefDict
;
};
};
class
DefinitionList
:
public
QList
<
Definition
>
{
public
:
~
DefinitionList
()
{}
int
compareItems
(
GCI
item1
,
GCI
item2
)
{
return
stricmp
(((
Definition
*
)
item1
)
->
name
(),
((
Definition
*
)
item2
)
->
name
()
);
}
};
class
DefinitionListIterator
:
public
QListIterator
<
Definition
>
{
public
:
DefinitionListIterator
(
const
DefinitionList
&
l
)
:
QListIterator
<
Definition
>
(
l
)
{}
~
DefinitionListIterator
()
{}
};
#endif
#endif
src/diagram.cpp
View file @
93737357
...
@@ -196,14 +196,17 @@ DiagramItem::~DiagramItem()
...
@@ -196,14 +196,17 @@ DiagramItem::~DiagramItem()
QCString
DiagramItem
::
label
()
const
QCString
DiagramItem
::
label
()
const
{
{
QCString
result
;
if
(
!
templSpec
.
isEmpty
())
if
(
!
templSpec
.
isEmpty
())
{
{
re
turn
insertTemplateSpecifierInScope
(
classDef
->
name
(),
templSpec
);
re
sult
=
insertTemplateSpecifierInScope
(
classDef
->
name
(),
templSpec
);
}
}
else
else
{
{
re
turn
classDef
->
name
();
re
sult
=
classDef
->
name
();
}
}
if
(
Config
::
hideScopeNames
)
result
=
stripScope
(
result
);
return
result
;
}
}
QCString
DiagramItem
::
fileName
()
const
QCString
DiagramItem
::
fileName
()
const
...
...
src/dot.cpp
View file @
93737357
...
@@ -654,7 +654,7 @@ void DotGfxHierarchyTable::addHierarchy(DotNode *n,ClassDef *cd,bool hideSuper)
...
@@ -654,7 +654,7 @@ void DotGfxHierarchyTable::addHierarchy(DotNode *n,ClassDef *cd,bool hideSuper)
else
else
{
{
bn
=
new
DotNode
(
m_curNodeNumber
++
,
bn
=
new
DotNode
(
m_curNodeNumber
++
,
bClass
->
n
ame
(),
bClass
->
displayN
ame
(),
bClass
->
isLinkable
()
?
bClass
->
isLinkable
()
?
(
bClass
->
getReference
()
+
"$"
+
bClass
->
getOutputFileBase
()).
data
()
:
(
bClass
->
getReference
()
+
"$"
+
bClass
->
getOutputFileBase
()).
data
()
:
0
0
...
@@ -701,7 +701,7 @@ DotGfxHierarchyTable::DotGfxHierarchyTable()
...
@@ -701,7 +701,7 @@ DotGfxHierarchyTable::DotGfxHierarchyTable()
{
{
//printf("Inserting root class %s\n",cd->name().data());
//printf("Inserting root class %s\n",cd->name().data());
DotNode
*
n
=
new
DotNode
(
m_curNodeNumber
++
,
DotNode
*
n
=
new
DotNode
(
m_curNodeNumber
++
,
cd
->
n
ame
(),
cd
->
displayN
ame
(),
cd
->
isLinkable
()
?
cd
->
isLinkable
()
?
(
cd
->
getReference
()
+
"$"
+
cd
->
getOutputFileBase
()).
data
()
:
(
cd
->
getReference
()
+
"$"
+
cd
->
getOutputFileBase
()).
data
()
:
0
0
...
@@ -805,8 +805,10 @@ void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot,
...
@@ -805,8 +805,10 @@ void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot,
}
}
else
// new class
else
// new class
{
{
QCString
displayName
=
className
.
copy
();
if
(
Config
::
hideScopeNames
)
displayName
=
stripScope
(
displayName
);
bn
=
new
DotNode
(
m_curNodeNumber
++
,
bn
=
new
DotNode
(
m_curNodeNumber
++
,
class
Name
,
display
Name
,
cd
->
isLinkable
()
?
cd
->
isLinkable
()
?
(
cd
->
getReference
()
+
"$"
+
cd
->
getOutputFileBase
()).
data
()
:
0
,
(
cd
->
getReference
()
+
"$"
+
cd
->
getOutputFileBase
()).
data
()
:
0
,
distance
distance
...
@@ -877,7 +879,7 @@ DotClassGraph::DotClassGraph(ClassDef *cd,GraphType t,int maxRecursionDepth)
...
@@ -877,7 +879,7 @@ DotClassGraph::DotClassGraph(ClassDef *cd,GraphType t,int maxRecursionDepth)
m_maxDistance
=
0
;
m_maxDistance
=
0
;
m_recDepth
=
maxRecursionDepth
;
m_recDepth
=
maxRecursionDepth
;
m_startNode
=
new
DotNode
(
m_curNodeNumber
++
,
m_startNode
=
new
DotNode
(
m_curNodeNumber
++
,
cd
->
n
ame
(),
cd
->
displayN
ame
(),
cd
->
isLinkable
()
?
cd
->
isLinkable
()
?
(
cd
->
getReference
()
+
"$"
+
cd
->
getOutputFileBase
()).
data
()
:
0
,
(
cd
->
getReference
()
+
"$"
+
cd
->
getOutputFileBase
()).
data
()
:
0
,
0
,
// distance
0
,
// distance
...
...
src/doxygen.cpp
View file @
93737357
...
@@ -285,7 +285,7 @@ static void buildFileList(Entry *root)
...
@@ -285,7 +285,7 @@ static void buildFileList(Entry *root)
const
char
*
fn
=
root
->
fileName
.
data
();
const
char
*
fn
=
root
->
fileName
.
data
();
QCString
text
;
QCString
text
;
text
.
sprintf
(
"Warning: the name `%s' supplied as "
text
.
sprintf
(
"Warning: the name `%s' supplied as "
"the second argument in the
\\
file statement
.
"
,
"the second argument in the
\\
file statement
"
,
root
->
name
.
data
()
root
->
name
.
data
()
);
);
if
(
ambig
)
// name is ambigious
if
(
ambig
)
// name is ambigious
...
@@ -331,7 +331,7 @@ static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
...
@@ -331,7 +331,7 @@ static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
{
// explicit request
{
// explicit request
QCString
text
;
QCString
text
;
text
.
sprintf
(
"Warning: the name `%s' supplied as "
text
.
sprintf
(
"Warning: the name `%s' supplied as "
"the second argument in the
\\
class statement
.
"
,
"the second argument in the
\\
class statement
"
,
root
->
includeFile
.
data
()
root
->
includeFile
.
data
()
);
);
if
(
ambig
)
// name is ambigious
if
(
ambig
)
// name is ambigious
...
@@ -911,7 +911,7 @@ static MemberDef *addVariableToClass(
...
@@ -911,7 +911,7 @@ static MemberDef *addVariableToClass(
QCString
def
;
QCString
def
;
if
(
!
root
->
type
.
isEmpty
())
if
(
!
root
->
type
.
isEmpty
())
{
{
if
(
mtype
==
MemberDef
::
Friend
)
if
(
mtype
==
MemberDef
::
Friend
||
Config
::
hideScopeNames
)
{
{
def
=
root
->
type
+
" "
+
name
+
root
->
args
;
def
=
root
->
type
+
" "
+
name
+
root
->
args
;
}
}
...
@@ -922,7 +922,14 @@ static MemberDef *addVariableToClass(
...
@@ -922,7 +922,14 @@ static MemberDef *addVariableToClass(
}
}
else
else
{
{
def
=
scope
+
"::"
+
name
+
root
->
args
;
if
(
Config
::
hideScopeNames
)
{
def
=
name
+
root
->
args
;
}
else
{
def
=
scope
+
"::"
+
name
+
root
->
args
;
}
}
}
if
(
def
.
left
(
7
)
==
"static "
)
def
=
def
.
right
(
def
.
length
()
-
7
);
if
(
def
.
left
(
7
)
==
"static "
)
def
=
def
.
right
(
def
.
length
()
-
7
);
...
@@ -1067,7 +1074,9 @@ static MemberDef *addVariableToFile(
...
@@ -1067,7 +1074,9 @@ static MemberDef *addVariableToFile(
QCString
def
;
QCString
def
;
// determine the definition of the global variable
// determine the definition of the global variable
if
(
nd
&&
!
nd
->
name
().
isEmpty
()
&&
nd
->
name
().
at
(
0
)
!=
'@'
)
if
(
nd
&&
!
nd
->
name
().
isEmpty
()
&&
nd
->
name
().
at
(
0
)
!=
'@'
&&
!
Config
::
hideScopeNames
)
// variable is inside a namespace, so put the scope before the name
// variable is inside a namespace, so put the scope before the name
{
{
if
(
!
root
->
type
.
isEmpty
())
if
(
!
root
->
type
.
isEmpty
())
...
@@ -1386,7 +1395,7 @@ static void buildMemberList(Entry *root)
...
@@ -1386,7 +1395,7 @@ static void buildMemberList(Entry *root)
//md->setScopeTemplateArguments(root->tArgList);
//md->setScopeTemplateArguments(root->tArgList);
md
->
addSectionsToDefinition
(
root
->
anchors
);
md
->
addSectionsToDefinition
(
root
->
anchors
);
QCString
def
;
QCString
def
;
if
(
!
root
->
relates
.
isEmpty
()
||
isFriend
)
if
(
!
root
->
relates
.
isEmpty
()
||
isFriend
||
Config
::
hideScopeNames
)
{
{
if
(
!
root
->
type
.
isEmpty
())
if
(
!
root
->
type
.
isEmpty
())
{
{
...
@@ -2478,17 +2487,16 @@ static void substituteTemplateArgNames(ArgumentList *src,
...
@@ -2478,17 +2487,16 @@ static void substituteTemplateArgNames(ArgumentList *src,
}
}
//----------------------------------------------------------------------
/*! This function tries to find a member (in a documented class/file/namespace)
// This function tries to find a member (in a documented class/file/namespace)
* that corresponds to the function declaration given in \a funcDecl.
// that corresponds to the function declaration given in `funcDecl'.
*
//
* The \a related field may be used to specify a related class name.
// The related field may be used to specify a related class name.
* It is only used if the class name cannot be extracted from the function
// It is only used if the class name cannot be extracted from the function
* declaration.
// declaration.
*
//
* The boolean \a overloaded is used to specify whether or not a standard
// The boolean overloaded is used to specify whether or not a standard
* overload documentation line should be generated.
// overload documentation line should be generated.
*/
static
void
findMember
(
Entry
*
root
,
QCString
funcDecl
,
QCString
related
,
bool
overloaded
,
static
void
findMember
(
Entry
*
root
,
QCString
funcDecl
,
QCString
related
,
bool
overloaded
,
bool
isFunc
)
bool
isFunc
)
{
{
...
@@ -2733,7 +2741,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -2733,7 +2741,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
//printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data());
//printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data());
// rebuild the function declaration (needed to get the scope right).
// rebuild the function declaration (needed to get the scope right).
if
(
!
scopeName
.
isEmpty
()
&&
!
isRelated
&&
!
isFriend
)
if
(
!
scopeName
.
isEmpty
()
&&
!
isRelated
&&
!
isFriend
&&
!
Config
::
hideScopeNames
)
{
{
if
(
!
funcType
.
isEmpty
())
if
(
!
funcType
.
isEmpty
())
{
{
...
@@ -3408,6 +3416,7 @@ static void findEnums(Entry *root)
...
@@ -3408,6 +3416,7 @@ static void findEnums(Entry *root)
//printf("add %s to new memberName. Now %d members\n",
//printf("add %s to new memberName. Now %d members\n",
// name.data(),mn->count());
// name.data(),mn->count());
}
}
addMemberToGroups
(
root
,
md
);
EntryListIterator
eli
(
*
root
->
sublist
);
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
Entry
*
e
;
...
@@ -3732,7 +3741,7 @@ static void buildCompleteMemberLists()
...
@@ -3732,7 +3741,7 @@ static void buildCompleteMemberLists()
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
static
void
generateFile
Doc
s
()
static
void
generateFile
Source
s
()
{
{
if
(
documentedHtmlFiles
==
0
)
return
;
if
(
documentedHtmlFiles
==
0
)
return
;
writeFileIndex
(
*
outputList
);
writeFileIndex
(
*
outputList
);
...
@@ -3745,21 +3754,41 @@ static void generateFileDocs()
...
@@ -3745,21 +3754,41 @@ static void generateFileDocs()
FileDef
*
fd
=
fn
->
first
();
FileDef
*
fd
=
fn
->
first
();
while
(
fd
)
while
(
fd
)
{
{
bool
doc
=
fd
->
isLinkableInProject
();
bool
src
=
!
fd
->
isReference
()
&&
bool
src
=
fd
->
generateSource
()
||
(
fd
->
generateSource
()
||
Config
::
sourceBrowseFlag
);
(
!
fd
->
isReference
()
&&
Config
::
sourceBrowseFlag
);
if
(
src
)
if
(
doc
||
src
)
{
{
msg
(
"Generating docs for file %s...
\n
"
,
fd
->
name
().
data
());
msg
(
"Generating code for file %s...
\n
"
,
fd
->
name
().
data
());
fd
->
writeSource
(
*
outputList
);
}
}
fd
=
fn
->
next
();
}
fn
=
inputNameList
.
next
();
}
}
}
//----------------------------------------------------------------------------
static
void
generateFileDocs
()
{
if
(
documentedHtmlFiles
==
0
)
return
;
writeFileIndex
(
*
outputList
);
if
(
inputNameList
.
count
()
>
0
)
{
FileName
*
fn
=
inputNameList
.
first
();
while
(
fn
)
{
FileDef
*
fd
=
fn
->
first
();
while
(
fd
)
{
bool
doc
=
fd
->
isLinkableInProject
();
if
(
doc
)
if
(
doc
)
{
{
msg
(
"Generating docs for file %s...
\n
"
,
fd
->
name
().
data
());
fd
->
writeDocumentation
(
*
outputList
);
fd
->
writeDocumentation
(
*
outputList
);
}
}
if
(
src
&&
!
fd
->
isReference
())
{
fd
->
writeSource
(
*
outputList
);
}
fd
=
fn
->
next
();
fd
=
fn
->
next
();
}
}
...
@@ -3770,30 +3799,6 @@ static void generateFileDocs()
...
@@ -3770,30 +3799,6 @@ static void generateFileDocs()
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
//void generateSources()
//{
// if (Config::sourceBrowseFlag)
// {
// writeSourceIndex(*outputList);
//
// if (inputNameList.count()>0)
// {
// FileName *fn=inputNameList.first();
// while (fn)
// {
// FileDef *fd=fn->first();
// while (fd && !fd->isReference())
// {
// msg("Generating source listing for file %s...\n",fd->name().data());
// fd->writeSource(*outputList);
// fd=fn->next();
// }
// fn=inputNameList.next();
// }
// }
// }
//}
static
void
addSourceReferences
()
static
void
addSourceReferences
()
{
{
ClassListIterator
cli
(
classList
);
ClassListIterator
cli
(
classList
);
...
@@ -3822,7 +3827,7 @@ static void addSourceReferences()
...
@@ -3822,7 +3827,7 @@ static void addSourceReferences()
Definition
*
d
=
cd
;
Definition
*
d
=
cd
;
if
(
d
==
0
)
d
=
md
->
getNamespace
();
if
(
d
==
0
)
d
=
md
->
getNamespace
();
if
(
d
==
0
)
d
=
md
->
getFileDef
();
if
(
d
==
0
)
d
=
md
->
getFileDef
();
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
d
,
md
->
anchor
()
);
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
d
,
md
);
}
}
}
}
}
}
...
@@ -3835,16 +3840,18 @@ static void addSourceReferences()
...
@@ -3835,16 +3840,18 @@ static void addSourceReferences()
{
{
NamespaceDef
*
nd
=
md
->
getNamespace
();
NamespaceDef
*
nd
=
md
->
getNamespace
();
FileDef
*
fd
=
md
->
getBodyDef
();
FileDef
*
fd
=
md
->
getBodyDef
();
GroupDef
*
gd
=
md
->
groupDef
();
if
(
md
->
getStartBodyLine
()
!=-
1
&&
md
->
isLinkableInProject
()
&&
if
(
md
->
getStartBodyLine
()
!=-
1
&&
md
->
isLinkableInProject
()
&&
(
nd
&&
nd
->
isLinkableInProject
())
||
((
nd
&&
nd
->
isLinkableInProject
())
||
(
fd
&&
fd
->
isLinkableInProject
())
(
fd
&&
fd
->
isLinkableInProject
())
||
(
gd
&&
gd
->
isLinkableInProject
())
)
)
)
{
{
//printf("Found member `%s' in file `%s' at line `%d'\n",
//printf("Found member `%s' in file `%s' at line `%d'\n",
// md->name().data(),fd->name().data(),md->getStartBodyLine());
// md->name().data(),fd->name().data(),md->getStartBodyLine());
Definition
*
d
=
md
->
getFileDef
();
Definition
*
d
=
gd
?
gd
:
(
nd
?
nd
:
fd
);
if
(
d
==
0
)
d
=
md
->
getNamespace
();
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
d
,
md
);
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
d
,
md
->
anchor
());
}
}
}
}
}
}
...
@@ -4725,9 +4732,10 @@ static void copyStyleSheet()
...
@@ -4725,9 +4732,10 @@ static void copyStyleSheet()
if
(
!
Config
::
htmlStyleSheet
.
isEmpty
())
if
(
!
Config
::
htmlStyleSheet
.
isEmpty
())
{
{
QFile
cssf
(
Config
::
htmlStyleSheet
);
QFile
cssf
(
Config
::
htmlStyleSheet
);
QFileInfo
cssfi
(
Config
::
htmlStyleSheet
);
if
(
cssf
.
open
(
IO_ReadOnly
))
if
(
cssf
.
open
(
IO_ReadOnly
))
{
{
QCString
destFileName
=
Config
::
htmlOutputDir
+
"/"
+
Config
::
htmlStyleSheet
;
QCString
destFileName
=
Config
::
htmlOutputDir
+
"/"
+
cssfi
.
fileName
()
;
QFile
df
(
destFileName
);
QFile
df
(
destFileName
);
if
(
df
.
open
(
IO_WriteOnly
))
if
(
df
.
open
(
IO_WriteOnly
))
{
{
...
@@ -5446,6 +5454,9 @@ int main(int argc,char **argv)
...
@@ -5446,6 +5454,9 @@ int main(int argc,char **argv)
msg
(
"Generating example documentation...
\n
"
);
msg
(
"Generating example documentation...
\n
"
);
generateExampleDocs
();
generateExampleDocs
();
msg
(
"Generating file sources...
\n
"
);
generateFileSources
();
msg
(
"Generating file documentation...
\n
"
);
msg
(
"Generating file documentation...
\n
"
);
generateFileDocs
();
generateFileDocs
();
...
...
src/doxygen.h
View file @
93737357
...
@@ -84,7 +84,6 @@ class BufStr : public QCString
...
@@ -84,7 +84,6 @@ class BufStr : public QCString
};
};
typedef
QList
<
QCString
>
StringList
;
typedef
QList
<
QCString
>
StringList
;
typedef
QDict
<
MemberDef
>
MemberDict
;
typedef
QDict
<
FileDef
>
FileDict
;
typedef
QDict
<
FileDef
>
FileDict
;
typedef
QDict
<
QCString
>
StringDict
;
typedef
QDict
<
QCString
>
StringDict
;
typedef
QDict
<
PageInfo
>
PageDict
;
typedef
QDict
<
PageInfo
>
PageDict
;
...
...
src/filedef.cpp
View file @
93737357
...
@@ -49,7 +49,7 @@ FileDef::FileDef(const char *p,const char *nm,const char *ref)
...
@@ -49,7 +49,7 @@ FileDef::FileDef(const char *p,const char *nm,const char *ref)
namespaceList
=
new
NamespaceList
;
namespaceList
=
new
NamespaceList
;
namespaceDict
=
new
NamespaceDict
(
7
);
namespaceDict
=
new
NamespaceDict
(
7
);
srcDefDict
=
0
;
srcDefDict
=
0
;
src
Ancho
rDict
=
0
;
src
Membe
rDict
=
0
;
usingDirList
=
0
;
usingDirList
=
0
;
usingDeclList
=
0
;
usingDeclList
=
0
;
isSource
=
FALSE
;
isSource
=
FALSE
;
...
@@ -72,7 +72,7 @@ FileDef::~FileDef()
...
@@ -72,7 +72,7 @@ FileDef::~FileDef()
delete
namespaceList
;
delete
namespaceList
;
delete
namespaceDict
;
delete
namespaceDict
;
delete
srcDefDict
;
delete
srcDefDict
;
delete
src
Ancho
rDict
;
delete
src
Membe
rDict
;
delete
usingDirList
;
delete
usingDirList
;
delete
usingDeclList
;
delete
usingDeclList
;
delete
memberGroupList
;
delete
memberGroupList
;
...
@@ -529,18 +529,14 @@ void FileDef::insertNamespace(NamespaceDef *nd)
...
@@ -529,18 +529,14 @@ void FileDef::insertNamespace(NamespaceDef *nd)
}
}
}
}
void
FileDef
::
addSourceRef
(
int
line
,
Definition
*
d
,
const
char
*
anchor
)
void
FileDef
::
addSourceRef
(
int
line
,
Definition
*
d
,
MemberDef
*
md
)
{
{
if
(
d
)
if
(
d
)
{
{
if
(
srcDefDict
==
0
)
srcDefDict
=
new
QIntDict
<
Definition
>
(
257
);
if
(
srcDefDict
==
0
)
srcDefDict
=
new
QIntDict
<
Definition
>
(
257
);
if
(
srcAnchorDict
==
0
)
if
(
srcMemberDict
==
0
)
srcMemberDict
=
new
QIntDict
<
MemberDef
>
(
257
);
{
srcAnchorDict
=
new
QIntDict
<
QCString
>
(
257
);
srcAnchorDict
->
setAutoDelete
(
TRUE
);
}
srcDefDict
->
insert
(
line
,
d
);
srcDefDict
->
insert
(
line
,
d
);
srcAnchorDict
->
insert
(
line
,
new
QCString
(
anchor
)
);
if
(
md
)
srcMemberDict
->
insert
(
line
,
md
);
//printf("Adding member %s with anchor %s at line %d to file %s\n",
//printf("Adding member %s with anchor %s at line %d to file %s\n",
// d->name().data(),anchor,line,name().data());
// d->name().data(),anchor,line,name().data());
}
}
...
@@ -556,13 +552,12 @@ Definition *FileDef::getSourceDefinition(int lineNr)
...
@@ -556,13 +552,12 @@ Definition *FileDef::getSourceDefinition(int lineNr)
return
result
;
return
result
;
}
}
QCString
FileDef
::
getSourceAncho
r
(
int
lineNr
)
MemberDef
*
FileDef
::
getSourceMembe
r
(
int
lineNr
)
{
{
QCString
result
;
MemberDef
*
result
=
0
;
if
(
src
Ancho
rDict
)
if
(
src
Membe
rDict
)
{
{
QCString
*
pstr
=
srcAnchorDict
->
find
(
lineNr
);
result
=
srcMemberDict
->
find
(
lineNr
);
if
(
pstr
)
result
=*
pstr
;
}
}
return
result
;
return
result
;
}
}
...
...
src/filedef.h
View file @
93737357
...
@@ -87,9 +87,9 @@ class FileDef : public Definition
...
@@ -87,9 +87,9 @@ class FileDef : public Definition
/*! Returns the name as it is used in the documentation */
/*! Returns the name as it is used in the documentation */
QCString
docName
()
const
{
return
docname
;
}
QCString
docName
()
const
{
return
docname
;
}
void
addSourceRef
(
int
line
,
Definition
*
d
,
const
char
*
anchor
);
void
addSourceRef
(
int
line
,
Definition
*
d
,
MemberDef
*
md
);
Definition
*
getSourceDefinition
(
int
lineNr
);
Definition
*
getSourceDefinition
(
int
lineNr
);
QCString
getSourceAncho
r
(
int
lineNr
);
MemberDef
*
getSourceMembe
r
(
int
lineNr
);
/* Sets the name of the include file to \a n. */
/* Sets the name of the include file to \a n. */
//void setIncludeName(const char *n_) { incName=n_; }
//void setIncludeName(const char *n_) { incName=n_; }
...
@@ -157,7 +157,7 @@ class FileDef : public Definition
...
@@ -157,7 +157,7 @@ class FileDef : public Definition
QCString
docname
;
QCString
docname
;
//QCString incName;
//QCString incName;
QIntDict
<
Definition
>
*
srcDefDict
;
QIntDict
<
Definition
>
*
srcDefDict
;
QIntDict
<
QCString
>
*
srcAncho
rDict
;
QIntDict
<
MemberDef
>
*
srcMembe
rDict
;
bool
isSource
;
bool
isSource
;
/* user defined member groups */
/* user defined member groups */
...
...
src/htmlgen.cpp
View file @
93737357
...
@@ -89,7 +89,8 @@ void HtmlGenerator::startFile(const char *name,const char *title,bool external)
...
@@ -89,7 +89,8 @@ void HtmlGenerator::startFile(const char *name,const char *title,bool external)
}
}
else
else
{
{
t
<<
Config
::
htmlStyleSheet
;
QFileInfo
cssfi
(
Config
::
htmlStyleSheet
);
t
<<
cssfi
.
fileName
();
}
}
t
<<
"
\"
rel=
\"
stylesheet
\"
type=
\"
text/css
\"
>
\n
"
t
<<
"
\"
rel=
\"
stylesheet
\"
type=
\"
text/css
\"
>
\n
"
"</head><body bgcolor=
\"
#ffffff
\"
>
\n
"
;
"</head><body bgcolor=
\"
#ffffff
\"
>
\n
"
;
...
@@ -220,7 +221,8 @@ void HtmlGenerator::writeStyleInfo(int part)
...
@@ -220,7 +221,8 @@ void HtmlGenerator::writeStyleInfo(int part)
}
}
else
// write user defined style sheet
else
// write user defined style sheet
{
{
startPlainFile
(
Config
::
htmlStyleSheet
);
QFileInfo
cssfi
(
Config
::
htmlStyleSheet
);
startPlainFile
(
cssfi
.
fileName
());
t
<<
fileToString
(
Config
::
htmlStyleSheet
);
t
<<
fileToString
(
Config
::
htmlStyleSheet
);
endPlainFile
();
endPlainFile
();
}
}
...
...
src/htmlhelp.cpp
View file @
93737357
...
@@ -364,9 +364,12 @@ void HtmlHelp::addContentsItem(const char *name,const char *ref,
...
@@ -364,9 +364,12 @@ void HtmlHelp::addContentsItem(const char *name,const char *ref,
{
{
int
i
;
for
(
i
=
0
;
i
<
dc
;
i
++
)
cts
<<
" "
;
int
i
;
for
(
i
=
0
;
i
<
dc
;
i
++
)
cts
<<
" "
;
cts
<<
"<LI><OBJECT type=
\"
text/sitemap
\"
>"
;
cts
<<
"<LI><OBJECT type=
\"
text/sitemap
\"
>"
;
cts
<<
"<param name=
\"
Local
\"
value=
\"
"
<<
ref
<<
".html"
;
if
(
ref
)
if
(
anchor
)
cts
<<
"#"
<<
anchor
;
{
cts
<<
"
\"
>"
;
cts
<<
"<param name=
\"
Local
\"
value=
\"
"
<<
ref
<<
".html"
;
if
(
anchor
)
cts
<<
"#"
<<
anchor
;
cts
<<
"
\"
>"
;
}
cts
<<
"<param name=
\"
Name
\"
value=
\"
"
<<
name
<<
"
\"
>"
cts
<<
"<param name=
\"
Name
\"
value=
\"
"
<<
name
<<
"
\"
>"
"</OBJECT>
\n
"
;
"</OBJECT>
\n
"
;
}
}
...
...
src/index.cpp
View file @
93737357
...
@@ -115,7 +115,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper)
...
@@ -115,7 +115,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper)
//printf("Passed...\n");
//printf("Passed...\n");
if
(
cd
->
isLinkable
())
if
(
cd
->
isLinkable
())
{
{
ol
.
writeIndexItem
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
cd
->
n
ame
());
ol
.
writeIndexItem
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
cd
->
displayN
ame
());
if
(
cd
->
isReference
())
if
(
cd
->
isReference
())
{
{
ol
.
startTypewriter
();
ol
.
startTypewriter
();
...
@@ -125,13 +125,16 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper)
...
@@ -125,13 +125,16 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper)
if
(
hasHtmlHelp
)
if
(
hasHtmlHelp
)
{
{
htmlHelp
->
addContentsItem
(
cd
->
name
(),
cd
->
getOutputFileBase
());
htmlHelp
->
addContentsItem
(
cd
->
name
(),
cd
->
getOutputFileBase
());
//cd->writeMembersToContents();
}
}
}
}
else
else
{
{
ol
.
writeIndexItem
(
0
,
0
,
cd
->
name
());
ol
.
writeIndexItem
(
0
,
0
,
cd
->
name
());
//if (hasHtmlHelp) htmlHelp->addContentsItem(cd->name(),"nodoc");
//if (hasHtmlHelp) htmlHelp->addContentsItem(cd->name(),"nodoc");
if
(
hasHtmlHelp
)
{
htmlHelp
->
addContentsItem
(
cd
->
name
(),
0
);
}
}
}
if
(
!
cd
->
visited
&&
!
hideSuper
&&
cd
->
superClasses
()
->
count
()
>
0
)
if
(
!
cd
->
visited
&&
!
hideSuper
&&
cd
->
superClasses
()
->
count
()
>
0
)
{
{
...
@@ -184,7 +187,7 @@ void writeClassHierarchy(OutputList &ol)
...
@@ -184,7 +187,7 @@ void writeClassHierarchy(OutputList &ol)
}
}
if
(
cd
->
isLinkable
())
if
(
cd
->
isLinkable
())
{
{
ol
.
writeIndexItem
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
cd
->
n
ame
());
ol
.
writeIndexItem
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
cd
->
displayN
ame
());
if
(
cd
->
isReference
())
if
(
cd
->
isReference
())
{
{
ol
.
startTypewriter
();
ol
.
startTypewriter
();
...
@@ -199,8 +202,12 @@ void writeClassHierarchy(OutputList &ol)
...
@@ -199,8 +202,12 @@ void writeClassHierarchy(OutputList &ol)
}
}
else
else
{
{
ol
.
writeIndexItem
(
0
,
0
,
cd
->
n
ame
());
ol
.
writeIndexItem
(
0
,
0
,
cd
->
displayN
ame
());
//if (hasHtmlHelp) htmlHelp->addContentsItem(cd->name(),"nodoc");
//if (hasHtmlHelp) htmlHelp->addContentsItem(cd->name(),"nodoc");
if
(
hasHtmlHelp
)
{
htmlHelp
->
addContentsItem
(
cd
->
name
(),
0
);
}
}
}
if
(
!
cd
->
visited
&&
cd
->
superClasses
()
->
count
()
>
0
)
if
(
!
cd
->
visited
&&
cd
->
superClasses
()
->
count
()
>
0
)
{
{
...
@@ -654,7 +661,7 @@ void writeAnnotatedClassList(OutputList &ol)
...
@@ -654,7 +661,7 @@ void writeAnnotatedClassList(OutputList &ol)
case
ClassDef
:
:
Union
:
type
=
"union"
;
break
;
case
ClassDef
:
:
Union
:
type
=
"union"
;
break
;
default:
type
=
"interface"
;
break
;
default:
type
=
"interface"
;
break
;
}
}
ol
.
writeStartAnnoItem
(
type
,
cd
->
getOutputFileBase
(),
0
,
cd
->
n
ame
());
ol
.
writeStartAnnoItem
(
type
,
cd
->
getOutputFileBase
(),
0
,
cd
->
displayN
ame
());
ol
.
docify
(
" ("
);
ol
.
docify
(
" ("
);
if
(
!
cd
->
briefDescription
().
isEmpty
())
if
(
!
cd
->
briefDescription
().
isEmpty
())
{
{
...
@@ -792,7 +799,14 @@ void writeAlphabeticalClassList(OutputList &ol)
...
@@ -792,7 +799,14 @@ void writeAlphabeticalClassList(OutputList &ol)
{
{
QCString
cname
;
QCString
cname
;
QCString
namesp
;
QCString
namesp
;
extractNamespaceName
(
cd
->
name
(),
cname
,
namesp
);
if
(
Config
::
hideScopeNames
)
{
cname
=
cd
->
displayName
();
}
else
{
extractNamespaceName
(
cd
->
name
(),
cname
,
namesp
);
}
ol
.
writeObjectLink
(
cd
->
getReference
(),
ol
.
writeObjectLink
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
0
,
cname
);
cd
->
getOutputFileBase
(),
0
,
cname
);
...
@@ -927,7 +941,7 @@ void writeMemberList(OutputList &ol)
...
@@ -927,7 +941,7 @@ void writeMemberList(OutputList &ol)
if
(
//cd && (md->isFriend() || md->protection()!=Private || Config::extractPrivateFlag) &&
if
(
//cd && (md->isFriend() || md->protection()!=Private || Config::extractPrivateFlag) &&
//!md->isReference() && md->hasDocumentation() &&
//!md->isReference() && md->hasDocumentation() &&
md
->
isLinkableInProject
()
&&
md
->
isLinkableInProject
()
&&
prevName
!=
cd
->
n
ame
()
&&
prevName
!=
cd
->
displayN
ame
()
&&
cd
->
isLinkableInProject
()
cd
->
isLinkableInProject
()
)
)
{
{
...
@@ -936,9 +950,9 @@ void writeMemberList(OutputList &ol)
...
@@ -936,9 +950,9 @@ void writeMemberList(OutputList &ol)
else
else
ol
.
docify
(
", "
);
ol
.
docify
(
", "
);
ol
.
writeObjectLink
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
md
->
anchor
(),
ol
.
writeObjectLink
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
md
->
anchor
(),
cd
->
n
ame
());
cd
->
displayN
ame
());
count
++
;
count
++
;
prevName
=
cd
->
n
ame
();
prevName
=
cd
->
displayN
ame
();
}
}
md
=
mn
->
prev
();
md
=
mn
->
prev
();
}
}
...
@@ -1384,7 +1398,7 @@ void writePageIndex(OutputList &ol)
...
@@ -1384,7 +1398,7 @@ void writePageIndex(OutputList &ol)
startTitle
(
ol
,
0
);
startTitle
(
ol
,
0
);
QCString
title
=
theTranslator
->
trRelatedPages
();
QCString
title
=
theTranslator
->
trRelatedPages
();
if
(
!
Config
::
projectName
.
isEmpty
())
title
.
prepend
(
Config
::
projectName
+
" "
);
if
(
!
Config
::
projectName
.
isEmpty
())
title
.
prepend
(
Config
::
projectName
+
" "
);
ol
.
docify
(
title
);
parseText
(
ol
,
title
);
endTitle
(
ol
,
0
,
0
);
endTitle
(
ol
,
0
,
0
);
ol
.
startTextBlock
();
ol
.
startTextBlock
();
HtmlHelp
*
htmlHelp
=
0
;
HtmlHelp
*
htmlHelp
=
0
;
...
@@ -1568,7 +1582,7 @@ void writeIndex(OutputList &ol)
...
@@ -1568,7 +1582,7 @@ void writeIndex(OutputList &ol)
parseDoc
(
ol
,
defFileName
,
defLine
,
0
,
0
,
Config
::
projectNumber
);
parseDoc
(
ol
,
defFileName
,
defLine
,
0
,
0
,
Config
::
projectNumber
);
ol
.
endProjectNumber
();
ol
.
endProjectNumber
();
}
}
if
(
Config
::
noIndexFlag
)
writeQuickLinks
(
ol
,
FALSE
);
if
(
Config
::
noIndexFlag
&&
mainPage
==
0
)
writeQuickLinks
(
ol
,
FALSE
);
if
(
mainPage
)
if
(
mainPage
)
{
{
...
...
src/latexgen.cpp
View file @
93737357
...
@@ -958,7 +958,7 @@ void LatexGenerator::writeSection(const char *lab,const char *title,bool sub)
...
@@ -958,7 +958,7 @@ void LatexGenerator::writeSection(const char *lab,const char *title,bool sub)
}
}
}
}
void
LatexGenerator
::
writeSectionRef
(
const
char
*
fileName
,
const
char
*
lab
,
void
LatexGenerator
::
writeSectionRef
(
const
char
*
,
const
char
*
lab
,
const
char
*
text
)
const
char
*
text
)
{
{
if
(
text
&&
Config
::
pdfHyperFlag
)
if
(
text
&&
Config
::
pdfHyperFlag
)
...
@@ -1010,6 +1010,7 @@ void LatexGenerator::docify(const char *str)
...
@@ -1010,6 +1010,7 @@ void LatexGenerator::docify(const char *str)
{
{
static
bool
isJapanese
=
theTranslator
->
latexBabelPackage
()
==
"a4j"
;
static
bool
isJapanese
=
theTranslator
->
latexBabelPackage
()
==
"a4j"
;
static
bool
isRussian
=
theTranslator
->
latexBabelPackage
()
==
"russian"
;
static
bool
isRussian
=
theTranslator
->
latexBabelPackage
()
==
"russian"
;
static
bool
isGerman
=
theTranslator
->
latexBabelPackage
()
==
"german"
;
if
(
str
)
if
(
str
)
{
{
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
...
@@ -1058,6 +1059,12 @@ void LatexGenerator::docify(const char *str)
...
@@ -1058,6 +1059,12 @@ void LatexGenerator::docify(const char *str)
else
else
{
t
<<
"$
\\
backslash$"
;
}
{
t
<<
"$
\\
backslash$"
;
}
break
;
break
;
case
'"'
:
if
(
isGerman
)
// " has a special meaning if German
// - Thomas Vesper
{
t
<<
"
\\
char`
\\\"
"
;
}
else
{
t
<<
(
char
)
c
;
}
break
;
default
:
default
:
if
(
isJapanese
)
if
(
isJapanese
)
...
@@ -1127,7 +1134,7 @@ void LatexGenerator::docify(const char *str)
...
@@ -1127,7 +1134,7 @@ void LatexGenerator::docify(const char *str)
case
219
:
t
<<
"
\\
^{U}"
;
break
;
case
219
:
t
<<
"
\\
^{U}"
;
break
;
case
220
:
t
<<
"
\\\"
{U}"
;
break
;
case
220
:
t
<<
"
\\\"
{U}"
;
break
;
case
221
:
t
<<
"
\\
'{Y}"
;
break
;
case
221
:
t
<<
"
\\
'{Y}"
;
break
;
case
223
:
t
<<
"
\
"
s "
;
break
;
// assumes german package
case
223
:
t
<<
"
\
\
ss "
;
break
;
case
224
:
t
<<
"
\\
`{a}"
;
break
;
case
224
:
t
<<
"
\\
`{a}"
;
break
;
case
225
:
t
<<
"
\\
'{a}"
;
break
;
case
225
:
t
<<
"
\\
'{a}"
;
break
;
case
226
:
t
<<
"
\\
^{a}"
;
break
;
case
226
:
t
<<
"
\\
^{a}"
;
break
;
...
...
src/memberdef.cpp
View file @
93737357
...
@@ -251,6 +251,7 @@ MemberDef::MemberDef(const char *df,int dl,
...
@@ -251,6 +251,7 @@ MemberDef::MemberDef(const char *df,int dl,
enumDeclList
=
0
;
enumDeclList
=
0
;
scopeTAL
=
0
;
scopeTAL
=
0
;
membTAL
=
0
;
membTAL
=
0
;
initLines
=
0
;
type
=
substituteClassNames
(
t
);
type
=
substituteClassNames
(
t
);
args
=
substituteClassNames
(
a
);
args
=
substituteClassNames
(
a
);
if
(
type
.
isEmpty
())
decl
=
name
()
+
args
;
else
decl
=
type
+
" "
+
name
()
+
args
;
if
(
type
.
isEmpty
())
decl
=
name
()
+
args
;
else
decl
=
type
+
" "
+
name
()
+
args
;
...
@@ -911,36 +912,39 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -911,36 +912,39 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
//if (cd && (!isRelated() || templateArguments()!=0) &&
//if (cd && (!isRelated() || templateArguments()!=0) &&
// ((al=scopeDefTemplateArguments()) || (al=cd->templateArguments()))
// ((al=scopeDefTemplateArguments()) || (al=cd->templateArguments()))
// )
// )
if
(
scopeAl
&&
!
related
)
// class template prefix
if
(
!
Config
::
hideScopeNames
)
{
{
ol
.
startMemberDocPrefixItem
();
if
(
scopeAl
&&
!
related
)
// class template prefix
writeTemplatePrefix
(
ol
,
scopeAl
);
{
ol
.
endMemberDocPrefixItem
();
ol
.
startMemberDocPrefixItem
();
}
writeTemplatePrefix
(
ol
,
scopeAl
);
if
(
scopeAl
&&
membAl
)
ol
.
docify
(
" "
);
ol
.
endMemberDocPrefixItem
();
}
if
(
scopeAl
&&
membAl
)
ol
.
docify
(
" "
);
if
(
membAl
)
// function template prefix
if
(
membAl
)
// function template prefix
{
ol
.
startMemberDocPrefixItem
();
writeTemplatePrefix
(
ol
,
membAl
);
ol
.
endMemberDocPrefixItem
();
}
if
(
cd
)
{
QCString
cName
=
cd
->
name
();
//printf("cName=%s\n",cName.data());
int
il
=
cName
.
find
(
'<'
);
int
ir
=
cName
.
findRev
(
'>'
);
if
(
il
!=-
1
&&
ir
!=-
1
&&
ir
>
il
)
{
{
def
=
addTemplateNames
(
def
,
ol
.
startMemberDocPrefixItem
();
cName
.
left
(
il
),
/* class without template spec */
writeTemplatePrefix
(
ol
,
membAl
);
cName
.
mid
(
il
,
ir
-
il
+
1
)
/* templ spec */
ol
.
endMemberDocPrefixItem
();
);
}
}
else
if
(
scopeAl
)
if
(
cd
)
{
{
def
=
addTemplateNames
(
def
,
cName
,
tempArgListToString
(
scopeAl
));
QCString
cName
=
cd
->
name
();
//printf("cName=%s\n",cName.data());
int
il
=
cName
.
find
(
'<'
);
int
ir
=
cName
.
findRev
(
'>'
);
if
(
il
!=-
1
&&
ir
!=-
1
&&
ir
>
il
)
{
def
=
addTemplateNames
(
def
,
cName
.
left
(
il
),
/* class without template spec */
cName
.
mid
(
il
,
ir
-
il
+
1
)
/* templ spec */
);
}
else
if
(
scopeAl
)
{
def
=
addTemplateNames
(
def
,
cName
,
tempArgListToString
(
scopeAl
));
}
}
}
}
}
ol
.
startMemberDocName
();
ol
.
startMemberDocName
();
...
@@ -1296,7 +1300,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -1296,7 +1300,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol
.
endDescList
();
ol
.
endDescList
();
}
}
// write reference to the source
// write reference to the source
writeSourceRef
(
ol
,
cname
);
writeSourceDef
(
ol
,
cname
);
writeSourceRefs
(
ol
,
cname
);
ol
.
endIndent
();
ol
.
endIndent
();
// enable LaTeX again
// enable LaTeX again
//if (Config::extractAllFlag && !hasDocs) ol.enable(OutputGenerator::Latex);
//if (Config::extractAllFlag && !hasDocs) ol.enable(OutputGenerator::Latex);
...
@@ -1379,3 +1385,11 @@ bool MemberDef::visibleMemberGroup(bool hideNoHeader)
...
@@ -1379,3 +1385,11 @@ bool MemberDef::visibleMemberGroup(bool hideNoHeader)
return
memberGroup
!=
0
&&
return
memberGroup
!=
0
&&
(
!
hideNoHeader
||
memberGroup
->
header
()
!=
"[NOHEADER]"
);
(
!
hideNoHeader
||
memberGroup
->
header
()
!=
"[NOHEADER]"
);
}
}
QCString
MemberDef
::
getScopeString
()
const
{
QCString
result
;
if
(
memberClass
())
result
=
memberClass
()
->
name
();
else
if
(
getNamespace
())
result
=
getNamespace
()
->
name
();
return
result
;
}
src/memberdef.h
View file @
93737357
...
@@ -36,6 +36,12 @@ class ExampleDict;
...
@@ -36,6 +36,12 @@ class ExampleDict;
class
OutputList
;
class
OutputList
;
class
GroupDef
;
class
GroupDef
;
struct
SourceReference
{
FileDef
*
fd
;
QCString
anchor
;
};
class
MemberDef
:
public
Definition
class
MemberDef
:
public
Definition
{
{
public
:
public
:
...
@@ -84,7 +90,7 @@ class MemberDef : public Definition
...
@@ -84,7 +90,7 @@ class MemberDef : public Definition
const
char
*
anchor
()
const
{
return
anc
;
}
const
char
*
anchor
()
const
{
return
anc
;
}
const
QCString
&
initializer
()
const
{
return
init
;
}
const
QCString
&
initializer
()
const
{
return
init
;
}
int
initializerLines
()
const
{
return
initLines
;
}
int
initializerLines
()
const
{
return
initLines
;
}
ClassDef
*
memberClass
()
{
return
classDef
;
}
ClassDef
*
memberClass
()
const
{
return
classDef
;
}
Protection
protection
()
const
{
return
prot
;
}
Protection
protection
()
const
{
return
prot
;
}
Specifier
virtualness
()
const
{
return
virt
;
}
Specifier
virtualness
()
const
{
return
virt
;
}
MemberType
memberType
()
const
{
return
mtype
;
}
MemberType
memberType
()
const
{
return
mtype
;
}
...
@@ -104,7 +110,7 @@ class MemberDef : public Definition
...
@@ -104,7 +110,7 @@ class MemberDef : public Definition
void
setAnchor
(
const
char
*
a
)
{
anc
=
a
;
}
void
setAnchor
(
const
char
*
a
)
{
anc
=
a
;
}
void
setProtection
(
Protection
p
)
{
prot
=
p
;
}
void
setProtection
(
Protection
p
)
{
prot
=
p
;
}
void
setMemberSpecifiers
(
int
s
)
{
memSpec
=
s
;
}
void
setMemberSpecifiers
(
int
s
)
{
memSpec
=
s
;
}
int
getMemberSpecifiers
()
{
return
memSpec
;
}
int
getMemberSpecifiers
()
const
{
return
memSpec
;
}
void
mergeMemberSpecifiers
(
int
s
)
{
memSpec
|=
s
;
}
void
mergeMemberSpecifiers
(
int
s
)
{
memSpec
|=
s
;
}
void
setInitializer
(
const
char
*
i
)
{
init
=
i
;
void
setInitializer
(
const
char
*
i
)
{
init
=
i
;
init
=
init
.
stripWhiteSpace
();
init
=
init
.
stripWhiteSpace
();
...
@@ -123,8 +129,8 @@ class MemberDef : public Definition
...
@@ -123,8 +129,8 @@ class MemberDef : public Definition
// relation to other members
// relation to other members
void
setReimplements
(
MemberDef
*
md
)
{
redefines
=
md
;
}
void
setReimplements
(
MemberDef
*
md
)
{
redefines
=
md
;
}
void
insertReimplementedBy
(
MemberDef
*
md
);
void
insertReimplementedBy
(
MemberDef
*
md
);
MemberDef
*
reimplements
()
{
return
redefines
;
}
MemberDef
*
reimplements
()
const
{
return
redefines
;
}
MemberList
*
reimplementedBy
()
{
return
redefinedBy
;
}
MemberList
*
reimplementedBy
()
const
{
return
redefinedBy
;
}
// enumeration specific members
// enumeration specific members
void
insertEnumField
(
MemberDef
*
md
);
void
insertEnumField
(
MemberDef
*
md
);
...
@@ -134,11 +140,11 @@ class MemberDef : public Definition
...
@@ -134,11 +140,11 @@ class MemberDef : public Definition
void
setEnumUsed
()
{
eUsed
=
TRUE
;
}
void
setEnumUsed
()
{
eUsed
=
TRUE
;
}
bool
enumUsed
()
const
{
return
eUsed
;
}
bool
enumUsed
()
const
{
return
eUsed
;
}
OutputList
*
enumDecl
()
const
{
return
enumDeclList
;
}
OutputList
*
enumDecl
()
const
{
return
enumDeclList
;
}
MemberList
*
enumFieldList
()
{
return
enumFields
;
}
MemberList
*
enumFieldList
()
const
{
return
enumFields
;
}
void
setDocumentedEnumValues
(
bool
value
)
{
docEnumValues
=
value
;
}
void
setDocumentedEnumValues
(
bool
value
)
{
docEnumValues
=
value
;
}
bool
hasDocumentedEnumValues
()
const
{
return
docEnumValues
;
}
bool
hasDocumentedEnumValues
()
const
{
return
docEnumValues
;
}
void
setAnonymousEnumType
(
MemberDef
*
md
)
{
annEnumType
=
md
;
}
void
setAnonymousEnumType
(
MemberDef
*
md
)
{
annEnumType
=
md
;
}
MemberDef
*
getAnonymousEnumType
()
{
return
annEnumType
;
}
MemberDef
*
getAnonymousEnumType
()
const
{
return
annEnumType
;
}
// example related members
// example related members
bool
addExample
(
const
char
*
anchor
,
const
char
*
name
,
const
char
*
file
);
bool
addExample
(
const
char
*
anchor
,
const
char
*
name
,
const
char
*
file
);
...
@@ -175,7 +181,7 @@ class MemberDef : public Definition
...
@@ -175,7 +181,7 @@ class MemberDef : public Definition
//QCString getScopeTemplateNameString();
//QCString getScopeTemplateNameString();
// namespace related members
// namespace related members
NamespaceDef
*
getNamespace
()
{
return
nspace
;
}
NamespaceDef
*
getNamespace
()
const
{
return
nspace
;
}
void
setNamespace
(
NamespaceDef
*
nd
)
{
nspace
=
nd
;
}
void
setNamespace
(
NamespaceDef
*
nd
)
{
nspace
=
nd
;
}
// member group related members
// member group related members
...
@@ -186,12 +192,14 @@ class MemberDef : public Definition
...
@@ -186,12 +192,14 @@ class MemberDef : public Definition
void
setFromAnnonymousScope
(
bool
b
)
{
annScope
=
b
;
}
void
setFromAnnonymousScope
(
bool
b
)
{
annScope
=
b
;
}
void
setFromAnnonymousMember
(
MemberDef
*
m
)
{
annMemb
=
m
;
}
void
setFromAnnonymousMember
(
MemberDef
*
m
)
{
annMemb
=
m
;
}
bool
fromAnnonymousScope
()
{
return
annScope
;
}
bool
fromAnnonymousScope
()
const
{
return
annScope
;
}
bool
annonymousDeclShown
()
{
return
annUsed
;
}
bool
annonymousDeclShown
()
const
{
return
annUsed
;
}
void
setIndentDepth
(
int
i
)
{
indDepth
=
i
;
}
void
setIndentDepth
(
int
i
)
{
indDepth
=
i
;
}
int
indentDepth
()
{
return
indDepth
;
}
int
indentDepth
()
{
return
indDepth
;
}
bool
visibleMemberGroup
(
bool
hideNoHeader
);
bool
visibleMemberGroup
(
bool
hideNoHeader
);
QCString
getScopeString
()
const
;
private
:
private
:
ClassDef
*
classDef
;
// member of or related to
ClassDef
*
classDef
;
// member of or related to
...
@@ -246,6 +254,7 @@ class MemberDef : public Definition
...
@@ -246,6 +254,7 @@ class MemberDef : public Definition
GroupDef
*
group
;
// group in which this member is in
GroupDef
*
group
;
// group in which this member is in
// disable copying of member defs
// disable copying of member defs
MemberDef
(
const
MemberDef
&
);
MemberDef
(
const
MemberDef
&
);
MemberDef
&
operator
=
(
const
MemberDef
&
);
MemberDef
&
operator
=
(
const
MemberDef
&
);
...
...
src/memberlist.h
View file @
93737357
...
@@ -71,4 +71,11 @@ class MemberListIterator : public QListIterator<MemberDef>
...
@@ -71,4 +71,11 @@ class MemberListIterator : public QListIterator<MemberDef>
MemberListIterator
(
const
QList
<
MemberDef
>
&
list
);
MemberListIterator
(
const
QList
<
MemberDef
>
&
list
);
};
};
class
MemberDict
:
public
QDict
<
MemberDef
>
{
public
:
MemberDict
(
int
size
)
:
QDict
<
MemberDef
>
(
size
)
{}
~
MemberDict
()
{}
};
#endif
#endif
src/scanner.l
View file @
93737357
...
@@ -1524,6 +1524,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -1524,6 +1524,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
}
}
}
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"param"/{BN} {
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"param"/{BN} {
QCString t=yytext;
if (t.contains('\n')>1 && insideItemList)
{
forceEndItemList();
}
endArgumentList();
endArgumentList();
if (!inParamBlock)
if (!inParamBlock)
{
{
...
@@ -1544,6 +1549,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -1544,6 +1549,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
BEGIN(DocParam);
BEGIN(DocParam);
}
}
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"retval"/{BN} {
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"retval"/{BN} {
QCString t=yytext;
if (t.contains('\n')>1 && insideItemList)
{
forceEndItemList();
}
endArgumentList();
endArgumentList();
if (!inRetValBlock)
if (!inRetValBlock)
{
{
...
@@ -1564,6 +1574,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -1564,6 +1574,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
BEGIN(DocParam);
BEGIN(DocParam);
}
}
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}("exception"|"throw")s?/{BN} {
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}("exception"|"throw")s?/{BN} {
QCString t=yytext;
if (t.contains('\n')>1 && insideItemList)
{
forceEndItemList();
}
endArgumentList();
endArgumentList();
if (!inExceptionBlock)
if (!inExceptionBlock)
{
{
...
@@ -3238,7 +3253,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -3238,7 +3253,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
}
<Curly>. { current->program += yytext ; }
<Curly>. { current->program += yytext ; }
<FindMembers>"("({BN}*{ID}{BN}*"::"
{BN}*)*(
"*"{BN}*)+ {
<FindMembers>"("({BN}*{ID}{BN}*"::"
)*({BN}*
"*"{BN}*)+ {
current->bodyLine = yyLineNr;
current->bodyLine = yyLineNr;
lineCount();
lineCount();
addType(current);
addType(current);
...
@@ -3800,6 +3815,13 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -3800,6 +3815,13 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
lineCount();
lineCount();
BEGIN( ClassVar );
BEGIN( ClassVar );
}
}
<ClassVar>{SCOPENAME}{BN}*/"(" {
addType(current);
current->name = yytext;
current->name = current->name.stripWhiteSpace();
lineCount();
BEGIN( FindMembers );
}
<ClassVar>{ID} {
<ClassVar>{ID} {
if (insideIDL && strcmp(yytext,"switch")==0)
if (insideIDL && strcmp(yytext,"switch")==0)
{
{
...
@@ -4303,7 +4325,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -4303,7 +4325,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
yyLineNr++;
yyLineNr++;
}
}
<GroupDocArg1>{ID}(".html"?) {
<GroupDocArg1>{ID}(".html"?) {
// the .html stuff is for Qt compatibility
current->name = yytext;
current->name = yytext;
if (current->name.right(5)==".html")
if (current->name.right(5)==".html")
current->name=current->name.left(current->name.length()-5);
current->name=current->name.left(current->name.length()-5);
...
@@ -4331,6 +4353,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -4331,6 +4353,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
newDocState();
newDocState();
}
}
<GroupDocArg2>"\n" {
<GroupDocArg2>"\n" {
yyLineNr++;
newDocState();
newDocState();
}
}
<ClassDocArg2>{FILE} {
<ClassDocArg2>{FILE} {
...
@@ -4640,7 +4663,8 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -4640,7 +4663,8 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
);
);
}
}
<GroupName>\n {
<GroupName>\n {
yyLineNr++; BEGIN( lastGroupContext );
yyLineNr++;
BEGIN( lastGroupContext );
}
}
<ClassDoc,Doc>{B}*{CMD}("brief"|"short") {
<ClassDoc,Doc>{B}*{CMD}("brief"|"short") {
lastBriefContext=YY_START;
lastBriefContext=YY_START;
...
...
src/translator.h
View file @
93737357
...
@@ -876,6 +876,16 @@ class Translator
...
@@ -876,6 +876,16 @@ class Translator
{
{
return
"Todo List"
;
return
"Todo List"
;
}
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.4
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trReferencedBy
()
{
return
"Referenced by"
;
}
};
};
#endif
#endif
src/util.cpp
View file @
93737357
/******************************************************************************
/******************************************************************************
*
*
*
$Id$
*
*
*
* Copyright (C) 1997-2000 by Dimitri van Heesch.
* Copyright (C) 1997-2000 by Dimitri van Heesch.
*
*
...
@@ -2317,3 +2317,14 @@ QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &te
...
@@ -2317,3 +2317,14 @@ QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &te
// scope.data(),templ.data(),result.data());
// scope.data(),templ.data(),result.data());
return
result
;
return
result
;
}
}
QCString
stripScope
(
const
char
*
name
)
{
QCString
result
=
name
;
int
i
=
result
.
findRev
(
"::"
);
if
(
i
!=-
1
)
{
result
=
result
.
right
(
result
.
length
()
-
i
-
2
);
}
return
result
;
}
src/util.h
View file @
93737357
...
@@ -96,5 +96,6 @@ QCString convertNameToFile(const char *name);
...
@@ -96,5 +96,6 @@ QCString convertNameToFile(const char *name);
void
extractNamespaceName
(
const
QCString
&
scopeName
,
void
extractNamespaceName
(
const
QCString
&
scopeName
,
QCString
&
className
,
QCString
&
namespaceName
);
QCString
&
className
,
QCString
&
namespaceName
);
QCString
insertTemplateSpecifierInScope
(
const
QCString
&
scope
,
const
QCString
&
templ
);
QCString
insertTemplateSpecifierInScope
(
const
QCString
&
scope
,
const
QCString
&
templ
);
QCString
stripScope
(
const
char
*
name
);
#endif
#endif
tmake/lib/irix-n32/tmake.conf
View file @
93737357
...
@@ -11,7 +11,7 @@ TMAKE_CC = cc
...
@@ -11,7 +11,7 @@ TMAKE_CC = cc
TMAKE_CFLAGS
= -
n32
-
mips3
LANG
:
bool
=
ON
-
woff
1209
,
1233
,
1314
,
1355
,
1375
,
1506
TMAKE_CFLAGS
= -
n32
-
mips3
LANG
:
bool
=
ON
-
woff
1209
,
1233
,
1314
,
1355
,
1375
,
1506
TMAKE_CFLAGS_WARN_ON
= -
fullwarn
TMAKE_CFLAGS_WARN_ON
= -
fullwarn
TMAKE_CFLAGS_WARN_OFF
=
TMAKE_CFLAGS_WARN_OFF
=
TMAKE_CFLAGS_RELEASE
= -
O2
-
OPT
:
Olimit
=
3000
TMAKE_CFLAGS_RELEASE
= -
O2
TMAKE_CFLAGS_DEBUG
= -
g
TMAKE_CFLAGS_DEBUG
= -
g
TMAKE_CFLAGS_SHLIB
=
TMAKE_CFLAGS_SHLIB
=
TMAKE_CFLAGS_YACC
= -
woff
1110
,
1174
,
3262
TMAKE_CFLAGS_YACC
= -
woff
1110
,
1174
,
3262
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment