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
a7c14ac7
Commit
a7c14ac7
authored
May 13, 2014
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added namespace info to the context
parent
2e837e0b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
217 additions
and
7 deletions
+217
-7
Doxyfile
qtools/Doxyfile
+2
-2
context.cpp
src/context.cpp
+213
-5
namespacedef.h
src/namespacedef.h
+2
-0
No files found.
qtools/Doxyfile
View file @
a7c14ac7
...
...
@@ -187,8 +187,8 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS =
MATHJAX_CODEFILE =
SEARCHENGINE = YES
SERVER_BASED_SEARCH =
YES
EXTERNAL_SEARCH =
YES
SERVER_BASED_SEARCH =
NO
EXTERNAL_SEARCH =
NO
SEARCHENGINE_URL = http://macbookpro/~dimitri/doxysearch.cgi
SEARCHDATA_FILE = searchdata.xml
EXTERNAL_SEARCH_ID =
...
...
src/context.cpp
View file @
a7c14ac7
...
...
@@ -2057,11 +2057,24 @@ class NamespaceContext::Private : public DefinitionContext<NamespaceContext::Pri
public
:
Private
(
NamespaceDef
*
nd
)
:
DefinitionContext
<
NamespaceContext
::
Private
>
(
nd
)
,
m_namespaceDef
(
nd
)
{
addProperty
(
"title"
,
this
,
&
Private
::
title
);
addProperty
(
"highlight"
,
this
,
&
Private
::
highlight
);
addProperty
(
"subhighlight"
,
this
,
&
Private
::
subHighlight
);
addProperty
(
"compoundType"
,
this
,
&
Private
::
compoundType
);
addProperty
(
"hasDetails"
,
this
,
&
Private
::
hasDetails
);
addProperty
(
"title"
,
this
,
&
Private
::
title
);
addProperty
(
"highlight"
,
this
,
&
Private
::
highlight
);
addProperty
(
"subhighlight"
,
this
,
&
Private
::
subHighlight
);
addProperty
(
"compoundType"
,
this
,
&
Private
::
compoundType
);
addProperty
(
"hasDetails"
,
this
,
&
Private
::
hasDetails
);
addProperty
(
"classes"
,
this
,
&
Private
::
classes
);
addProperty
(
"namespaces"
,
this
,
&
Private
::
namespaces
);
addProperty
(
"constantgroups"
,
this
,
&
Private
::
constantgroups
);
addProperty
(
"typedefs"
,
this
,
&
Private
::
typedefs
);
addProperty
(
"enums"
,
this
,
&
Private
::
enums
);
addProperty
(
"functions"
,
this
,
&
Private
::
functions
);
addProperty
(
"variables"
,
this
,
&
Private
::
variables
);
addProperty
(
"memberGroups"
,
this
,
&
Private
::
memberGroups
);
addProperty
(
"detailedTypedefs"
,
this
,
&
Private
::
detailedTypedefs
);
addProperty
(
"detailedEnums"
,
this
,
&
Private
::
detailedEnums
);
addProperty
(
"detailedFunctions"
,
this
,
&
Private
::
detailedFunctions
);
addProperty
(
"detailedVariables"
,
this
,
&
Private
::
detailedVariables
);
addProperty
(
"inlineClasses"
,
this
,
&
Private
::
inlineClasses
);
}
TemplateVariant
title
()
const
{
...
...
@@ -2083,8 +2096,182 @@ class NamespaceContext::Private : public DefinitionContext<NamespaceContext::Pri
{
return
m_namespaceDef
->
hasDetailedDescription
();
}
TemplateVariant
classes
()
const
{
if
(
!
m_cache
.
classes
)
{
NestedClassListContext
*
classList
=
NestedClassListContext
::
alloc
();
if
(
m_namespaceDef
->
getClassSDict
())
{
ClassSDict
::
Iterator
sdi
(
*
m_namespaceDef
->
getClassSDict
());
ClassDef
*
cd
;
for
(
sdi
.
toFirst
();(
cd
=
sdi
.
current
());
++
sdi
)
{
if
(
cd
->
visibleInParentsDeclList
())
{
classList
->
append
(
cd
);
}
}
}
m_cache
.
classes
.
reset
(
classList
);
}
return
m_cache
.
classes
.
get
();
}
TemplateVariant
namespaces
()
const
{
if
(
!
m_cache
.
namespaces
)
{
NestedNamespaceListContext
*
namespaceList
=
NestedNamespaceListContext
::
alloc
();
if
(
m_namespaceDef
->
getNamespaceSDict
())
{
NamespaceSDict
::
Iterator
sdi
(
*
m_namespaceDef
->
getNamespaceSDict
());
NamespaceDef
*
nd
;
for
(
sdi
.
toFirst
();(
nd
=
sdi
.
current
());
++
sdi
)
{
if
(
nd
->
isLinkable
()
&&
!
nd
->
isConstantGroup
())
{
namespaceList
->
append
(
nd
);
}
}
}
m_cache
.
namespaces
.
reset
(
namespaceList
);
}
return
m_cache
.
namespaces
.
get
();
}
TemplateVariant
constantgroups
()
const
{
if
(
!
m_cache
.
constantgroups
)
{
NestedNamespaceListContext
*
namespaceList
=
NestedNamespaceListContext
::
alloc
();
if
(
m_namespaceDef
->
getNamespaceSDict
())
{
NamespaceSDict
::
Iterator
sdi
(
*
m_namespaceDef
->
getNamespaceSDict
());
NamespaceDef
*
nd
;
for
(
sdi
.
toFirst
();(
nd
=
sdi
.
current
());
++
sdi
)
{
if
(
nd
->
isLinkable
()
&&
nd
->
isConstantGroup
())
{
namespaceList
->
append
(
nd
);
}
}
}
m_cache
.
constantgroups
.
reset
(
namespaceList
);
}
return
m_cache
.
constantgroups
.
get
();
}
TemplateVariant
getMemberList
(
SharedPtr
<
MemberListInfoContext
>
&
list
,
MemberListType
type
,
const
char
*
title
,
bool
detailed
=
FALSE
)
const
{
if
(
!
list
)
{
MemberList
*
ml
=
m_namespaceDef
->
getMemberList
(
type
);
if
(
ml
)
{
list
.
reset
(
MemberListInfoContext
::
alloc
(
m_namespaceDef
,
relPathAsString
(),
ml
,
title
,
detailed
));
}
}
if
(
list
)
{
return
list
.
get
();
}
else
{
return
TemplateVariant
(
FALSE
);
}
}
TemplateVariant
typedefs
()
const
{
return
getMemberList
(
m_cache
.
typedefs
,
MemberListType_decTypedefMembers
,
theTranslator
->
trTypedefs
());
}
TemplateVariant
enums
()
const
{
return
getMemberList
(
m_cache
.
enums
,
MemberListType_decEnumMembers
,
theTranslator
->
trEnumerations
());
}
TemplateVariant
functions
()
const
{
// TODO: Fortran: trSubprograms()
// TODO: VHDL: VhdlDocGen::trFunctionAndProc()
return
getMemberList
(
m_cache
.
functions
,
MemberListType_decFuncMembers
,
theTranslator
->
trFunctions
());
}
TemplateVariant
variables
()
const
{
return
getMemberList
(
m_cache
.
variables
,
MemberListType_decVarMembers
,
theTranslator
->
trVariables
());
}
TemplateVariant
memberGroups
()
const
{
if
(
!
m_cache
.
memberGroups
)
{
if
(
m_namespaceDef
->
getMemberGroupSDict
())
{
m_cache
.
memberGroups
.
reset
(
MemberGroupListContext
::
alloc
(
m_namespaceDef
,
relPathAsString
(),
m_namespaceDef
->
getMemberGroupSDict
(),
m_namespaceDef
->
subGrouping
()));
}
else
{
m_cache
.
memberGroups
.
reset
(
MemberGroupListContext
::
alloc
());
}
}
return
m_cache
.
memberGroups
.
get
();
}
TemplateVariant
detailedTypedefs
()
const
{
return
getMemberList
(
m_cache
.
detailedTypedefs
,
MemberListType_docTypedefMembers
,
theTranslator
->
trTypedefDocumentation
());
}
TemplateVariant
detailedEnums
()
const
{
return
getMemberList
(
m_cache
.
detailedEnums
,
MemberListType_docEnumMembers
,
theTranslator
->
trEnumerationTypeDocumentation
());
}
TemplateVariant
detailedFunctions
()
const
{
// TODO: Fortran: trSubprogramDocumentation()
return
getMemberList
(
m_cache
.
detailedFunctions
,
MemberListType_docFuncMembers
,
theTranslator
->
trFunctionDocumentation
());
}
TemplateVariant
detailedVariables
()
const
{
return
getMemberList
(
m_cache
.
detailedVariables
,
MemberListType_docVarMembers
,
theTranslator
->
trVariableDocumentation
());
}
TemplateVariant
inlineClasses
()
const
{
if
(
!
m_cache
.
inlineClasses
)
{
NestedClassListContext
*
classList
=
NestedClassListContext
::
alloc
();
if
(
m_namespaceDef
->
getClassSDict
())
{
ClassSDict
::
Iterator
sdi
(
*
m_namespaceDef
->
getClassSDict
());
ClassDef
*
cd
;
for
(
sdi
.
toFirst
();(
cd
=
sdi
.
current
());
++
sdi
)
{
if
(
cd
->
name
().
find
(
'@'
)
==-
1
&&
cd
->
isLinkableInProject
()
&&
cd
->
isEmbeddedInOuterScope
()
&&
cd
->
partOfGroups
()
==
0
)
{
classList
->
append
(
cd
);
}
}
}
m_cache
.
inlineClasses
.
reset
(
classList
);
}
return
m_cache
.
inlineClasses
.
get
();
}
private
:
NamespaceDef
*
m_namespaceDef
;
struct
Cachable
{
SharedPtr
<
NestedClassListContext
>
classes
;
SharedPtr
<
NestedNamespaceListContext
>
namespaces
;
SharedPtr
<
NestedNamespaceListContext
>
constantgroups
;
SharedPtr
<
MemberListInfoContext
>
typedefs
;
SharedPtr
<
MemberListInfoContext
>
enums
;
SharedPtr
<
MemberListInfoContext
>
functions
;
SharedPtr
<
MemberListInfoContext
>
variables
;
SharedPtr
<
MemberGroupListContext
>
memberGroups
;
SharedPtr
<
MemberListInfoContext
>
detailedTypedefs
;
SharedPtr
<
MemberListInfoContext
>
detailedEnums
;
SharedPtr
<
MemberListInfoContext
>
detailedFunctions
;
SharedPtr
<
MemberListInfoContext
>
detailedVariables
;
SharedPtr
<
NestedClassListContext
>
inlineClasses
;
};
mutable
Cachable
m_cache
;
};
//%% }
...
...
@@ -4258,6 +4445,8 @@ class NestingNodeContext::Private : public PropertyMapper
addProperty
(
"dir"
,
this
,
&
Private
::
getDir
);
//%% [optional] Page page: page info (if this node represents a page)
addProperty
(
"page"
,
this
,
&
Private
::
getPage
);
//%% [optional] Module module: module info (if this node represents a module)
addProperty
(
"module"
,
this
,
&
Private
::
getModule
);
//%% int id
addProperty
(
"id"
,
this
,
&
Private
::
id
);
//%% string level
...
...
@@ -4359,6 +4548,21 @@ class NestingNodeContext::Private : public PropertyMapper
return
TemplateVariant
(
FALSE
);
}
}
TemplateVariant
getModule
()
const
{
if
(
!
m_cache
.
moduleContext
&&
m_def
->
definitionType
()
==
Definition
::
TypeGroup
)
{
m_cache
.
moduleContext
.
reset
(
ModuleContext
::
alloc
((
GroupDef
*
)
m_def
));
}
if
(
m_cache
.
moduleContext
)
{
return
m_cache
.
moduleContext
.
get
();
}
else
{
return
TemplateVariant
(
FALSE
);
}
}
TemplateVariant
level
()
const
{
return
m_level
;
...
...
@@ -4461,6 +4665,7 @@ class NestingNodeContext::Private : public PropertyMapper
SharedPtr
<
DirContext
>
dirContext
;
SharedPtr
<
FileContext
>
fileContext
;
SharedPtr
<
PageContext
>
pageContext
;
SharedPtr
<
ModuleContext
>
moduleContext
;
ScopedPtr
<
TemplateVariant
>
brief
;
};
mutable
Cachable
m_cache
;
...
...
@@ -6964,6 +7169,8 @@ void generateOutputViaTemplate()
//%% ClassTree classTree:
ctx
->
set
(
"classTree"
,
classTree
.
get
());
// classIndex
// globals
// members
//%% ClassHierarchy classHierarchy:
ctx
->
set
(
"classHierarchy"
,
classHierarchy
.
get
());
//%% NamespaceList namespaceList:
...
...
@@ -6987,6 +7194,7 @@ void generateOutputViaTemplate()
//%% Page mainPage
ctx
->
set
(
"mainPage"
,
mainPage
.
get
());
// render HTML output
Template
*
tpl
=
e
.
loadByName
(
"htmllayout.tpl"
,
1
);
if
(
tpl
)
...
...
src/namespacedef.h
View file @
a7c14ac7
...
...
@@ -81,6 +81,8 @@ class NamespaceDef : public Definition
virtual
Definition
*
findInnerCompound
(
const
char
*
name
);
void
addInnerCompound
(
Definition
*
d
);
void
addListReferences
();
bool
subGrouping
()
const
{
return
m_subGrouping
;
}
MemberList
*
getMemberList
(
MemberListType
lt
)
const
;
const
QList
<
MemberList
>
&
getMemberLists
()
const
{
return
m_memberLists
;
}
...
...
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