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
d497898d
Commit
d497898d
authored
Jun 23, 2005
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.4.3-20050623
parent
f160c0c8
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
141 additions
and
79 deletions
+141
-79
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
code.l
src/code.l
+3
-3
commentscan.l
src/commentscan.l
+9
-1
defargs.l
src/defargs.l
+10
-0
definition.cpp
src/definition.cpp
+6
-1
doxygen.cpp
src/doxygen.cpp
+62
-48
filedef.cpp
src/filedef.cpp
+1
-0
latexdocvisitor.cpp
src/latexdocvisitor.cpp
+1
-1
memberdef.h
src/memberdef.h
+1
-0
scanner.l
src/scanner.l
+7
-1
translator_id.h
src/translator_id.h
+0
-1
util.cpp
src/util.cpp
+36
-18
No files found.
INSTALL
View file @
d497898d
DOXYGEN Version 1.4.3-200506
15
DOXYGEN Version 1.4.3-200506
23
Please read the installation section of the manual
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
(http://www.doxygen.org/install.html) for instructions.
--------
--------
Dimitri van Heesch (
15
June 2005)
Dimitri van Heesch (
23
June 2005)
README
View file @
d497898d
DOXYGEN Version 1.4.3_200506
15
DOXYGEN Version 1.4.3_200506
23
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) (
15
June 2005)
Dimitri van Heesch (dimitri@stack.nl) (
23
June 2005)
VERSION
View file @
d497898d
1.4.3-200506
15
1.4.3-200506
23
src/code.l
View file @
d497898d
...
@@ -448,9 +448,9 @@ static void startCodeLine()
...
@@ -448,9 +448,9 @@ static void startCodeLine()
//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);
//printf("startCodeLine %d d=%
p\n",g_yyLineNr,d
);
//printf("startCodeLine %d d=%
s\n", g_yyLineNr,d ? d->name().data() : "<null>"
);
//g_code->startLineNumber();
//g_code->startLineNumber();
if (!g_includeCodeFragment && d
&& d->isLinkableInProject()
)
if (!g_includeCodeFragment && d)
{
{
g_currentDefinition = d;
g_currentDefinition = d;
g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr);
g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr);
...
@@ -476,7 +476,7 @@ static void startCodeLine()
...
@@ -476,7 +476,7 @@ static void startCodeLine()
g_sourceFileDef->getSourceFileBase(),
g_sourceFileDef->getSourceFileBase(),
lineAnchor);
lineAnchor);
}
}
else
else
if (d->isLinkableInProject())
{
{
g_code->writeLineNumber(d->getReference(),
g_code->writeLineNumber(d->getReference(),
d->getOutputFileBase(),
d->getOutputFileBase(),
...
...
src/commentscan.l
View file @
d497898d
...
@@ -327,6 +327,7 @@ static Protection protection;
...
@@ -327,6 +327,7 @@ static Protection protection;
static bool xrefAppendFlag;
static bool xrefAppendFlag;
static bool inGroupParamFound;
static bool inGroupParamFound;
static int braceCount;
static int braceCount;
static bool insidePre;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -618,6 +619,7 @@ static inline void setOutput(OutputContext ctx)
...
@@ -618,6 +619,7 @@ static inline void setOutput(OutputContext ctx)
break;
break;
}
}
}
}
inContext = ctx;
inContext = ctx;
switch(inContext)
switch(inContext)
{
{
...
@@ -876,8 +878,13 @@ MAILADR [a-z_A-Z0-9.+\-]+"@"[a-z_A-Z0-9\-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]
...
@@ -876,8 +878,13 @@ MAILADR [a-z_A-Z0-9.+\-]+"@"[a-z_A-Z0-9\-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]
if (inContext!=OutputBrief)
if (inContext!=OutputBrief)
{
{
addOutput(yytext);
addOutput(yytext);
setOutput(OutputDoc);
}
else
{
setOutput(OutputDoc);
addOutput(yytext);
}
}
setOutput(OutputDoc);
lineCount();
lineCount();
}
}
<Comment>"." { // potential end of a JavaDoc style comment
<Comment>"." { // potential end of a JavaDoc style comment
...
@@ -2099,6 +2106,7 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
...
@@ -2099,6 +2106,7 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
needNewEntry = FALSE;
needNewEntry = FALSE;
xrefKind = XRef_None;
xrefKind = XRef_None;
xrefAppendFlag = FALSE;
xrefAppendFlag = FALSE;
insidePre = FALSE;
outputXRef.resize(0);
outputXRef.resize(0);
setOutput( isBrief || isJavaDocStyle ? OutputBrief : OutputDoc );
setOutput( isBrief || isJavaDocStyle ? OutputBrief : OutputDoc );
briefEndsAtDot = isJavaDocStyle;
briefEndsAtDot = isJavaDocStyle;
...
...
src/defargs.l
View file @
d497898d
...
@@ -402,6 +402,16 @@ void stringToArgumentList(const char *argsString,ArgumentList* &al)
...
@@ -402,6 +402,16 @@ void stringToArgumentList(const char *argsString,ArgumentList* &al)
{
{
if (al==0) return;
if (al==0) return;
if (argsString==0) return;
if (argsString==0) return;
g_copyArgValue=0;
g_curArgDocs.resize(0);
g_curArgAttrib.resize(0);
g_curArgArray.resize(0);
g_argRoundCount = 0;
g_argSharpCount = 0;
g_argCurlyCount = 0;
g_lastDocChar = 0;
g_inputString = argsString;
g_inputString = argsString;
g_inputPosition = 0;
g_inputPosition = 0;
g_curArgTypeName.resize(0);
g_curArgTypeName.resize(0);
...
...
src/definition.cpp
View file @
d497898d
...
@@ -227,10 +227,15 @@ void Definition::setDocumentation(const char *d,const char *docFile,int docLine,
...
@@ -227,10 +227,15 @@ void Definition::setDocumentation(const char *d,const char *docFile,int docLine,
void
Definition
::
setBriefDescription
(
const
char
*
b
,
const
char
*
briefFile
,
int
briefLine
)
void
Definition
::
setBriefDescription
(
const
char
*
b
,
const
char
*
briefFile
,
int
briefLine
)
{
{
if
(
b
==
0
)
return
;
if
(
b
==
0
)
return
;
static
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
static
bool
needsDot
=
outputLanguage
!=
"Japanese"
&&
outputLanguage
!=
"Chinese"
&&
outputLanguage
!=
"Korean"
;
//fprintf(stderr,"Definition::setBriefDescription(%s,%s,%d)\n",b,briefFile,briefLine);
//fprintf(stderr,"Definition::setBriefDescription(%s,%s,%d)\n",b,briefFile,briefLine);
m_brief
=
QCString
(
b
).
stripWhiteSpace
();
m_brief
=
QCString
(
b
).
stripWhiteSpace
();
int
bl
=
m_brief
.
length
();
int
bl
=
m_brief
.
length
();
if
(
bl
>
0
)
// add punctuation if needed
if
(
bl
>
0
&&
needsDot
)
// add punctuation if needed
{
{
switch
(
m_brief
.
at
(
bl
-
1
))
switch
(
m_brief
.
at
(
bl
-
1
))
{
{
...
...
src/doxygen.cpp
View file @
d497898d
...
@@ -699,19 +699,22 @@ static void addClassToContext(Entry *root)
...
@@ -699,19 +699,22 @@ static void addClassToContext(Entry *root)
//NamespaceDef *nd = 0;
//NamespaceDef *nd = 0;
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
// see if the using statement was found inside a namespace or inside
// the global file scope.
QCString
scName
;
QCString
scName
;
if
(
root
->
parent
->
section
&
Entry
::
SCOPE_MASK
)
if
(
root
->
parent
->
section
&
Entry
::
SCOPE_MASK
)
{
{
scName
=
root
->
parent
->
name
;
scName
=
root
->
parent
->
name
;
}
}
// name without parent's scope
QCString
fullName
=
root
->
name
;
QCString
fullName
=
root
->
name
;
QCString
qualifiedName
=
scName
.
isEmpty
()
?
root
->
name
:
scName
+
"::"
+
root
->
name
;
// strip off any template parameters (but not those for specializations)
fullName
=
stripTemplateSpecifiersFromScope
(
fullName
);
ClassDef
*
cd
=
getClass
(
qualifiedName
);
// name with scope
QCString
qualifiedName
=
scName
.
isEmpty
()
?
fullName
:
scName
+
"::"
+
fullName
;
ClassDef
*
cd
=
getClass
(
qualifiedName
);
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with name %s (qualifiedName=%s -> cd=%p)
\n
"
,
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with name %s (qualifiedName=%s -> cd=%p)
\n
"
,
cd
?
cd
->
name
().
data
()
:
root
->
name
.
data
(),
qualifiedName
.
data
(),
cd
);
cd
?
cd
->
name
().
data
()
:
root
->
name
.
data
(),
qualifiedName
.
data
(),
cd
);
...
@@ -1624,7 +1627,7 @@ static MemberDef *addVariableToFile(
...
@@ -1624,7 +1627,7 @@ static MemberDef *addVariableToFile(
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
{
{
if
(
if
(
((
nd
==
0
&&
md
->
getFileDef
()
&&
((
nd
==
0
&&
md
->
get
NamespaceDef
()
==
0
&&
md
->
get
FileDef
()
&&
root
->
fileName
==
md
->
getFileDef
()
->
absFilePath
()
root
->
fileName
==
md
->
getFileDef
()
->
absFilePath
()
)
// both variable names in the same file
)
// both variable names in the same file
||
(
nd
!=
0
&&
md
->
getNamespaceDef
()
==
nd
)
// both in same namespace
||
(
nd
!=
0
&&
md
->
getNamespaceDef
()
==
nd
)
// both in same namespace
...
@@ -1633,12 +1636,16 @@ static MemberDef *addVariableToFile(
...
@@ -1633,12 +1636,16 @@ static MemberDef *addVariableToFile(
)
)
// variable already in the scope
// variable already in the scope
{
{
Debug
::
print
(
Debug
::
Variables
,
0
,
" variable already found: scope=%s
\n
"
,
md
->
getOuterScope
()
->
name
().
data
());
addMemberDocs
(
root
,
md
,
def
,
0
,
FALSE
);
addMemberDocs
(
root
,
md
,
def
,
0
,
FALSE
);
md
->
setRefItems
(
root
->
sli
);
md
->
setRefItems
(
root
->
sli
);
return
md
;
return
md
;
}
}
}
}
}
}
Debug
::
print
(
Debug
::
Variables
,
0
,
" new variable!
\n
"
);
// new global variable, enum value or typedef
// new global variable, enum value or typedef
MemberDef
*
md
=
new
MemberDef
(
MemberDef
*
md
=
new
MemberDef
(
root
->
fileName
,
root
->
startLine
,
root
->
fileName
,
root
->
startLine
,
...
@@ -1658,6 +1665,7 @@ static MemberDef *addVariableToFile(
...
@@ -1658,6 +1665,7 @@ static MemberDef *addVariableToFile(
md
->
setDefinition
(
def
);
md
->
setDefinition
(
def
);
md
->
enableCallGraph
(
root
->
callGraph
);
md
->
enableCallGraph
(
root
->
callGraph
);
md
->
setExplicitExternal
(
root
->
explicitExternal
);
md
->
setExplicitExternal
(
root
->
explicitExternal
);
md
->
setOuterScope
(
fd
);
if
(
!
root
->
explicitExternal
)
if
(
!
root
->
explicitExternal
)
{
{
md
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
md
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
...
@@ -2378,6 +2386,7 @@ static void buildFunctionList(Entry *root)
...
@@ -2378,6 +2386,7 @@ static void buildFunctionList(Entry *root)
if
(
md
->
briefDescription
().
isEmpty
()
&&
!
root
->
brief
.
isEmpty
())
if
(
md
->
briefDescription
().
isEmpty
()
&&
!
root
->
brief
.
isEmpty
())
{
{
md
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
md
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
md
->
setArgsString
(
root
->
args
);
}
}
else
if
(
!
md
->
briefDescription
().
isEmpty
()
&&
!
root
->
brief
.
isEmpty
()
&&
mnd
==
rnd
)
else
if
(
!
md
->
briefDescription
().
isEmpty
()
&&
!
root
->
brief
.
isEmpty
()
&&
mnd
==
rnd
)
{
{
...
@@ -3100,16 +3109,20 @@ static ClassDef *findClassWithinClassContext(Definition *context,ClassDef *cd,co
...
@@ -3100,16 +3109,20 @@ static ClassDef *findClassWithinClassContext(Definition *context,ClassDef *cd,co
FileDef
*
fd
=
cd
->
getFileDef
();
FileDef
*
fd
=
cd
->
getFileDef
();
ClassDef
*
result
=
0
;
ClassDef
*
result
=
0
;
if
(
context
)
if
(
context
&&
cd
!=
context
)
{
{
result
=
getResolvedClass
(
context
,
0
,
name
);
result
=
getResolvedClass
(
context
,
0
,
name
);
//printf("** Trying to find %s within context %s result=%s\n",
// name.data(),context->name().data(),result ? result->name().data() : "<none>");
}
}
if
(
result
==
0
)
if
(
result
==
0
)
{
{
result
=
getResolvedClass
(
cd
,
fd
,
name
);
result
=
getResolvedClass
(
cd
,
fd
,
name
);
}
}
//printf("** Trying to find %s within context %s class %s result=%s\n",
// name.data(),
// context ? context->name().data() : "<none>",
// cd ? cd->name().data() : "<none>",
// result ? result->name().data() : "<none>"
// );
return
result
;
return
result
;
}
}
...
@@ -3165,19 +3178,22 @@ static void findUsedClassesForClass(Entry *root,
...
@@ -3165,19 +3178,22 @@ static void findUsedClassesForClass(Entry *root,
{
{
type
=
substituteTemplateArgumentsInString
(
type
,
formalArgs
,
actualArgs
);
type
=
substituteTemplateArgumentsInString
(
type
,
formalArgs
,
actualArgs
);
}
}
QCString
typeName
=
resolveTypeDef
(
masterCd
,
usedClassName
);
//printf("*** Found resolved class %s for %s\n",typeName.data(),usedClassName.data());
if
(
!
typeName
.
isEmpty
())
// if we could resolve the typedef, use
// the result as the class name.
{
usedClassName
=
typeName
;
}
//printf(" template substitution gives=%s\n",type.data());
//printf(" template substitution gives=%s\n",type.data());
while
(
!
found
&&
extractClassNameFromType
(
type
,
pos
,
usedClassName
,
templSpec
)
!=-
1
)
while
(
!
found
&&
extractClassNameFromType
(
type
,
pos
,
usedClassName
,
templSpec
)
!=-
1
)
{
{
//printf(" found used class %s\n",usedClassName.data());
//printf(" found used class %s\n",usedClassName.data());
// the name could be a type definition, resolve it
// the name could be a type definition, resolve it
QCString
typeName
=
resolveTypeDef
(
masterCd
,
usedClassName
);
//QCString typeName = resolveTypeDef(masterCd,usedClassName);
//printf("*** Found resolved class %s for %s\n",typeName.data(),usedClassName.data());
if
(
!
typeName
.
isEmpty
())
// if we could resolve the typedef, use
// the result as the class name.
{
usedClassName
=
typeName
;
}
int
sp
=
usedClassName
.
find
(
'<'
);
int
sp
=
usedClassName
.
find
(
'<'
);
if
(
sp
==-
1
)
sp
=
0
;
if
(
sp
==-
1
)
sp
=
0
;
...
@@ -3767,6 +3783,7 @@ static void computeClassRelations()
...
@@ -3767,6 +3783,7 @@ static void computeClassRelations()
for
(;(
root
=
edi
.
current
());
++
edi
)
for
(;(
root
=
edi
.
current
());
++
edi
)
{
{
ClassDef
*
cd
;
ClassDef
*
cd
;
// strip any annonymous scopes first
// strip any annonymous scopes first
QCString
bName
=
stripAnonymousNamespaceScope
(
root
->
name
);
QCString
bName
=
stripAnonymousNamespaceScope
(
root
->
name
);
bName
=
stripTemplateSpecifiersFromScope
(
bName
);
bName
=
stripTemplateSpecifiersFromScope
(
bName
);
...
@@ -4010,12 +4027,15 @@ static void addMemberDocs(Entry *root,
...
@@ -4010,12 +4027,15 @@ static void addMemberDocs(Entry *root,
if
(
al
)
if
(
al
)
{
{
//printf("merging arguments (1)\n");
//printf("merging arguments (1) docs=%d\n",root->doc.isEmpty());
mergeArguments
(
md
->
argumentList
(),
al
,
TRUE
);
if
(
!
root
->
doc
.
isEmpty
())
{
mergeArguments
(
md
->
argumentList
(),
al
,
TRUE
);
}
}
}
else
else
{
{
if
(
if
(
!
root
->
doc
.
isEmpty
()
&&
matchArguments2
(
md
->
getOuterScope
(),
md
->
getFileDef
(),
md
->
argumentList
(),
matchArguments2
(
md
->
getOuterScope
(),
md
->
getFileDef
(),
md
->
argumentList
(),
rscope
,
rfd
,
root
->
argList
,
rscope
,
rfd
,
root
->
argList
,
TRUE
TRUE
...
@@ -4088,16 +4108,14 @@ static void addMemberDocs(Entry *root,
...
@@ -4088,16 +4108,14 @@ static void addMemberDocs(Entry *root,
md
->
setMaxInitLines
(
root
->
initLines
);
md
->
setMaxInitLines
(
root
->
initLines
);
}
}
//if (md->bodyCode().isEmpty() && !root->body.isEmpty()) /* no body yet */
//{
// md->setBody(root->body);
//}
if
(
rfd
)
if
(
rfd
)
{
{
if
((
md
->
getStartBodyLine
()
==-
1
&&
root
->
bodyLine
!=-
1
)
||
if
((
md
->
getStartBodyLine
()
==-
1
&&
root
->
bodyLine
!=-
1
)
(
md
->
isVariable
()
&&
!
root
->
explicitExternal
))
// || (md->isVariable() && !root->explicitExternal)
)
{
{
//printf("Setting new body segment [%d,%d]\n",root->bodyLine,root->endBodyLine);
md
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
md
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
md
->
setBodyDef
(
rfd
);
md
->
setBodyDef
(
rfd
);
}
}
...
@@ -4107,8 +4125,6 @@ static void addMemberDocs(Entry *root,
...
@@ -4107,8 +4125,6 @@ static void addMemberDocs(Entry *root,
md
->
enableCallGraph
(
md
->
hasCallGraph
()
||
root
->
callGraph
);
md
->
enableCallGraph
(
md
->
hasCallGraph
()
||
root
->
callGraph
);
//md->setDefFile(root->fileName);
//md->setDefLine(root->startLine);
md
->
mergeMemberSpecifiers
(
root
->
memSpec
);
md
->
mergeMemberSpecifiers
(
root
->
memSpec
);
md
->
addSectionsToDefinition
(
root
->
anchors
);
md
->
addSectionsToDefinition
(
root
->
anchors
);
addMemberToGroups
(
root
,
md
);
addMemberToGroups
(
root
,
md
);
...
@@ -4182,8 +4198,10 @@ static bool findGlobalMember(Entry *root,
...
@@ -4182,8 +4198,10 @@ static bool findGlobalMember(Entry *root,
{
{
bool
ambig
;
bool
ambig
;
NamespaceDef
*
nd
=
md
->
getNamespaceDef
();
NamespaceDef
*
nd
=
md
->
getNamespaceDef
();
//printf("Namespace namespaceName=%s nd=%s\n",
//printf("Namespace namespaceName=%s nd=%s\n",
// namespaceName.data(),nd ? nd->name().data() : "<none>");
// namespaceName.data(),nd ? nd->name().data() : "<none>");
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
//printf("File %s\n",fd ? fd->name().data() : "<none>");
//printf("File %s\n",fd ? fd->name().data() : "<none>");
NamespaceSDict
*
nl
=
fd
?
fd
->
getUsedNamespaces
()
:
0
;
NamespaceSDict
*
nl
=
fd
?
fd
->
getUsedNamespaces
()
:
0
;
...
@@ -6021,15 +6039,15 @@ static void addSourceReferences()
...
@@ -6021,15 +6039,15 @@ static void addSourceReferences()
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
{
{
//printf("class member %s\n",md->name().data());
//printf("class member %s\n",md->name().data());
ClassDef
*
cd
=
md
->
getClassDef
();
FileDef
*
fd
=
md
->
getBodyDef
();
FileDef
*
fd
=
md
->
getBodyDef
();
if
(
fd
&&
cd
&&
cd
->
isLinkableInProject
()
&&
md
->
getStartBodyLine
()
!=-
1
&&
if
(
fd
&&
md
->
isLinkableInProject
())
md
->
getStartBodyLine
()
!=-
1
&&
md
->
isLinkableInProject
()
&&
fd
->
generateSourceFile
())
{
{
Definition
*
d
=
cd
;
//printf("Found member `%s' in file `%s' at line `%d' def=%s\n",
if
(
d
==
0
)
d
=
md
->
getNamespaceDef
();
// md->name().data(),fd->name().data(),md->getStartBodyLine(),md->getOuterScope()->name().data());
if
(
d
==
0
)
d
=
md
->
getFileDef
();
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
md
->
getOuterScope
(),
md
);
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
d
,
md
);
}
}
}
}
}
}
...
@@ -6040,22 +6058,18 @@ static void addSourceReferences()
...
@@ -6040,22 +6058,18 @@ static void addSourceReferences()
MemberDef
*
md
=
0
;
MemberDef
*
md
=
0
;
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
{
{
NamespaceDef
*
nd
=
md
->
getNamespaceDef
();
FileDef
*
fd
=
md
->
getBodyDef
();
FileDef
*
fd
=
md
->
getBodyDef
();
GroupDef
*
gd
=
md
->
getGroupDef
();
//printf("member %s body=[%d,%d] fd=%p\n",md->name().data(),
//printf("member %s fd=%p nd=%p gd=%p\n",md->name().data(),fd,nd,gd);
// md->getStartBodyLine(),md->getEndBodyLine(),fd);
if
(
fd
&&
md
->
getStartBodyLine
()
!=-
1
&&
md
->
isLinkableInProject
()
&&
if
(
fd
&&
((
nd
&&
nd
->
isLinkableInProject
())
||
md
->
getStartBodyLine
()
!=-
1
&&
(
fd
->
isLinkableInProject
())
||
md
->
isLinkableInProject
()
&&
(
gd
&&
gd
->
isLinkableInProject
())
fd
->
generateSourceFile
()
)
)
)
{
{
//printf("Found member `%s' in file `%s' at line `%d'\n",
//printf("Found member `%s' in file `%s' at line `%d' def=%s\n",
// md->name().data(),fd->name().data(),md->getStartBodyLine());
// md->name().data(),fd->name().data(),md->getStartBodyLine(),md->getOuterScope()->name().data());
Definition
*
d
=
gd
!=
0
?
(
Definition
*
)
gd
:
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
md
->
getOuterScope
(),
md
);
(
nd
!=
0
?
(
Definition
*
)
nd
:
(
Definition
*
)
fd
);
fd
->
addSourceRef
(
md
->
getStartBodyLine
(),
d
,
md
);
}
}
}
}
}
}
...
...
src/filedef.cpp
View file @
d497898d
...
@@ -762,6 +762,7 @@ void FileDef::insertNamespace(NamespaceDef *nd)
...
@@ -762,6 +762,7 @@ void FileDef::insertNamespace(NamespaceDef *nd)
void
FileDef
::
addSourceRef
(
int
line
,
Definition
*
d
,
MemberDef
*
md
)
void
FileDef
::
addSourceRef
(
int
line
,
Definition
*
d
,
MemberDef
*
md
)
{
{
//printf("FileDef::addSourceDef(%d,%p,%p)\n",line,d,md);
if
(
d
)
if
(
d
)
{
{
if
(
srcDefDict
==
0
)
srcDefDict
=
new
QIntDict
<
Definition
>
(
257
);
if
(
srcDefDict
==
0
)
srcDefDict
=
new
QIntDict
<
Definition
>
(
257
);
...
...
src/latexdocvisitor.cpp
View file @
d497898d
...
@@ -170,7 +170,7 @@ void LatexDocVisitor::visit(DocSymbol *s)
...
@@ -170,7 +170,7 @@ void LatexDocVisitor::visit(DocSymbol *s)
case
DocSymbol
:
:
Szlig
:
m_t
<<
"
\"
s"
;
break
;
case
DocSymbol
:
:
Szlig
:
m_t
<<
"
\"
s"
;
break
;
case
DocSymbol
:
:
Cedil
:
m_t
<<
"
\\
c{"
<<
s
->
letter
()
<<
"}"
;
break
;
case
DocSymbol
:
:
Cedil
:
m_t
<<
"
\\
c{"
<<
s
->
letter
()
<<
"}"
;
break
;
case
DocSymbol
:
:
Ring
:
m_t
<<
"
\\
"
<<
s
->
letter
()
<<
s
->
letter
();
break
;
case
DocSymbol
:
:
Ring
:
m_t
<<
"
\\
"
<<
s
->
letter
()
<<
s
->
letter
();
break
;
case
DocSymbol
:
:
Nbsp
:
m_t
<<
"
\\
"
;
break
;
case
DocSymbol
:
:
Nbsp
:
m_t
<<
"
~
"
;
break
;
default
:
default
:
err
(
"Error: unknown symbol found
\n
"
);
err
(
"Error: unknown symbol found
\n
"
);
}
}
...
...
src/memberdef.h
View file @
d497898d
...
@@ -185,6 +185,7 @@ class MemberDef : public Definition
...
@@ -185,6 +185,7 @@ class MemberDef : public Definition
void
setHasDocumentedReturnType
(
bool
b
)
{
m_hasDocumentedReturnType
=
b
;
}
void
setHasDocumentedReturnType
(
bool
b
)
{
m_hasDocumentedReturnType
=
b
;
}
void
setInheritsDocsFrom
(
MemberDef
*
md
)
{
m_docProvider
=
md
;
}
void
setInheritsDocsFrom
(
MemberDef
*
md
)
{
m_docProvider
=
md
;
}
void
setTagInfo
(
TagInfo
*
i
);
void
setTagInfo
(
TagInfo
*
i
);
void
setArgsString
(
const
char
*
as
)
{
args
=
as
;
}
// output generation
// output generation
void
writeDeclaration
(
OutputList
&
ol
,
void
writeDeclaration
(
OutputList
&
ol
,
...
...
src/scanner.l
View file @
d497898d
...
@@ -2175,6 +2175,8 @@ IDLATTR ("["[^\]]*"]"){BN}*
...
@@ -2175,6 +2175,8 @@ IDLATTR ("["[^\]]*"]"){BN}*
}
}
current->name.resize(0);
current->name.resize(0);
current->args.resize(0);
current->args.resize(0);
current->brief.resize(0);
current->doc.resize(0);
current->initializer.resize(0);
current->initializer.resize(0);
current->bitfields.resize(0);
current->bitfields.resize(0);
int i=oldType.length();
int i=oldType.length();
...
@@ -2709,7 +2711,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
...
@@ -2709,7 +2711,7 @@ IDLATTR ("["[^\]]*"]"){BN}*
fullArgString=current->args.copy();
fullArgString=current->args.copy();
copyArgString=¤t->args;
copyArgString=¤t->args;
BEGIN( ReadFuncArgType ) ;
BEGIN( ReadFuncArgType ) ;
//printf(">>> Read function arguments
!\n"
);
//printf(">>> Read function arguments
current->argList->count()=%d\n",current->argList->count()
);
}
}
}
}
/*
/*
...
@@ -4047,6 +4049,10 @@ IDLATTR ("["[^\]]*"]"){BN}*
...
@@ -4047,6 +4049,10 @@ IDLATTR ("["[^\]]*"]"){BN}*
<DocBlock>"//" { // slashes in the middle of a comment block
<DocBlock>"//" { // slashes in the middle of a comment block
docBlock+=yytext;
docBlock+=yytext;
}
}
<DocBlock>"/*" { // start of a new comment in the
// middle of a comment block
docBlock+=yytext;
}
<DocBlock>("@@"|"\\\\"){ID}/[^a-z_A-Z0-9] { // escaped command
<DocBlock>("@@"|"\\\\"){ID}/[^a-z_A-Z0-9] { // escaped command
docBlock+=yytext;
docBlock+=yytext;
}
}
...
...
src/translator_id.h
View file @
d497898d
...
@@ -21,7 +21,6 @@
...
@@ -21,7 +21,6 @@
/*!
/*!
Indonesian translator based on Doxygen 1.4.2.
Indonesian translator based on Doxygen 1.4.2.
\version $Id$
\author Hendy Irawan <ceefour@gauldong.net>
\author Hendy Irawan <ceefour@gauldong.net>
*/
*/
class
TranslatorIndonesian
:
public
Translator
class
TranslatorIndonesian
:
public
Translator
...
...
src/util.cpp
View file @
d497898d
...
@@ -2685,21 +2685,19 @@ static QCString getCanonicalTypeForIdentifier(
...
@@ -2685,21 +2685,19 @@ static QCString getCanonicalTypeForIdentifier(
Definition
*
d
,
FileDef
*
fs
,
const
QCString
&
word
,
Definition
*
d
,
FileDef
*
fs
,
const
QCString
&
word
,
QCString
*
tSpec
)
QCString
*
tSpec
)
{
{
QCString
symName
,
scope
,
result
,
templSpec
;
QCString
symName
,
scope
,
result
,
templSpec
,
tmpName
;
DefinitionList
*
defList
=
0
;
DefinitionList
*
defList
=
0
;
if
(
tSpec
)
templSpec
=
*
tSpec
;
if
(
tSpec
)
templSpec
=
*
tSpec
;
if
(
word
.
findRev
(
"::"
)
!=-
1
&&
!
(
scop
e
=
stripScope
(
word
)).
isEmpty
())
if
(
word
.
findRev
(
"::"
)
!=-
1
&&
!
(
tmpNam
e
=
stripScope
(
word
)).
isEmpty
())
{
{
symName
=
word
.
mid
(
scope
.
length
()
+
2
)
;
symName
=
tmpName
;
}
}
else
else
{
{
symName
=
word
;
symName
=
word
;
}
}
//printf("symName=%s templSpec=%s\n",symName.data(),templSpec.data());
if
(
!
symName
.
isEmpty
()
&&
!
templSpec
.
isEmpty
()
&&
if
(
!
symName
.
isEmpty
()
&&
!
templSpec
.
isEmpty
()
&&
(
defList
=
Doxygen
::
symbolMap
->
find
(
symName
+
templSpec
))
&&
(
defList
=
Doxygen
::
symbolMap
->
find
(
symName
+
templSpec
))
&&
defList
->
count
()
==
1
)
// word without scope but with template specs
defList
->
count
()
==
1
)
// word without scope but with template specs
...
@@ -2715,6 +2713,7 @@ static QCString getCanonicalTypeForIdentifier(
...
@@ -2715,6 +2713,7 @@ static QCString getCanonicalTypeForIdentifier(
// unique symbol in the symbol map
// unique symbol in the symbol map
{
{
QCString
ts
;
QCString
ts
;
//printf("unique symName=%s\n",symName.data());
result
=
resolveSymbolName
(
fs
,
defList
->
first
(),
ts
)
+
templSpec
;
result
=
resolveSymbolName
(
fs
,
defList
->
first
(),
ts
)
+
templSpec
;
}
}
else
// symbol not unique, try to find the one in the right scope
else
// symbol not unique, try to find the one in the right scope
...
@@ -2730,11 +2729,19 @@ static QCString getCanonicalTypeForIdentifier(
...
@@ -2730,11 +2729,19 @@ static QCString getCanonicalTypeForIdentifier(
{
{
cd
=
getResolvedClass
(
d
,
fs
,
word
,
&
mType
,
0
,
TRUE
);
cd
=
getResolvedClass
(
d
,
fs
,
word
,
&
mType
,
0
,
TRUE
);
}
}
//printf("symbol=%s word=%s cd=%s d=%s fs=%s\n",
// symName.data(),
// word.data(),
// cd?cd->name().data():"<none>",
// d?d->name().data():"<none>",
// fs?fs->name().data():"<none>"
// );
//printf(">>>> word '%s' => '%s'\n",(word+templSpec).data(),cd?cd->qualifiedNameWithTemplateParameters().data():"<none>");
//printf(">>>> word '%s' => '%s'\n",(word+templSpec).data(),cd?cd->qualifiedNameWithTemplateParameters().data():"<none>");
if
(
cd
)
// known type
if
(
cd
)
// known type
{
{
result
=
cd
->
qualifiedNameWithTemplateParameters
();
//result = cd->qualifiedNameWithTemplateParameters();
result
=
removeRedundantWhiteSpace
(
cd
->
qualifiedName
()
+
templSpec
);
if
(
cd
->
isTemplate
())
if
(
cd
->
isTemplate
())
{
{
*
tSpec
=
""
;
*
tSpec
=
""
;
...
@@ -2799,6 +2806,8 @@ static QCString extractCanonicalType(Definition *d,FileDef *fs,const Argument *a
...
@@ -2799,6 +2806,8 @@ static QCString extractCanonicalType(Definition *d,FileDef *fs,const Argument *a
//printf(" i=%d p=%d\n",i,p);
//printf(" i=%d p=%d\n",i,p);
canType
+=
type
.
mid
(
pp
,
i
-
pp
);
canType
+=
type
.
mid
(
pp
,
i
-
pp
);
//printf("word=%s templSpec=%s\n",word.data(),templSpec.data());
canType
+=
getCanonicalTypeForIdentifier
(
d
,
fs
,
word
,
&
templSpec
);
canType
+=
getCanonicalTypeForIdentifier
(
d
,
fs
,
word
,
&
templSpec
);
if
(
!
templSpec
.
isEmpty
())
// if we didn't use up the templSpec already
if
(
!
templSpec
.
isEmpty
())
// if we didn't use up the templSpec already
// (i.e. type is not a template specialization)
// (i.e. type is not a template specialization)
...
@@ -2825,8 +2834,8 @@ static QCString extractCanonicalType(Definition *d,FileDef *fs,const Argument *a
...
@@ -2825,8 +2834,8 @@ static QCString extractCanonicalType(Definition *d,FileDef *fs,const Argument *a
}
}
static
bool
matchArgument2
(
static
bool
matchArgument2
(
Definition
*
srcScope
,
FileDef
*
srcFileScope
,
const
Argument
*
srcA
,
Definition
*
srcScope
,
FileDef
*
srcFileScope
,
Argument
*
srcA
,
Definition
*
dstScope
,
FileDef
*
dstFileScope
,
const
Argument
*
dstA
Definition
*
dstScope
,
FileDef
*
dstFileScope
,
Argument
*
dstA
)
)
{
{
//printf(">> match argument: %s::`%s|%s' (%s) <-> %s::`%s|%s' (%s)\n",
//printf(">> match argument: %s::`%s|%s' (%s) <-> %s::`%s|%s' (%s)\n",
...
@@ -2840,18 +2849,26 @@ static bool matchArgument2(
...
@@ -2840,18 +2849,26 @@ static bool matchArgument2(
NOMATCH
NOMATCH
return
FALSE
;
return
FALSE
;
}
}
QCString
sSrcName
=
" "
+
srcA
->
name
;
QCString
sDstName
=
" "
+
dstA
->
name
;
if
(
sSrcName
==
dstA
->
type
.
right
(
sSrcName
.
length
()))
{
// case "unsigned int" <-> "unsigned int i"
srcA
->
type
+=
sSrcName
;
srcA
->
name
=
""
;
}
else
if
(
sDstName
==
srcA
->
type
.
right
(
sDstName
.
length
()))
{
// case "unsigned int i" <-> "unsigned int"
dstA
->
type
+=
sDstName
;
dstA
->
name
=
""
;
}
if
(
srcA
->
canType
.
isEmpty
())
if
(
srcA
->
canType
.
isEmpty
())
{
{
Argument
*
thatSrcA
=
(
Argument
*
)
srcA
;
// since canType is a cached value
srcA
->
canType
=
extractCanonicalType
(
srcScope
,
srcFileScope
,
srcA
);
// of type we do not really change the argument, but the
// compiler does know that.
thatSrcA
->
canType
=
extractCanonicalType
(
srcScope
,
srcFileScope
,
srcA
);
}
}
if
(
dstA
->
canType
.
isEmpty
())
if
(
dstA
->
canType
.
isEmpty
())
{
{
Argument
*
thatDstA
=
(
Argument
*
)
dstA
;
dstA
->
canType
=
extractCanonicalType
(
dstScope
,
dstFileScope
,
dstA
);
thatDstA
->
canType
=
extractCanonicalType
(
dstScope
,
dstFileScope
,
dstA
);
}
}
if
(
srcA
->
canType
==
dstA
->
canType
)
if
(
srcA
->
canType
==
dstA
->
canType
)
...
@@ -2911,7 +2928,7 @@ bool matchArguments2(Definition *srcScope,FileDef *srcFileScope,ArgumentList *sr
...
@@ -2911,7 +2928,7 @@ bool matchArguments2(Definition *srcScope,FileDef *srcFileScope,ArgumentList *sr
MATCH
MATCH
return
TRUE
;
return
TRUE
;
}
}
if
(
srcAl
->
count
()
!=
dstAl
->
count
())
if
(
srcAl
->
count
()
!=
dstAl
->
count
())
{
{
NOMATCH
NOMATCH
...
@@ -3010,19 +3027,20 @@ void mergeArguments(ArgumentList *srcAl,ArgumentList *dstAl,bool forceNameOverwr
...
@@ -3010,19 +3027,20 @@ void mergeArguments(ArgumentList *srcAl,ArgumentList *dstAl,bool forceNameOverwr
}
}
else
if
(
!
srcA
->
name
.
isEmpty
()
&&
!
dstA
->
name
.
isEmpty
())
else
if
(
!
srcA
->
name
.
isEmpty
()
&&
!
dstA
->
name
.
isEmpty
())
{
{
//printf("srcA->name=%s dstA->name=%s\n",srcA->name.data(),dstA->name.data());
if
(
forceNameOverwrite
)
if
(
forceNameOverwrite
)
{
{
srcA
->
name
=
dstA
->
name
.
copy
()
;
srcA
->
name
=
dstA
->
name
;
}
}
else
else
{
{
if
(
srcA
->
docs
.
isEmpty
()
&&
!
dstA
->
docs
.
isEmpty
())
if
(
srcA
->
docs
.
isEmpty
()
&&
!
dstA
->
docs
.
isEmpty
())
{
{
srcA
->
name
=
dstA
->
name
.
copy
()
;
srcA
->
name
=
dstA
->
name
;
}
}
else
if
(
!
srcA
->
docs
.
isEmpty
()
&&
dstA
->
docs
.
isEmpty
())
else
if
(
!
srcA
->
docs
.
isEmpty
()
&&
dstA
->
docs
.
isEmpty
())
{
{
dstA
->
name
=
srcA
->
name
.
copy
()
;
dstA
->
name
=
srcA
->
name
;
}
}
}
}
}
}
...
...
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