diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2006-02-27 20:11:09 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2006-02-27 20:11:09 (GMT) |
commit | 0a773cb15d41e5806b799cd24c076c60b734615c (patch) | |
tree | 5e27018c48206637a831c02760f69c7df275f1c9 /src/doxygen.cpp | |
parent | a9a600c4692a1d0b0a6a09362db1d6da8bda9a30 (diff) | |
download | Doxygen-0a773cb15d41e5806b799cd24c076c60b734615c.zip Doxygen-0a773cb15d41e5806b799cd24c076c60b734615c.tar.gz Doxygen-0a773cb15d41e5806b799cd24c076c60b734615c.tar.bz2 |
Release-1.4.6-20060227
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r-- | src/doxygen.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 9b5bb60..abb655b 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -2185,13 +2185,14 @@ done: static void buildVarList(Entry *root) { + int isFuncPtr=-1; if (!root->name.isEmpty() && (root->type.isEmpty() || compoundKeywordDict.find(root->type)==0) && ( (root->section==Entry::VARIABLE_SEC // it's a variable ) || (root->section==Entry::FUNCTION_SEC && // or maybe a function pointer variable - findFunctionPtr(root->type)!=-1 + (isFuncPtr=findFunctionPtr(root->type))!=-1 ) || (root->section==Entry::FUNCTION_SEC && // class variable initialized by constructor isVarWithConstructor(root) @@ -2228,7 +2229,7 @@ static void buildVarList(Entry *root) } else { - int i=findFunctionPtr(root->type); + int i=isFuncPtr; if (i!=-1) // function pointer { int ai = root->type.find('[',i); @@ -2244,6 +2245,11 @@ static void buildVarList(Entry *root) //printf("root->type=%s root->args=%s\n",root->type.data(),root->args.data()); } } + else if (root->type.find("typedef ")!=-1 && root->type.right(2)=="()") // typedef void (func)(int) + { + root->type=root->type.left(root->type.length()-1); + root->args.prepend(")"); + } } QCString scope,name=removeRedundantWhiteSpace(root->name); @@ -3911,9 +3917,12 @@ static bool findClassRelation( } bool isATemplateArgument = templateNames!=0 && templateNames->find(biName)!=0; + // make templSpec canonical + templSpec = getCanonicalTemplateSpec(cd, cd->getFileDef(), templSpec); + if (found) { - Debug::print(Debug::Classes,0," Documented class `%s' templSpec=%s\n",biName.data(),templSpec.data()); + Debug::print(Debug::Classes,0," Documented class `%s' templSpec=%s\n",biName.data(),templSpec.isEmpty()?"":templSpec.data()); // add base class to this class // if templSpec is not empty then we should "instantiate" @@ -8903,7 +8912,6 @@ void parseInput() Doxygen::memberNameSDict.sort(); Doxygen::functionNameSDict.sort(); Doxygen::hiddenClasses.sort(); - printf("Sorting %d classes\n",Doxygen::classSDict.count()); Doxygen::classSDict.sort(); msg("Freeing entry tree\n"); |