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
e174524c
Commit
e174524c
authored
Sep 30, 2001
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.11
parent
86502f97
Changes
21
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
487 additions
and
80 deletions
+487
-80
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+3
-0
README
README
+2
-2
VERSION
VERSION
+1
-1
dochandler.cpp
addon/xmlparse/dochandler.cpp
+224
-8
dochandler.h
addon/xmlparse/dochandler.h
+115
-4
arch.doc
doc/arch.doc
+2
-2
group.cpp
examples/group.cpp
+3
-3
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+6
-15
classdef.h
src/classdef.h
+0
-2
classlist.cpp
src/classlist.cpp
+10
-6
code.l
src/code.l
+1
-0
doc.l
src/doc.l
+24
-4
doxygen.cpp
src/doxygen.cpp
+11
-9
latexgen.cpp
src/latexgen.cpp
+3
-2
memberdef.cpp
src/memberdef.cpp
+1
-1
memberdef.h
src/memberdef.h
+2
-2
sortdict.h
src/sortdict.h
+58
-1
util.cpp
src/util.cpp
+17
-14
No files found.
Doxyfile
View file @
e174524c
...
@@ -148,7 +148,7 @@ PERL_PATH = /usr/bin/perl
...
@@ -148,7 +148,7 @@ PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
HAVE_DOT =
YES
HAVE_DOT =
NO
CLASS_GRAPH = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
COLLABORATION_GRAPH = YES
INCLUDE_GRAPH = YES
INCLUDE_GRAPH = YES
...
...
INSTALL
View file @
e174524c
DOXYGEN Version 1.2.1
0-20010923
DOXYGEN Version 1.2.1
1
Please read the installation section of the manual for instructions.
Please read the installation section of the manual for instructions.
--------
--------
Dimitri van Heesch (
23
September 2001)
Dimitri van Heesch (
30
September 2001)
Makefile.in
View file @
e174524c
...
@@ -76,5 +76,8 @@ archive: clean
...
@@ -76,5 +76,8 @@ archive: clean
src/version.cpp
:
Makefile
src/version.cpp
:
Makefile
echo
"char versionString[]=
\"
$(VERSION)
\"
;"
>
src/version.cpp
echo
"char versionString[]=
\"
$(VERSION)
\"
;"
>
src/version.cpp
addon/doxywizard/version.cpp
:
Makefile
echo
"char versionString[]=
\"
$(VERSION)
\"
;"
>
addon/doxywizard/version.cpp
FORCE
:
FORCE
:
README
View file @
e174524c
DOXYGEN Version 1.2.1
0_20010923
DOXYGEN Version 1.2.1
1
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
23
September 2001)
Dimitri van Heesch (dimitri@stack.nl) (
30
September 2001)
VERSION
View file @
e174524c
1.2.1
0-20010923
1.2.1
1
addon/xmlparse/dochandler.cpp
View file @
e174524c
This diff is collapsed.
Click to expand it.
addon/xmlparse/dochandler.h
View file @
e174524c
...
@@ -59,7 +59,12 @@ class DocNode
...
@@ -59,7 +59,12 @@ class DocNode
VariableList
,
VariableList
,
VariableListEntry
,
VariableListEntry
,
HRuler
,
HRuler
,
LineBreak
LineBreak
,
ULink
,
EMail
,
Link
,
ProgramListing
,
CodeLine
};
};
DocNode
(
NodeKind
k
)
:
m_kind
(
k
)
{}
DocNode
(
NodeKind
k
)
:
m_kind
(
k
)
{}
virtual
~
DocNode
()
{}
virtual
~
DocNode
()
{}
...
@@ -247,6 +252,67 @@ class LineBreakHandler : public DocNode, public BaseHandler<LineBreakHandler>
...
@@ -247,6 +252,67 @@ class LineBreakHandler : public DocNode, public BaseHandler<LineBreakHandler>
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
/* \brief Node representing a link to section
*
*/
class
LinkHandler
:
public
DocNode
,
public
BaseHandler
<
LinkHandler
>
{
public
:
LinkHandler
(
IBaseHandler
*
parent
);
virtual
~
LinkHandler
();
void
startLink
(
const
QXmlAttributes
&
attrib
);
void
endLink
();
private
:
IBaseHandler
*
m_parent
;
QString
m_ref
;
QString
m_text
;
};
//-----------------------------------------------------------------------------
/* \brief Node representing a link to an email address
*
*/
class
EMailHandler
:
public
DocNode
,
public
BaseHandler
<
EMailHandler
>
{
public
:
EMailHandler
(
IBaseHandler
*
parent
);
virtual
~
EMailHandler
();
void
startEMail
(
const
QXmlAttributes
&
attrib
);
void
endEMail
();
private
:
IBaseHandler
*
m_parent
;
QString
m_address
;
};
//-----------------------------------------------------------------------------
/* \brief Node representing a link to an URL
*
*/
class
ULinkHandler
:
public
DocNode
,
public
BaseHandler
<
ULinkHandler
>
{
public
:
ULinkHandler
(
IBaseHandler
*
parent
);
virtual
~
ULinkHandler
();
void
startULink
(
const
QXmlAttributes
&
attrib
);
void
endULink
();
private
:
IBaseHandler
*
m_parent
;
QString
m_url
;
QString
m_text
;
};
//-----------------------------------------------------------------------------
/* \brief Node representing a horizontal ruler
/* \brief Node representing a horizontal ruler
*
*
*/
*/
...
@@ -385,15 +451,56 @@ class VariableListHandler : public DocNode, public BaseHandler<VariableListHandl
...
@@ -385,15 +451,56 @@ class VariableListHandler : public DocNode, public BaseHandler<VariableListHandl
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
class
CodeLineHandler
:
public
DocNode
,
public
BaseHandler
<
CodeLineHandler
>
{
public
:
virtual
void
startCodeLine
(
const
QXmlAttributes
&
);
virtual
void
endCodeLine
();
virtual
void
startLineNumber
(
const
QXmlAttributes
&
);
virtual
void
endLineNumber
();
CodeLineHandler
(
IBaseHandler
*
parent
);
virtual
~
CodeLineHandler
();
private
:
IBaseHandler
*
m_parent
;
int
m_lineNumber
;
QString
m_anchor
;
QString
m_ref
;
QList
<
DocNode
>
m_children
;
};
//-----------------------------------------------------------------------------
/*! \brief Node representing a program listing
*
*/
class
ProgramListingHandler
:
public
DocNode
,
public
BaseHandler
<
ProgramListingHandler
>
{
public
:
virtual
void
startProgramListing
(
const
QXmlAttributes
&
attrib
);
virtual
void
endProgramListing
();
virtual
void
startCodeLine
(
const
QXmlAttributes
&
);
virtual
void
startLineNumber
(
const
QXmlAttributes
&
);
ProgramListingHandler
(
IBaseHandler
*
parent
);
virtual
~
ProgramListingHandler
();
private
:
IBaseHandler
*
m_parent
;
QList
<
CodeLineHandler
>
m_children
;
bool
m_hasLineNumber
;
};
//-----------------------------------------------------------------------------
/*! \brief Node representing a paragraph of text and commands.
/*! \brief Node representing a paragraph of text and commands.
*
*
*/
*/
// children: itemizedlist, orderedlist, parameterlist, simplesect, ref,
// children: itemizedlist, orderedlist, parameterlist, simplesect, ref,
// variablelist, hruler, linebreak,
// variablelist, hruler, linebreak,
ulink, email, link
// TODO:
// TODO:
// ulink, email, link
// table,
// programlisting,
// programlisting,
// table,
// indexentry, formula, image, dotfile
// indexentry, formula, image, dotfile
// children handled by MarkupHandler:
// children handled by MarkupHandler:
// bold, computeroutput, emphasis, center,
// bold, computeroutput, emphasis, center,
...
@@ -411,6 +518,10 @@ class ParagraphHandler : public DocNode, public BaseHandler<ParagraphHandler>
...
@@ -411,6 +518,10 @@ class ParagraphHandler : public DocNode, public BaseHandler<ParagraphHandler>
virtual
void
startVariableList
(
const
QXmlAttributes
&
attrib
);
virtual
void
startVariableList
(
const
QXmlAttributes
&
attrib
);
virtual
void
startHRuler
(
const
QXmlAttributes
&
attrib
);
virtual
void
startHRuler
(
const
QXmlAttributes
&
attrib
);
virtual
void
startLineBreak
(
const
QXmlAttributes
&
attrib
);
virtual
void
startLineBreak
(
const
QXmlAttributes
&
attrib
);
virtual
void
startULink
(
const
QXmlAttributes
&
attrib
);
virtual
void
startEMail
(
const
QXmlAttributes
&
attrib
);
virtual
void
startLink
(
const
QXmlAttributes
&
attrib
);
virtual
void
startProgramListing
(
const
QXmlAttributes
&
attrib
);
ParagraphHandler
(
IBaseHandler
*
parent
);
ParagraphHandler
(
IBaseHandler
*
parent
);
virtual
~
ParagraphHandler
();
virtual
~
ParagraphHandler
();
...
...
doc/arch.doc
View file @
e174524c
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
* input used in their production; they are not affected by this license.
* input used in their production; they are not affected by this license.
*
*
*/
*/
/*! \page arch
/*! \page arch
Doxygen's Internals
\section arch Doxygen's Internals
<h3>Doxygen's internals</h3>
<B>Note that this section is still under construction!</B>
<B>Note that this section is still under construction!</B>
...
...
examples/group.cpp
View file @
e174524c
...
@@ -12,7 +12,7 @@ class C2 {};
...
@@ -12,7 +12,7 @@ class C2 {};
/** function in group 1 */
/** function in group 1 */
void
func
()
{}
void
func
()
{}
/** @}
end of group1 */
/** @}
*/
// end of group1
/**
/**
* @defgroup group2 The Second Group
* @defgroup group2 The Second Group
...
@@ -70,7 +70,7 @@ namespace N1 {};
...
@@ -70,7 +70,7 @@ namespace N1 {};
* Text of the second section
* Text of the second section
*/
*/
/** @} */
/** @} */
// end of group5
/** @addtogroup group1
/** @addtogroup group1
*
*
...
@@ -84,5 +84,5 @@ void func2() {}
...
@@ -84,5 +84,5 @@ void func2() {}
/** yet another function in group 1 */
/** yet another function in group 1 */
void
func3
()
{}
void
func3
()
{}
/** @} */
/** @} */
// end of group1
packages/rpm/doxygen.spec
View file @
e174524c
Name: doxygen
Name: doxygen
Version: 1.2.1
0_20010923
Version: 1.2.1
1
Summary: documentation system for C, C++ and IDL
Summary: documentation system for C, C++ and IDL
Release: 4
Release: 4
Source: doxygen-%{version}.src.tar.gz
Source: doxygen-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
e174524c
...
@@ -2342,21 +2342,12 @@ QCString ClassDef::qualifiedNameWithTemplateParameters(
...
@@ -2342,21 +2342,12 @@ QCString ClassDef::qualifiedNameWithTemplateParameters(
QCString
ClassDef
::
className
()
const
QCString
ClassDef
::
className
()
const
{
{
if
(
!
m_className
.
isEmpty
())
QCString
className
=
m_localName
;
{
return
m_className
;
}
else
{
ClassDef
*
that
=
(
ClassDef
*
)
this
;
// m_className is a cache value, so we fake that this function is "const".
that
->
m_className
=
m_localName
.
copy
();
Definition
*
p
=
getOuterScope
();
Definition
*
p
=
getOuterScope
();
while
(
p
&&
p
->
definitionType
()
==
TypeClass
)
while
(
p
&&
p
->
definitionType
()
==
TypeClass
)
{
{
that
->
m_
className
.
prepend
(
p
->
localName
()
+
"::"
);
className
.
prepend
(
p
->
localName
()
+
"::"
);
p
=
p
->
getOuterScope
();
p
=
p
->
getOuterScope
();
}
}
return
m_className
;
return
className
;
}
};
};
src/classdef.h
View file @
e174524c
...
@@ -401,8 +401,6 @@ class ClassDef : public Definition
...
@@ -401,8 +401,6 @@ class ClassDef : public Definition
/*! Is this an abstact class? */
/*! Is this an abstact class? */
bool
m_isAbstract
;
bool
m_isAbstract
;
QCString
m_className
;
/*! Is the class part of an unnamed namespace? */
/*! Is the class part of an unnamed namespace? */
bool
m_isStatic
;
bool
m_isStatic
;
};
};
...
...
src/classlist.cpp
View file @
e174524c
...
@@ -35,18 +35,22 @@ int ClassList::compareItems(GCI item1, GCI item2)
...
@@ -35,18 +35,22 @@ int ClassList::compareItems(GCI item1, GCI item2)
{
{
ClassDef
*
c1
=
(
ClassDef
*
)
item1
;
ClassDef
*
c1
=
(
ClassDef
*
)
item1
;
ClassDef
*
c2
=
(
ClassDef
*
)
item2
;
ClassDef
*
c2
=
(
ClassDef
*
)
item2
;
return
stricmp
(
c1
->
localName
().
data
()
+
getPrefixIndex
(
c1
->
localName
()),
//return stricmp(c1->localName().data()+getPrefixIndex(c1->localName()),
c2
->
localName
().
data
()
+
getPrefixIndex
(
c2
->
localName
())
// c2->localName().data()+getPrefixIndex(c2->localName())
);
// );
return
stricmp
(
c1
->
className
().
data
()
+
getPrefixIndex
(
c1
->
className
()),
c2
->
className
().
data
()
+
getPrefixIndex
(
c2
->
className
()));
}
}
int
ClassSDict
::
compareItems
(
GCI
item1
,
GCI
item2
)
int
ClassSDict
::
compareItems
(
GCI
item1
,
GCI
item2
)
{
{
ClassDef
*
c1
=
(
ClassDef
*
)
item1
;
ClassDef
*
c1
=
(
ClassDef
*
)
item1
;
ClassDef
*
c2
=
(
ClassDef
*
)
item2
;
ClassDef
*
c2
=
(
ClassDef
*
)
item2
;
return
stricmp
(
c1
->
localName
().
data
()
+
getPrefixIndex
(
c1
->
localName
()),
//return stricmp(c1->localName().data()+getPrefixIndex(c1->localName()),
c2
->
localName
().
data
()
+
getPrefixIndex
(
c2
->
localName
())
// c2->localName().data()+getPrefixIndex(c2->localName())
);
// );
return
stricmp
(
c1
->
className
().
data
()
+
getPrefixIndex
(
c1
->
className
()),
c2
->
className
().
data
()
+
getPrefixIndex
(
c2
->
className
()));
}
}
ClassListIterator
::
ClassListIterator
(
const
ClassList
&
cllist
)
:
ClassListIterator
::
ClassListIterator
(
const
ClassList
&
cllist
)
:
...
...
src/code.l
View file @
e174524c
...
@@ -240,6 +240,7 @@ static void endCodeLine()
...
@@ -240,6 +240,7 @@ static void endCodeLine()
*/
*/
static void codifyLines(char *text)
static void codifyLines(char *text)
{
{
//printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text);
char *p=text,*sp=p;
char *p=text,*sp=p;
char c;
char c;
bool done=FALSE;
bool done=FALSE;
...
...
src/doc.l
View file @
e174524c
...
@@ -143,6 +143,7 @@ static void initParser()
...
@@ -143,6 +143,7 @@ static void initParser()
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void scanString(const char *s);
void scanString(const char *s);
void scanDoc(const char *s);
void internalParseDocument(const char *s);
void internalParseDocument(const char *s);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -324,7 +325,7 @@ static void verbIncludeFile(OutputDocInterface &od,const char *name)
...
@@ -324,7 +325,7 @@ static void verbIncludeFile(OutputDocInterface &od,const char *name)
if ((fd=findFileDef(Doxygen::exampleNameDict,name,ambig)))
if ((fd=findFileDef(Doxygen::exampleNameDict,name,ambig)))
{
{
od.startCodeFragment();
od.startCodeFragment();
od.codify(fileToString(fd->absFilePath()));
od.codify(fileToString(fd->absFilePath())
+"\n"
);
od.endCodeFragment();
od.endCodeFragment();
}
}
else if (ambig)
else if (ambig)
...
@@ -909,7 +910,7 @@ TT [tT][tT]
...
@@ -909,7 +910,7 @@ TT [tT][tT]
UL [uU][lL]
UL [uU][lL]
VAR [vV][aA][rR]
VAR [vV][aA][rR]
BLOCKQUOTE [bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE]
BLOCKQUOTE [bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE]
DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
DOCPARAM (
"#")?(
[a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
OPNEW {B}+"new"({B}*"[]")?
OPNEW {B}+"new"({B}*"[]")?
OPDEL {B}+"delete"({B}*"[]")?
OPDEL {B}+"delete"({B}*"[]")?
OPARG "("[a-z_A-Z0-9,\<\> \t\*\&]*")"
OPARG "("[a-z_A-Z0-9,\<\> \t\*\&]*")"
...
@@ -1567,14 +1568,14 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -1567,14 +1568,14 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
<DocScan>"\\capt".*
<DocScan>"\\capt".*
<DocParam>({DOCPARAM}{BN}*","{BN}*)*{DOCPARAM}{BSEP}* {
<DocParam>({DOCPARAM}{BN}*","{BN}*)*{DOCPARAM}{BSEP}* {
outDoc->startDescTableTitle();
outDoc->startDescTableTitle();
outDoc->docify(substitute(yytext,"\"","").stripWhiteSpace());
scanDoc(substitute(yytext,"\"","").stripWhiteSpace());
outDoc->endDescTableTitle();
outDoc->endDescTableTitle();
outDoc->startDescTableData();
outDoc->startDescTableData();
BEGIN(DocScan);
BEGIN(DocScan);
}
}
<DocException>{SCOPENAME} {
<DocException>{SCOPENAME} {
outDoc->startDescTableTitle();
outDoc->startDescTableTitle();
outDoc->docify(yytext);
generateRef(*outDoc,className,yytext,FALSE);
outDoc->endDescTableTitle();
outDoc->endDescTableTitle();
outDoc->startDescTableData();
outDoc->startDescTableData();
BEGIN(DocScan);
BEGIN(DocScan);
...
@@ -1938,6 +1939,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -1938,6 +1939,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
}
}
<DocCodeBlock>{BN}*{CMD}"endcode"/[^a-z_A-Z0-9] { // needed to match things like \endcode. (note the dot)
<DocCodeBlock>{BN}*{CMD}"endcode"/[^a-z_A-Z0-9] { // needed to match things like \endcode. (note the dot)
codeBlock+="\n";
parseCode(*outDoc,className,codeBlock,exampleDoc,exampleName);
parseCode(*outDoc,className,codeBlock,exampleDoc,exampleName);
//printf("Code block\n-------------\n%s\n--------------\n",codeBlock.data());
//printf("Code block\n-------------\n%s\n--------------\n",codeBlock.data());
outDoc->endCodeFragment();
outDoc->endCodeFragment();
...
@@ -2449,6 +2451,24 @@ void scanString(const char *s)
...
@@ -2449,6 +2451,24 @@ void scanString(const char *s)
BEGIN( oldRule );
BEGIN( oldRule );
}
}
void scanDoc(const char *s)
{
const char *oldInputString = inputString;
int oldInputPosition = inputPosition;
int oldRule = YY_START;
YY_BUFFER_STATE oldBuffer = YY_CURRENT_BUFFER;
yy_switch_to_buffer(yy_create_buffer(docYYin, YY_BUF_SIZE));
inputString = s;
inputPosition = 0;
BEGIN( DocScan );
docYYlex();
yy_delete_buffer(YY_CURRENT_BUFFER);
yy_switch_to_buffer(oldBuffer);
inputString = oldInputString;
inputPosition = oldInputPosition;
BEGIN( oldRule );
}
void internalParseDocument(const char *s)
void internalParseDocument(const char *s)
{
{
const char *oldInputString = inputString;
const char *oldInputString = inputString;
...
...
src/doxygen.cpp
View file @
e174524c
...
@@ -937,7 +937,7 @@ static void buildClassList(Entry *root)
...
@@ -937,7 +937,7 @@ static void buildClassList(Entry *root)
// add class to the list
// add class to the list
//printf("ClassDict.insert(%s)\n",resolveDefines(fullName).data());
//printf("ClassDict.insert(%s)\n",resolveDefines(fullName).data());
Doxygen
::
classSDict
.
inSort
(
fullName
,
cd
);
Doxygen
::
classSDict
.
append
(
fullName
,
cd
);
// also add class to the correct structural context
// also add class to the correct structural context
Definition
*
d
=
findScopeFromQualifiedName
(
Doxygen
::
globalScope
,
fullName
);
Definition
*
d
=
findScopeFromQualifiedName
(
Doxygen
::
globalScope
,
fullName
);
...
@@ -2543,7 +2543,7 @@ static void findUsedClassesForClass(Entry *root,
...
@@ -2543,7 +2543,7 @@ static void findUsedClassesForClass(Entry *root,
masterCd
->
getDefFileName
(),
masterCd
->
getDefLine
(),
masterCd
->
getDefFileName
(),
masterCd
->
getDefLine
(),
usedName
,
ClassDef
::
Class
);
usedName
,
ClassDef
::
Class
);
//usedCd->setIsTemplateBaseClass(count);
//usedCd->setIsTemplateBaseClass(count);
Doxygen
::
hiddenClasses
.
inSort
(
usedName
,
usedCd
);
Doxygen
::
hiddenClasses
.
append
(
usedName
,
usedCd
);
}
}
if
(
isArtificial
)
usedCd
->
setClassIsArtificial
();
if
(
isArtificial
)
usedCd
->
setClassIsArtificial
();
instanceCd
->
addUsedClass
(
usedCd
,
md
->
name
());
instanceCd
->
addUsedClass
(
usedCd
,
md
->
name
());
...
@@ -2600,7 +2600,7 @@ static void findUsedClassesForClass(Entry *root,
...
@@ -2600,7 +2600,7 @@ static void findUsedClassesForClass(Entry *root,
usedCd
=
new
ClassDef
(
usedCd
=
new
ClassDef
(
masterCd
->
getDefFileName
(),
masterCd
->
getDefLine
(),
masterCd
->
getDefFileName
(),
masterCd
->
getDefLine
(),
type
,
ClassDef
::
Class
);
type
,
ClassDef
::
Class
);
Doxygen
::
hiddenClasses
.
inSort
(
type
,
usedCd
);
Doxygen
::
hiddenClasses
.
append
(
type
,
usedCd
);
}
}
if
(
isArtificial
)
usedCd
->
setClassIsArtificial
();
if
(
isArtificial
)
usedCd
->
setClassIsArtificial
();
instanceCd
->
addUsedClass
(
usedCd
,
md
->
name
());
instanceCd
->
addUsedClass
(
usedCd
,
md
->
name
());
...
@@ -2700,7 +2700,7 @@ static bool findTemplateInstanceRelation(Entry *root,
...
@@ -2700,7 +2700,7 @@ static bool findTemplateInstanceRelation(Entry *root,
if
(
freshInstance
)
if
(
freshInstance
)
{
{
Doxygen
::
classSDict
.
inSort
(
instanceClass
->
name
(),
instanceClass
);
Doxygen
::
classSDict
.
append
(
instanceClass
->
name
(),
instanceClass
);
instanceClass
->
setTemplateBaseClassNames
(
templateNames
);
instanceClass
->
setTemplateBaseClassNames
(
templateNames
);
// search for new template instances caused by base classes of
// search for new template instances caused by base classes of
...
@@ -2967,7 +2967,7 @@ static bool findClassRelation(
...
@@ -2967,7 +2967,7 @@ static bool findClassRelation(
{
{
baseClass
=
new
ClassDef
(
root
->
fileName
,
root
->
startLine
,
baseClass
=
new
ClassDef
(
root
->
fileName
,
root
->
startLine
,
baseClassName
,
ClassDef
::
Class
);
baseClassName
,
ClassDef
::
Class
);
Doxygen
::
hiddenClasses
.
inSort
(
baseClassName
,
baseClass
);
Doxygen
::
hiddenClasses
.
append
(
baseClassName
,
baseClass
);
if
(
isArtificial
)
baseClass
->
setClassIsArtificial
();
if
(
isArtificial
)
baseClass
->
setClassIsArtificial
();
}
}
}
}
...
@@ -2975,7 +2975,7 @@ static bool findClassRelation(
...
@@ -2975,7 +2975,7 @@ static bool findClassRelation(
{
{
baseClass
=
new
ClassDef
(
root
->
fileName
,
root
->
startLine
,
baseClass
=
new
ClassDef
(
root
->
fileName
,
root
->
startLine
,
baseClassName
,
ClassDef
::
Class
);
baseClassName
,
ClassDef
::
Class
);
Doxygen
::
classSDict
.
inSort
(
baseClassName
,
baseClass
);
Doxygen
::
classSDict
.
append
(
baseClassName
,
baseClass
);
if
(
isArtificial
)
baseClass
->
setClassIsArtificial
();
if
(
isArtificial
)
baseClass
->
setClassIsArtificial
();
}
}
// add base class to this class
// add base class to this class
...
@@ -4413,14 +4413,14 @@ static void findMember(Entry *root,
...
@@ -4413,14 +4413,14 @@ static void findMember(Entry *root,
!
findGlobalMember
(
root
,
namespaceName
,
funcName
,
funcTempList
,
funcArgs
,
funcDecl
))
!
findGlobalMember
(
root
,
namespaceName
,
funcName
,
funcTempList
,
funcArgs
,
funcDecl
))
{
{
warn
(
root
->
fileName
,
root
->
startLine
,
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: class for member
%s
cannot "
"Warning: class for member
`%s'
cannot "
"be found."
,
funcName
.
data
()
"be found."
,
funcName
.
data
()
);
);
}
}
else
if
(
!
className
.
isEmpty
())
else
if
(
!
className
.
isEmpty
())
{
{
warn
(
root
->
fileName
,
root
->
startLine
,
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: member
%s of class %s
cannot be found"
,
"Warning: member
`%s' of class `%s'
cannot be found"
,
funcName
.
data
(),
className
.
data
());
funcName
.
data
(),
className
.
data
());
}
}
}
}
...
@@ -7130,9 +7130,11 @@ void parseInput()
...
@@ -7130,9 +7130,11 @@ void parseInput()
msg
(
"Search for main page...
\n
"
);
msg
(
"Search for main page...
\n
"
);
findMainPage
(
root
);
findMainPage
(
root
);
msg
(
"Sorting
member
lists...
\n
"
);
msg
(
"Sorting lists...
\n
"
);
Doxygen
::
memberNameList
.
sort
();
Doxygen
::
memberNameList
.
sort
();
Doxygen
::
functionNameList
.
sort
();
Doxygen
::
functionNameList
.
sort
();
Doxygen
::
hiddenClasses
.
sort
();
Doxygen
::
classSDict
.
sort
();
msg
(
"Freeing entry tree
\n
"
);
msg
(
"Freeing entry tree
\n
"
);
delete
root
;
delete
root
;
...
...
src/latexgen.cpp
View file @
e174524c
...
@@ -160,16 +160,17 @@ void LatexGenerator::init()
...
@@ -160,16 +160,17 @@ void LatexGenerator::init()
<<
endl
<<
endl
<<
"refman.ps: refman.dvi"
<<
endl
<<
"refman.ps: refman.dvi"
<<
endl
<<
"
\t
dvips -o refman.ps refman.dvi"
<<
endl
<<
"
\t
dvips -o refman.ps refman.dvi"
<<
endl
<<
endl
<<
endl
;
<<
"refman.pdf: refman.ps"
<<
endl
;
if
(
Config_getBool
(
"USE_PDFLATEX"
))
// use pdflatex instead of latex
if
(
Config_getBool
(
"USE_PDFLATEX"
))
// use pdflatex instead of latex
{
{
t
<<
"refman.pdf: refman.tex"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
;
t
<<
"
\t
makeindex refman.idx"
<<
endl
;
t
<<
"
\t
makeindex refman.idx"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
;
}
}
else
// otherwise use ps2pdf: not as nice :(
else
// otherwise use ps2pdf: not as nice :(
{
{
t
<<
"refman.pdf: refman.ps"
<<
endl
;
#if defined(_MSC_VER)
#if defined(_MSC_VER)
// ps2pdf.bat does not work properly from a makefile using GNU make!
// ps2pdf.bat does not work properly from a makefile using GNU make!
t
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
t
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
...
...
src/memberdef.cpp
View file @
e174524c
...
@@ -288,7 +288,7 @@ MemberDef::MemberDef(const char *df,int dl,
...
@@ -288,7 +288,7 @@ MemberDef::MemberDef(const char *df,int dl,
args
=
a
;
args
=
a
;
args
=
removeRedundantWhiteSpace
(
args
);
args
=
removeRedundantWhiteSpace
(
args
);
if
(
type
.
isEmpty
())
decl
=
name
()
+
args
;
else
decl
=
type
+
" "
+
name
()
+
args
;
if
(
type
.
isEmpty
())
decl
=
name
()
+
args
;
else
decl
=
type
+
" "
+
name
()
+
args
;
declLine
=
0
;
//
declLine=0;
memberGroup
=
0
;
memberGroup
=
0
;
virt
=
v
;
virt
=
v
;
prot
=
p
;
prot
=
p
;
...
...
src/memberdef.h
View file @
e174524c
...
@@ -255,8 +255,8 @@ class MemberDef : public Definition
...
@@ -255,8 +255,8 @@ class MemberDef : public Definition
QCString
init
;
// initializer
QCString
init
;
// initializer
int
initLines
;
// number of lines in the initializer
int
initLines
;
// number of lines in the initializer
QCString
decl
;
// member declaration in class
QCString
decl
;
// member declaration in class
QCString
declFile
;
// file where the declaration was found
//
QCString declFile; // file where the declaration was found
int
declLine
;
// line where the declaration was found
//
int declLine; // line where the declaration was found
QCString
def
;
// member definition in code (fully qualified name)
QCString
def
;
// member definition in code (fully qualified name)
QCString
anc
;
// HTML anchor name
QCString
anc
;
// HTML anchor name
Specifier
virt
;
// normal/virtual/pure virtual
Specifier
virt
;
// normal/virtual/pure virtual
...
...
src/sortdict.h
View file @
e174524c
...
@@ -23,6 +23,45 @@
...
@@ -23,6 +23,45 @@
#include <qlist.h>
#include <qlist.h>
#include <qdict.h>
#include <qdict.h>
#define AUTORESIZE 1
#if AUTORESIZE
const
uint
SDict_primes
[]
=
{
17
,
29
,
47
,
71
,
113
,
179
,
293
,
457
,
733
,
1171
,
1871
,
2999
,
4787
,
7669
,
12251
,
19603
,
31379
,
50177
,
80287
,
128449
,
205519
,
328829
,
526139
,
841801
,
1346881
,
2155007
,
3448033
,
5516827
,
8826919
,
14123059
,
0xffffffff
};
#endif
template
<
class
T
>
class
SDict
;
template
<
class
T
>
class
SDict
;
/*! internal wrapper class that redirects compareItems() to the
/*! internal wrapper class that redirects compareItems() to the
...
@@ -51,16 +90,22 @@ class SDict
...
@@ -51,16 +90,22 @@ class SDict
private
:
private
:
SList
<
T
>
*
m_list
;
SList
<
T
>
*
m_list
;
QDict
<
T
>
*
m_dict
;
QDict
<
T
>
*
m_dict
;
int
m_sizeIndex
;
public
:
public
:
/*! Create an ordered dictionary.
/*! Create an ordered dictionary.
* \param size The size of the dictionary. Should be a prime number for
* \param size The size of the dictionary. Should be a prime number for
* best distribution of elements.
* best distribution of elements.
*/
*/
SDict
(
int
size
)
SDict
(
int
size
)
:
m_sizeIndex
(
0
)
{
{
m_list
=
new
SList
<
T
>
(
this
);
m_list
=
new
SList
<
T
>
(
this
);
#if AUTORESIZE
while
((
uint
)
size
>
SDict_primes
[
m_sizeIndex
])
m_sizeIndex
++
;
m_dict
=
new
QDict
<
T
>
(
SDict_primes
[
m_sizeIndex
]);
#else
m_dict
=
new
QDict
<
T
>
(
size
);
m_dict
=
new
QDict
<
T
>
(
size
);
#endif
}
}
/*! Destroys the dictionary */
/*! Destroys the dictionary */
virtual
~
SDict
()
virtual
~
SDict
()
...
@@ -78,6 +123,12 @@ class SDict
...
@@ -78,6 +123,12 @@ class SDict
{
{
m_list
->
append
(
d
);
m_list
->
append
(
d
);
m_dict
->
insert
(
key
,
d
);
m_dict
->
insert
(
key
,
d
);
#if AUTORESIZE
if
(
m_dict
->
size
()
>
SDict_primes
[
m_sizeIndex
])
{
m_dict
->
resize
(
SDict_primes
[
++
m_sizeIndex
]);
}
#endif
}
}
/*! Sorts the members of the dictionary. First appending a number
/*! Sorts the members of the dictionary. First appending a number
* of members and then sorting them is faster (O(NlogN) than using
* of members and then sorting them is faster (O(NlogN) than using
...
@@ -96,6 +147,12 @@ class SDict
...
@@ -96,6 +147,12 @@ class SDict
{
{
m_list
->
inSort
(
d
);
m_list
->
inSort
(
d
);
m_dict
->
insert
(
key
,
d
);
m_dict
->
insert
(
key
,
d
);
#if AUTORESIZE
if
(
m_dict
->
size
()
>
SDict_primes
[
m_sizeIndex
])
{
m_dict
->
resize
(
SDict_primes
[
++
m_sizeIndex
]);
}
#endif
}
}
/*! Indicates whether or not the dictionary owns its elements */
/*! Indicates whether or not the dictionary owns its elements */
void
setAutoDelete
(
bool
val
)
void
setAutoDelete
(
bool
val
)
...
...
src/util.cpp
View file @
e174524c
...
@@ -891,26 +891,29 @@ void setAnchors(char id,MemberList *ml,int groupId)
...
@@ -891,26 +891,29 @@ void setAnchors(char id,MemberList *ml,int groupId)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/*! takes the \a buf of the given lenght \a len and converts CR LF (DOS)
* or CR (MAC) line ending to LF (Unix). Returns the length of the
* converted content (i.e. the same as \a len (Unix, MAC) or
* smaller (DOS).
*/
int
filterCRLF
(
char
*
buf
,
int
len
)
int
filterCRLF
(
char
*
buf
,
int
len
)
{
{
char
*
ps
=
buf
;
int
src
=
0
;
// source index
char
*
pd
=
buf
;
int
dest
=
0
;
// destination index
char
c
;
char
c
;
// current character
int
i
;
for
(
i
=
0
;
i
<
len
;
i
++
)
while
(
src
<
len
)
{
c
=*
ps
++
;
if
(
c
==
'\r'
)
{
{
if
(
*
ps
==
'\n'
)
ps
++
;
// DOS: CR+LF -> LF
c
=
buf
[
src
++
];
// Remember the processed character.
*
pd
++=
'\n'
;
// MAC: CR -> LF
if
(
c
==
'\r'
)
// CR to be solved (MAC, DOS)
}
else
{
{
*
pd
++=
c
;
c
=
'\n'
;
// each CR to LF
if
(
src
<
len
&&
buf
[
src
]
==
'\n'
)
++
src
;
// skip LF just after CR (DOS)
}
}
buf
[
dest
++
]
=
c
;
// copy the (modified) character to dest
}
}
return
len
+
pd
-
ps
;
return
dest
;
// length of the valid part of the buf
}
}
/*! reads a file with name \a name and returns it as a string. If \a filter
/*! reads a file with name \a name and returns it as a string. If \a filter
...
...
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