diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2009-08-14 14:49:07 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2009-08-14 14:49:07 (GMT) |
commit | 8c6ca30831818a77a6947baad63ab99cb8cd8c31 (patch) | |
tree | fed426d0d7216311cbd009a1fcd2786176478b5e /src/docsets.cpp | |
parent | 142b4807d2ae7479691bd0800d28364b9857b82f (diff) | |
download | Doxygen-8c6ca30831818a77a6947baad63ab99cb8cd8c31.zip Doxygen-8c6ca30831818a77a6947baad63ab99cb8cd8c31.tar.gz Doxygen-8c6ca30831818a77a6947baad63ab99cb8cd8c31.tar.bz2 |
Release-1.5.9-20090814
Diffstat (limited to 'src/docsets.cpp')
-rw-r--r-- | src/docsets.cpp | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/src/docsets.cpp b/src/docsets.cpp index 76d7679..f2bda2d 100644 --- a/src/docsets.cpp +++ b/src/docsets.cpp @@ -244,16 +244,18 @@ void DocSets::addIndexItem(const char *, const char *, switch (langExt) { case SrcLangExt_Cpp: + case SrcLangExt_ObjC: { - if (md->isObjCMethod()) + if (md->isObjCMethod() || md->isObjCProperty()) lang="occ"; // Objective C/C++ else if (fd && fd->name().right(2).lower()==".c") lang="c"; // Plain C + else if (cd==0 && nd==0) + lang="c"; // Plain C symbol outside any class or namespace else lang="cpp"; // C++ } break; - case SrcLangExt_ObjC: lang="occ"; break; // Objective C++ case SrcLangExt_IDL: lang="idl"; break; // IDL case SrcLangExt_CSharp: lang="csharp"; break; // C# case SrcLangExt_PHP: lang="php"; break; // PHP4/5 @@ -282,7 +284,10 @@ void DocSets::addIndexItem(const char *, const char *, if (cd->isTemplate()) type="tmplt"; else if (cd->compoundType()==ClassDef::Protocol) + { type="intf"; + if (scope.right(2)=="-p") scope=scope.left(scope.length()-2); + } else if (cd->compoundType()==ClassDef::Interface) type="cl"; else if (cd->compoundType()==ClassDef::Category) @@ -317,10 +322,22 @@ void DocSets::addIndexItem(const char *, const char *, case MemberDef::Define: type="macro"; break; case MemberDef::Function: - if (cd && cd->compoundType()==ClassDef::Interface) - type="intfm"; - else if (cd && cd->compoundType()==ClassDef::Class) - type="clm"; + if (cd && (cd->compoundType()==ClassDef::Interface || + cd->compoundType()==ClassDef::Class) + ) + { + if (md->isStatic()) + type="clm"; + else + type="instm"; + } + else if (cd && cd->compoundType()==ClassDef::Protocol) + { + if (md->isStatic()) + type="intfcm"; + else + type="intfm"; + } else type="func"; break; @@ -343,7 +360,11 @@ void DocSets::addIndexItem(const char *, const char *, case MemberDef::DCOP: type="dcop"; break; case MemberDef::Property: - type="property"; break; + if (cd && cd->compoundType()==ClassDef::Protocol) + type="intfp"; + else + type="instp"; + break; case MemberDef::Event: type="event"; break; } |