|
Packit Service |
50c9f2 |
/******************************************************************************
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit Service |
50c9f2 |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit Service |
50c9f2 |
* granted. No representations are made about the suitability of this software
|
|
Packit Service |
50c9f2 |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit Service |
50c9f2 |
* See the GNU General Public License for more details.
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit Service |
50c9f2 |
* input used in their production; they are not affected by this license.
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
#ifndef ENTRY_H
|
|
Packit Service |
50c9f2 |
#define ENTRY_H
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
#include "types.h"
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
#include <qlist.h>
|
|
Packit Service |
50c9f2 |
#include <qgstring.h>
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
struct SectionInfo;
|
|
Packit Service |
50c9f2 |
class QFile;
|
|
Packit Service |
50c9f2 |
class EntryNav;
|
|
Packit Service |
50c9f2 |
class FileDef;
|
|
Packit Service |
50c9f2 |
class FileStorage;
|
|
Packit Service |
50c9f2 |
class StorageIntf;
|
|
Packit Service |
50c9f2 |
class ArgumentList;
|
|
Packit Service |
50c9f2 |
struct ListItemInfo;
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** This class stores information about an inheritance relation
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
struct BaseInfo
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
/*! Creates an object representing an inheritance relation */
|
|
Packit Service |
50c9f2 |
BaseInfo(const char *n,Protection p,Specifier v) :
|
|
Packit Service |
50c9f2 |
name(n),prot(p),virt(v) {}
|
|
Packit Service |
50c9f2 |
QCString name; //!< the name of the base class
|
|
Packit Service |
50c9f2 |
Protection prot; //!< inheritance type
|
|
Packit Service |
50c9f2 |
Specifier virt; //!< virtualness
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** This struct is used to capture the tag file information
|
|
Packit Service |
50c9f2 |
* for an Entry.
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
struct TagInfo
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
QCString tagName;
|
|
Packit Service |
50c9f2 |
QCString fileName;
|
|
Packit Service |
50c9f2 |
QCString anchor;
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** Represents an unstructured piece of information, about an
|
|
Packit Service |
50c9f2 |
* entity found in the sources.
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
* parseMain() in scanner.l will generate a tree of these
|
|
Packit Service |
50c9f2 |
* entries.
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
class Entry
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
public:
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Kind of entries that are supported */
|
|
Packit Service |
50c9f2 |
enum Sections {
|
|
Packit Service |
50c9f2 |
CLASS_SEC = 0x00000001,
|
|
Packit Service |
50c9f2 |
NAMESPACE_SEC = 0x00000010,
|
|
Packit Service |
50c9f2 |
COMPOUND_MASK = CLASS_SEC,
|
|
Packit Service |
50c9f2 |
SCOPE_MASK = COMPOUND_MASK | NAMESPACE_SEC,
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
CLASSDOC_SEC = 0x00000800,
|
|
Packit Service |
50c9f2 |
STRUCTDOC_SEC = 0x00001000,
|
|
Packit Service |
50c9f2 |
UNIONDOC_SEC = 0x00002000,
|
|
Packit Service |
50c9f2 |
EXCEPTIONDOC_SEC = 0x00004000,
|
|
Packit Service |
50c9f2 |
NAMESPACEDOC_SEC = 0x00008000,
|
|
Packit Service |
50c9f2 |
INTERFACEDOC_SEC = 0x00010000,
|
|
Packit Service |
50c9f2 |
PROTOCOLDOC_SEC = 0x00020000,
|
|
Packit Service |
50c9f2 |
CATEGORYDOC_SEC = 0x00040000,
|
|
Packit Service |
50c9f2 |
SERVICEDOC_SEC = 0x00080000,
|
|
Packit Service |
50c9f2 |
SINGLETONDOC_SEC = 0x00100000,
|
|
Packit Service |
50c9f2 |
COMPOUNDDOC_MASK = CLASSDOC_SEC | STRUCTDOC_SEC | UNIONDOC_SEC |
|
|
Packit Service |
50c9f2 |
INTERFACEDOC_SEC | EXCEPTIONDOC_SEC | PROTOCOLDOC_SEC |
|
|
Packit Service |
50c9f2 |
CATEGORYDOC_SEC | SERVICEDOC_SEC | SINGLETONDOC_SEC,
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
SOURCE_SEC = 0x00400000,
|
|
Packit Service |
50c9f2 |
HEADER_SEC = 0x00800000,
|
|
Packit Service |
50c9f2 |
FILE_MASK = SOURCE_SEC | HEADER_SEC,
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
ENUMDOC_SEC = 0x01000000,
|
|
Packit Service |
50c9f2 |
ENUM_SEC = 0x02000000,
|
|
Packit Service |
50c9f2 |
EMPTY_SEC = 0x03000000,
|
|
Packit Service |
50c9f2 |
PAGEDOC_SEC = 0x04000000,
|
|
Packit Service |
50c9f2 |
VARIABLE_SEC = 0x05000000,
|
|
Packit Service |
50c9f2 |
FUNCTION_SEC = 0x06000000,
|
|
Packit Service |
50c9f2 |
TYPEDEF_SEC = 0x07000000,
|
|
Packit Service |
50c9f2 |
MEMBERDOC_SEC = 0x08000000,
|
|
Packit Service |
50c9f2 |
OVERLOADDOC_SEC = 0x09000000,
|
|
Packit Service |
50c9f2 |
EXAMPLE_SEC = 0x0a000000,
|
|
Packit Service |
50c9f2 |
VARIABLEDOC_SEC = 0x0b000000,
|
|
Packit Service |
50c9f2 |
FILEDOC_SEC = 0x0c000000,
|
|
Packit Service |
50c9f2 |
DEFINEDOC_SEC = 0x0d000000,
|
|
Packit Service |
50c9f2 |
INCLUDE_SEC = 0x0e000000,
|
|
Packit Service |
50c9f2 |
DEFINE_SEC = 0x0f000000,
|
|
Packit Service |
50c9f2 |
GROUPDOC_SEC = 0x10000000,
|
|
Packit Service |
50c9f2 |
USINGDIR_SEC = 0x11000000,
|
|
Packit Service |
50c9f2 |
MAINPAGEDOC_SEC = 0x12000000,
|
|
Packit Service |
50c9f2 |
MEMBERGRP_SEC = 0x13000000,
|
|
Packit Service |
50c9f2 |
USINGDECL_SEC = 0x14000000,
|
|
Packit Service |
50c9f2 |
PACKAGE_SEC = 0x15000000,
|
|
Packit Service |
50c9f2 |
PACKAGEDOC_SEC = 0x16000000,
|
|
Packit Service |
50c9f2 |
OBJCIMPL_SEC = 0x17000000,
|
|
Packit Service |
50c9f2 |
DIRDOC_SEC = 0x18000000
|
|
Packit Service |
50c9f2 |
,EXPORTED_INTERFACE_SEC = 0x19000000
|
|
Packit Service |
50c9f2 |
,INCLUDED_SERVICE_SEC = 0x1A000000
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
// class specifiers (add new items to the end)
|
|
Packit Service |
50c9f2 |
static const uint64 Template = (1ULL<<0);
|
|
Packit Service |
50c9f2 |
static const uint64 Generic = (1ULL<<1);
|
|
Packit Service |
50c9f2 |
static const uint64 Ref = (1ULL<<2);
|
|
Packit Service |
50c9f2 |
static const uint64 Value = (1ULL<<3);
|
|
Packit Service |
50c9f2 |
static const uint64 Interface = (1ULL<<4);
|
|
Packit Service |
50c9f2 |
static const uint64 Struct = (1ULL<<5);
|
|
Packit Service |
50c9f2 |
static const uint64 Union = (1ULL<<6);
|
|
Packit Service |
50c9f2 |
static const uint64 Exception = (1ULL<<7);
|
|
Packit Service |
50c9f2 |
static const uint64 Protocol = (1ULL<<8);
|
|
Packit Service |
50c9f2 |
static const uint64 Category = (1ULL<<9);
|
|
Packit Service |
50c9f2 |
static const uint64 SealedClass = (1ULL<<10);
|
|
Packit Service |
50c9f2 |
static const uint64 AbstractClass = (1ULL<<11);
|
|
Packit Service |
50c9f2 |
static const uint64 Enum = (1ULL<<12); // for Java-style enums
|
|
Packit Service |
50c9f2 |
static const uint64 Service = (1ULL<<13); // UNO IDL
|
|
Packit Service |
50c9f2 |
static const uint64 Singleton = (1ULL<<14); // UNO IDL
|
|
Packit Service |
50c9f2 |
static const uint64 ForwardDecl = (1ULL<<15); // forward declarad template classes
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
// member specifiers (add new items to the beginning)
|
|
Packit Service |
50c9f2 |
static const uint64 PrivateGettable = (1ULL<<20); // C# private getter
|
|
Packit Service |
50c9f2 |
static const uint64 ProtectedGettable = (1ULL<<21); // C# protected getter
|
|
Packit Service |
50c9f2 |
static const uint64 PrivateSettable = (1ULL<<22); // C# private setter
|
|
Packit Service |
50c9f2 |
static const uint64 ProtectedSettable = (1ULL<<23); // C# protected setter
|
|
Packit Service |
50c9f2 |
static const uint64 Inline = (1ULL<<24);
|
|
Packit Service |
50c9f2 |
static const uint64 Explicit = (1ULL<<25);
|
|
Packit Service |
50c9f2 |
static const uint64 Mutable = (1ULL<<26);
|
|
Packit Service |
50c9f2 |
static const uint64 Settable = (1ULL<<27);
|
|
Packit Service |
50c9f2 |
static const uint64 Gettable = (1ULL<<28);
|
|
Packit Service |
50c9f2 |
static const uint64 Readable = (1ULL<<29);
|
|
Packit Service |
50c9f2 |
static const uint64 Writable = (1ULL<<30);
|
|
Packit Service |
50c9f2 |
static const uint64 Final = (1ULL<<31);
|
|
Packit Service |
50c9f2 |
static const uint64 Abstract = (1ULL<<32);
|
|
Packit Service |
50c9f2 |
static const uint64 Addable = (1ULL<<33);
|
|
Packit Service |
50c9f2 |
static const uint64 Removable = (1ULL<<34);
|
|
Packit Service |
50c9f2 |
static const uint64 Raisable = (1ULL<<35);
|
|
Packit Service |
50c9f2 |
static const uint64 Override = (1ULL<<36);
|
|
Packit Service |
50c9f2 |
static const uint64 New = (1ULL<<37);
|
|
Packit Service |
50c9f2 |
static const uint64 Sealed = (1ULL<<38);
|
|
Packit Service |
50c9f2 |
static const uint64 Initonly = (1ULL<<39);
|
|
Packit Service |
50c9f2 |
static const uint64 Optional = (1ULL<<40);
|
|
Packit Service |
50c9f2 |
static const uint64 Required = (1ULL<<41);
|
|
Packit Service |
50c9f2 |
static const uint64 NonAtomic = (1ULL<<42);
|
|
Packit Service |
50c9f2 |
static const uint64 Copy = (1ULL<<43);
|
|
Packit Service |
50c9f2 |
static const uint64 Retain = (1ULL<<44);
|
|
Packit Service |
50c9f2 |
static const uint64 Assign = (1ULL<<45);
|
|
Packit Service |
50c9f2 |
static const uint64 Strong = (1ULL<<46);
|
|
Packit Service |
50c9f2 |
static const uint64 Weak = (1ULL<<47);
|
|
Packit Service |
50c9f2 |
static const uint64 Unretained = (1ULL<<48);
|
|
Packit Service |
50c9f2 |
static const uint64 Alias = (1ULL<<49);
|
|
Packit Service |
50c9f2 |
static const uint64 ConstExp = (1ULL<<50);
|
|
Packit Service |
50c9f2 |
static const uint64 Default = (1ULL<<51);
|
|
Packit Service |
50c9f2 |
static const uint64 Delete = (1ULL<<52);
|
|
Packit Service |
50c9f2 |
static const uint64 NoExcept = (1ULL<<53);
|
|
Packit Service |
50c9f2 |
static const uint64 Attribute = (1ULL<<54); // UNO IDL attribute
|
|
Packit Service |
50c9f2 |
static const uint64 Property = (1ULL<<55); // UNO IDL property
|
|
Packit Service |
50c9f2 |
static const uint64 Readonly = (1ULL<<56); // on UNO IDL attribute or property
|
|
Packit Service |
50c9f2 |
static const uint64 Bound = (1ULL<<57); // on UNO IDL attribute or property
|
|
Packit Service |
50c9f2 |
static const uint64 Constrained = (1ULL<<58); // on UNO IDL property
|
|
Packit Service |
50c9f2 |
static const uint64 Transient = (1ULL<<59); // on UNO IDL property
|
|
Packit Service |
50c9f2 |
static const uint64 MaybeVoid = (1ULL<<60); // on UNO IDL property
|
|
Packit Service |
50c9f2 |
static const uint64 MaybeDefault = (1ULL<<61); // on UNO IDL property
|
|
Packit Service |
50c9f2 |
static const uint64 MaybeAmbiguous = (1ULL<<62); // on UNO IDL property
|
|
Packit Service |
50c9f2 |
static const uint64 Published = (1ULL<<63); // UNO IDL keyword
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
enum GroupDocType
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
GROUPDOC_NORMAL, //!< defgroup
|
|
Packit Service |
50c9f2 |
GROUPDOC_ADD, //!< addgroup
|
|
Packit Service |
50c9f2 |
GROUPDOC_WEAK //!< weakgroup
|
|
Packit Service |
50c9f2 |
}; //!< kind of group
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
Entry();
|
|
Packit Service |
50c9f2 |
Entry(const Entry &);
|
|
Packit Service |
50c9f2 |
~Entry();
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Returns the static size of the Entry (so excluding any dynamic memory) */
|
|
Packit Service |
50c9f2 |
int getSize();
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
void addSpecialListItem(const char *listName,int index);
|
|
Packit Service |
50c9f2 |
void createNavigationIndex(EntryNav *rootNav,FileStorage *storage,FileDef *fd);
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
// while parsing a file these function can be used to navigate/build the tree
|
|
Packit Service |
50c9f2 |
void setParent(Entry *parent) { m_parent = parent; }
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Returns the parent for this Entry or 0 if this entry has no parent. */
|
|
Packit Service |
50c9f2 |
Entry *parent() const { return m_parent; }
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Returns the list of children for this Entry
|
|
Packit Service |
50c9f2 |
* @see addSubEntry() and removeSubEntry()
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
const QList<Entry> *children() const { return m_sublist; }
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Adds entry \a e as a child to this entry */
|
|
Packit Service |
50c9f2 |
void addSubEntry (Entry* e) ;
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Removes entry \a e from the list of children.
|
|
Packit Service |
50c9f2 |
* Returns a pointer to the entry or 0 if the entry was not a child.
|
|
Packit Service |
50c9f2 |
* Note the entry will not be deleted.
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
Entry *removeSubEntry(Entry *e);
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Restore the state of this Entry to the default value it has
|
|
Packit Service |
50c9f2 |
* at construction time.
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
void reset();
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Serialize this entry to a persistent storage stream. */
|
|
Packit Service |
50c9f2 |
void marshall(StorageIntf *);
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/*! Reinitialize this entry from a persistent storage stream. */
|
|
Packit Service |
50c9f2 |
void unmarshall(StorageIntf *);
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
public:
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
// identification
|
|
Packit Service |
50c9f2 |
int section; //!< entry type (see Sections);
|
|
Packit Service |
50c9f2 |
QCString type; //!< member type
|
|
Packit Service |
50c9f2 |
QCString name; //!< member name
|
|
Packit Service |
50c9f2 |
TagInfo *tagInfo; //!< tag file info
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
// content
|
|
Packit Service |
50c9f2 |
Protection protection; //!< class protection
|
|
Packit Service |
50c9f2 |
MethodTypes mtype; //!< signal, slot, (dcop) method, or property?
|
|
Packit Service |
50c9f2 |
uint64 spec; //!< class/member specifiers
|
|
Packit Service |
50c9f2 |
int initLines; //!< define/variable initializer lines to show
|
|
Packit Service |
50c9f2 |
bool stat; //!< static ?
|
|
Packit Service |
50c9f2 |
bool explicitExternal; //!< explicitly defined as external?
|
|
Packit Service |
50c9f2 |
bool proto; //!< prototype ?
|
|
Packit Service |
50c9f2 |
bool subGrouping; //!< automatically group class members?
|
|
Packit Service |
50c9f2 |
bool callGraph; //!< do we need to draw the call graph?
|
|
Packit Service |
50c9f2 |
bool callerGraph; //!< do we need to draw the caller graph?
|
|
Packit Service |
50c9f2 |
Specifier virt; //!< virtualness of the entry
|
|
Packit Service |
50c9f2 |
QCString args; //!< member argument string
|
|
Packit Service |
50c9f2 |
QCString bitfields; //!< member's bit fields
|
|
Packit Service |
50c9f2 |
ArgumentList *argList; //!< member arguments as a list
|
|
Packit Service |
50c9f2 |
QList<ArgumentList> *tArgLists; //!< template argument declarations
|
|
Packit Service |
50c9f2 |
QGString program; //!< the program text
|
|
Packit Service |
50c9f2 |
QGString initializer; //!< initial value (for variables)
|
|
Packit Service |
50c9f2 |
QCString includeFile; //!< include file (2 arg of \\class, must be unique)
|
|
Packit Service |
50c9f2 |
QCString includeName; //!< include name (3 arg of \\class)
|
|
Packit Service |
50c9f2 |
QCString doc; //!< documentation block (partly parsed)
|
|
Packit Service |
50c9f2 |
int docLine; //!< line number at which the documentation was found
|
|
Packit Service |
50c9f2 |
QCString docFile; //!< file in which the documentation was found
|
|
Packit Service |
50c9f2 |
QCString brief; //!< brief description (doc block)
|
|
Packit Service |
50c9f2 |
int briefLine; //!< line number at which the brief desc. was found
|
|
Packit Service |
50c9f2 |
QCString briefFile; //!< file in which the brief desc. was found
|
|
Packit Service |
50c9f2 |
QCString inbodyDocs; //!< documentation inside the body of a function
|
|
Packit Service |
50c9f2 |
int inbodyLine; //!< line number at which the body doc was found
|
|
Packit Service |
50c9f2 |
QCString inbodyFile; //!< file in which the body doc was found
|
|
Packit Service |
50c9f2 |
QCString relates; //!< related class (doc block)
|
|
Packit Service |
50c9f2 |
RelatesType relatesType; //!< how relates is handled
|
|
Packit Service |
50c9f2 |
QCString read; //!< property read accessor
|
|
Packit Service |
50c9f2 |
QCString write; //!< property write accessor
|
|
Packit Service |
50c9f2 |
QCString inside; //!< name of the class in which documents are found
|
|
Packit Service |
50c9f2 |
QCString exception; //!< throw specification
|
|
Packit Service |
50c9f2 |
ArgumentList *typeConstr; //!< where clause (C#) for type constraints
|
|
Packit Service |
50c9f2 |
int bodyLine; //!< line number of the definition in the source
|
|
Packit Service |
50c9f2 |
int endBodyLine; //!< line number where the definition ends
|
|
Packit Service |
50c9f2 |
int mGrpId; //!< member group id
|
|
Packit Service |
50c9f2 |
QList<BaseInfo> *extends; //!< list of base classes
|
|
Packit Service |
50c9f2 |
QList<Grouping> *groups; //!< list of groups this entry belongs to
|
|
Packit Service |
50c9f2 |
QList<SectionInfo> *anchors; //!< list of anchors defined in this entry
|
|
Packit Service |
50c9f2 |
QCString fileName; //!< file this entry was extracted from
|
|
Packit Service |
50c9f2 |
int startLine; //!< start line of entry in the source
|
|
Packit Service |
50c9f2 |
int startColumn; //!< start column of entry in the source
|
|
Packit Service |
50c9f2 |
QList<ListItemInfo> *sli; //!< special lists (test/todo/bug/deprecated/..) this entry is in
|
|
Packit Service |
50c9f2 |
SrcLangExt lang; //!< programming language in which this entry was found
|
|
Packit Service |
50c9f2 |
bool hidden; //!< does this represent an entity that is hidden from the output
|
|
Packit Service |
50c9f2 |
bool artificial; //!< Artificially introduced item
|
|
Packit Service |
50c9f2 |
GroupDocType groupDocType;
|
|
Packit Service |
50c9f2 |
QCString id; //!< libclang id
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
static int num; //!< counts the total number of entries
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/// return the command name used to define GROUPDOC_SEC
|
|
Packit Service |
50c9f2 |
const char *groupDocCmd() const
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
switch( groupDocType )
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
case GROUPDOC_NORMAL: return "\\defgroup";
|
|
Packit Service |
50c9f2 |
case GROUPDOC_ADD: return "\\addgroup";
|
|
Packit Service |
50c9f2 |
case GROUPDOC_WEAK: return "\\weakgroup";
|
|
Packit Service |
50c9f2 |
default: return "unknown group command";
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
Grouping::GroupPri_t groupingPri() const
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
if( section != GROUPDOC_SEC )
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
return Grouping::GROUPING_LOWEST;
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
switch( groupDocType )
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
case GROUPDOC_NORMAL: return Grouping::GROUPING_AUTO_DEF;
|
|
Packit Service |
50c9f2 |
case GROUPDOC_ADD: return Grouping::GROUPING_AUTO_ADD;
|
|
Packit Service |
50c9f2 |
case GROUPDOC_WEAK: return Grouping::GROUPING_AUTO_WEAK;
|
|
Packit Service |
50c9f2 |
default: return Grouping::GROUPING_LOWEST;
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
private:
|
|
Packit Service |
50c9f2 |
void createSubtreeIndex(EntryNav *nav,FileStorage *storage,FileDef *fd);
|
|
Packit Service |
50c9f2 |
Entry *m_parent; //!< parent node in the tree
|
|
Packit Service |
50c9f2 |
QList<Entry> *m_sublist; //!< entries that are children of this one
|
|
Packit Service |
50c9f2 |
Entry &operator=(const Entry &);
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** Wrapper for a node in the Entry tree.
|
|
Packit Service |
50c9f2 |
*
|
|
Packit Service |
50c9f2 |
* Allows navigating through the Entry tree and load and storing Entry
|
|
Packit Service |
50c9f2 |
* objects persistently to disk.
|
|
Packit Service |
50c9f2 |
*/
|
|
Packit Service |
50c9f2 |
class EntryNav
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
public:
|
|
Packit Service |
50c9f2 |
EntryNav(EntryNav *parent,Entry *e);
|
|
Packit Service |
50c9f2 |
~EntryNav();
|
|
Packit Service |
50c9f2 |
void addChild(EntryNav *);
|
|
Packit Service |
50c9f2 |
bool loadEntry(FileStorage *storage);
|
|
Packit Service |
50c9f2 |
bool saveEntry(Entry *e,FileStorage *storage);
|
|
Packit Service |
50c9f2 |
void setEntry(Entry *e);
|
|
Packit Service |
50c9f2 |
void releaseEntry();
|
|
Packit Service |
50c9f2 |
void changeSection(int section) { m_section = section; }
|
|
Packit Service |
50c9f2 |
void setFileDef(FileDef *fd) { m_fileDef = fd; }
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
Entry *entry() const { return m_info; }
|
|
Packit Service |
50c9f2 |
int section() const { return m_section; }
|
|
Packit Service |
50c9f2 |
SrcLangExt lang() const { return m_lang; }
|
|
Packit Service |
50c9f2 |
const QCString &type() const { return m_type; }
|
|
Packit Service |
50c9f2 |
const QCString &name() const { return m_name; }
|
|
Packit Service |
50c9f2 |
TagInfo *tagInfo() const { return m_tagInfo; }
|
|
Packit Service |
50c9f2 |
const QList<EntryNav> *children() const { return m_subList; }
|
|
Packit Service |
50c9f2 |
EntryNav *parent() const { return m_parent; }
|
|
Packit Service |
50c9f2 |
FileDef *fileDef() const { return m_fileDef; }
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
private:
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
// navigation
|
|
Packit Service |
50c9f2 |
EntryNav *m_parent; //!< parent node in the tree
|
|
Packit Service |
50c9f2 |
QList<EntryNav> *m_subList; //!< entries that are children of this one
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
// identification
|
|
Packit Service |
50c9f2 |
int m_section; //!< entry type (see Sections);
|
|
Packit Service |
50c9f2 |
QCString m_type; //!< member type
|
|
Packit Service |
50c9f2 |
QCString m_name; //!< member name
|
|
Packit Service |
50c9f2 |
TagInfo *m_tagInfo; //!< tag file info
|
|
Packit Service |
50c9f2 |
FileDef *m_fileDef;
|
|
Packit Service |
50c9f2 |
SrcLangExt m_lang; //!< programming language in which this entry was found
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
Entry *m_info;
|
|
Packit Service |
50c9f2 |
int64 m_offset;
|
|
Packit Service |
50c9f2 |
bool m_noLoad;
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
typedef QList<Entry> EntryList;
|
|
Packit Service |
50c9f2 |
typedef QListIterator<Entry> EntryListIterator;
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
typedef QList<EntryNav> EntryNavList;
|
|
Packit Service |
50c9f2 |
typedef QListIterator<EntryNav> EntryNavListIterator;
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
#endif
|