@@ -1338,7 +1338,7 @@ static void addClassToContext(EntryNav *rootNav)
1338
1338
{
1339
1339
tArgList = getTemplateArgumentsFromName (fullName,root->tArgLists );
1340
1340
}
1341
- cd=new ClassDef (root->fileName ,root->startLine ,root->startColumn ,
1341
+ cd=new ClassDef (tagInfo?tagName: root->fileName ,root->startLine ,root->startColumn ,
1342
1342
fullName,sec,tagName,refFileName,TRUE ,root->spec &Entry::Enum);
1343
1343
Debug::print (Debug::Classes,0 ," New class `%s' (sec=0x%08x)! #tArgLists=%d tagInfo=%p\n " ,
1344
1344
fullName.data (),sec,root->tArgLists ? (int )root->tArgLists ->count () : -1 , tagInfo);
@@ -1765,7 +1765,7 @@ static void buildNamespaceList(EntryNav *rootNav)
1765
1765
tagFileName = tagInfo->fileName ;
1766
1766
}
1767
1767
// printf("++ new namespace %s lang=%s tagName=%s\n",fullName.data(),langToString(root->lang).data(),tagName.data());
1768
- NamespaceDef *nd=new NamespaceDef (root->fileName ,root->startLine ,
1768
+ NamespaceDef *nd=new NamespaceDef (tagInfo?tagName: root->fileName ,root->startLine ,
1769
1769
root->startColumn ,fullName,tagName,tagFileName,
1770
1770
root->type ,root->spec &Entry::Published);
1771
1771
nd->setDocumentation (root->doc ,root->docFile ,root->docLine ); // copy docs to definition
@@ -2135,10 +2135,15 @@ static void findUsingDeclImports(EntryNav *rootNav)
2135
2135
// printf("found member %s\n",mni->memberName());
2136
2136
MemberDef *newMd = 0 ;
2137
2137
{
2138
+ QCString fileName = root->fileName ;
2139
+ if (fileName.isEmpty () && rootNav->tagInfo ())
2140
+ {
2141
+ fileName = rootNav->tagInfo ()->tagName ;
2142
+ }
2138
2143
ArgumentList *templAl = md->templateArguments ();
2139
2144
ArgumentList *al = md->templateArguments ();
2140
2145
newMd = new MemberDef (
2141
- root-> fileName ,root->startLine ,root->startColumn ,
2146
+ fileName,root->startLine ,root->startColumn ,
2142
2147
md->typeString (),memName,md->argsString (),
2143
2148
md->excpString (),root->protection ,root->virt ,
2144
2149
md->isStatic (),Member,md->memberType (),
@@ -2324,9 +2329,15 @@ static MemberDef *addVariableToClass(
2324
2329
}
2325
2330
}
2326
2331
2332
+ QCString fileName = root->fileName ;
2333
+ if (fileName.isEmpty () && rootNav->tagInfo ())
2334
+ {
2335
+ fileName = rootNav->tagInfo ()->tagName ;
2336
+ }
2337
+
2327
2338
// new member variable, typedef or enum value
2328
2339
MemberDef *md=new MemberDef (
2329
- root-> fileName ,root->startLine ,root->startColumn ,
2340
+ fileName,root->startLine ,root->startColumn ,
2330
2341
root->type ,name,root->args ,root->exception ,
2331
2342
prot,Normal,root->stat ,related,
2332
2343
mtype,root->tArgLists ? root->tArgLists ->getLast () : 0 ,0 );
@@ -2559,11 +2570,18 @@ static MemberDef *addVariableToFile(
2559
2570
}
2560
2571
}
2561
2572
}
2573
+
2574
+ QCString fileName = root->fileName ;
2575
+ if (fileName.isEmpty () && rootNav->tagInfo ())
2576
+ {
2577
+ fileName = rootNav->tagInfo ()->tagName ;
2578
+ }
2579
+
2562
2580
Debug::print (Debug::Variables,0 ,
2563
2581
" new variable, nd=%s!\n " ,nd?nd->name ().data ():" <global>" );
2564
2582
// new global variable, enum value or typedef
2565
2583
MemberDef *md=new MemberDef (
2566
- root-> fileName ,root->startLine ,root->startColumn ,
2584
+ fileName,root->startLine ,root->startColumn ,
2567
2585
root->type ,name,root->args ,0 ,
2568
2586
Public, Normal,root->stat ,Member,
2569
2587
mtype,root->tArgLists ? root->tArgLists ->getLast () : 0 ,0 );
@@ -3071,8 +3089,13 @@ static void addInterfaceOrServiceToServiceOrSingleton(
3071
3089
enum MemberType const type = (rootNav->section ()==Entry::EXPORTED_INTERFACE_SEC)
3072
3090
? MemberType_Interface
3073
3091
: MemberType_Service;
3092
+ QCString fileName = root->fileName ;
3093
+ if (fileName.isEmpty () && rootNav->tagInfo ())
3094
+ {
3095
+ fileName = rootNav->tagInfo ()->tagName ;
3096
+ }
3074
3097
MemberDef *const md = new MemberDef (
3075
- root-> fileName , root->startLine , root->startColumn , root->type , rname,
3098
+ fileName, root->startLine , root->startColumn , root->type , rname,
3076
3099
" " , " " , root->protection , root->virt , root->stat , Member,
3077
3100
type, 0 , root->argList );
3078
3101
md->setTagInfo (rootNav->tagInfo ());
@@ -3243,13 +3266,19 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
3243
3266
name=name.left (i);
3244
3267
}
3245
3268
3269
+ QCString fileName = root->fileName ;
3270
+ if (fileName.isEmpty () && rootNav->tagInfo ())
3271
+ {
3272
+ fileName = rootNav->tagInfo ()->tagName ;
3273
+ }
3274
+
3246
3275
// printf("root->name=`%s; root->args=`%s' root->argList=`%s'\n",
3247
3276
// root->name.data(),root->args.data(),argListToString(root->argList).data()
3248
3277
// );
3249
3278
3250
3279
// adding class member
3251
3280
MemberDef *md=new MemberDef (
3252
- root-> fileName ,root->startLine ,root->startColumn ,
3281
+ fileName,root->startLine ,root->startColumn ,
3253
3282
root->type ,name,root->args ,root->exception ,
3254
3283
root->protection ,root->virt ,
3255
3284
root->stat && root->relatesType != MemberOf,
@@ -7277,8 +7306,13 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
7277
7306
qualifiedName // enum value scope matches that of the enum
7278
7307
)
7279
7308
{
7309
+ QCString fileName = root->fileName ;
7310
+ if (fileName.isEmpty () && rootNav->tagInfo ())
7311
+ {
7312
+ fileName = rootNav->tagInfo ()->tagName ;
7313
+ }
7280
7314
MemberDef *fmd=new MemberDef (
7281
- root-> fileName ,root->startLine ,root->startColumn ,
7315
+ fileName,root->startLine ,root->startColumn ,
7282
7316
root->type ,root->name ,root->args ,0 ,
7283
7317
Public, Normal,root->stat ,Member,
7284
7318
MemberType_EnumValue,0 ,0 );
@@ -8409,7 +8443,7 @@ static void findDefineDocumentation(EntryNav *rootNav)
8409
8443
8410
8444
if (rootNav->tagInfo () && !root->name .isEmpty ()) // define read from a tag file
8411
8445
{
8412
- MemberDef *md=new MemberDef (" <tagfile> " ,1 ,1 ,
8446
+ MemberDef *md=new MemberDef (rootNav-> tagInfo ()-> tagName ,1 ,1 ,
8413
8447
" #define" ,root->name ,root->args ,0 ,
8414
8448
Public,Normal,FALSE ,Member,MemberType_Define,0 ,0 );
8415
8449
md->setTagInfo (rootNav->tagInfo ());
0 commit comments