|
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 DEFINE_H
|
|
Packit Service |
50c9f2 |
#define DEFINE_H
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
#include <qdict.h>
|
|
Packit Service |
50c9f2 |
#include <qlist.h>
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
class FileDef;
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** A class representing a macro definition. */
|
|
Packit Service |
50c9f2 |
class Define
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
public:
|
|
Packit Service |
50c9f2 |
Define();
|
|
Packit Service |
50c9f2 |
Define(const Define &d);
|
|
Packit Service |
50c9f2 |
~Define();
|
|
Packit Service |
50c9f2 |
bool hasDocumentation();
|
|
Packit Service |
50c9f2 |
QCString name;
|
|
Packit Service |
50c9f2 |
QCString definition;
|
|
Packit Service |
50c9f2 |
QCString fileName;
|
|
Packit Service |
50c9f2 |
QCString doc;
|
|
Packit Service |
50c9f2 |
QCString brief;
|
|
Packit Service |
50c9f2 |
QCString args;
|
|
Packit Service |
50c9f2 |
QCString anchor;
|
|
Packit Service |
50c9f2 |
FileDef *fileDef;
|
|
Packit Service |
50c9f2 |
int lineNr;
|
|
Packit Service |
50c9f2 |
int columnNr;
|
|
Packit Service |
50c9f2 |
int nargs;
|
|
Packit Service |
50c9f2 |
bool undef;
|
|
Packit Service |
50c9f2 |
bool varArgs;
|
|
Packit Service |
50c9f2 |
bool isPredefined;
|
|
Packit Service |
50c9f2 |
bool nonRecursive;
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** A list of Define objects. */
|
|
Packit Service |
50c9f2 |
class DefineList : public QList<Define>
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
public:
|
|
Packit Service |
50c9f2 |
DefineList() : QList<Define>() {}
|
|
Packit Service |
50c9f2 |
~DefineList() {}
|
|
Packit Service |
50c9f2 |
private:
|
|
Packit Service |
50c9f2 |
int compareValues(const Define *d1,const Define *d2) const
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
return qstricmp(d1->name,d2->name);
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** A list of Define objects associated with a specific name. */
|
|
Packit Service |
50c9f2 |
class DefineName : public QList<Define>
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
public:
|
|
Packit Service |
50c9f2 |
DefineName(const char *n) : QList<Define>() { name=n; }
|
|
Packit Service |
50c9f2 |
~DefineName() {}
|
|
Packit Service |
50c9f2 |
const char *nameString() const { return name; }
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
private:
|
|
Packit Service |
50c9f2 |
int compareValues(const Define *d1,const Define *d2) const
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
return qstricmp(d1->name,d2->name);
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
QCString name;
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** A list of DefineName objects. */
|
|
Packit Service |
50c9f2 |
class DefineNameList : public QList<DefineName>
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
public:
|
|
Packit Service |
50c9f2 |
DefineNameList() : QList<DefineName>() {}
|
|
Packit Service |
50c9f2 |
~DefineNameList() {}
|
|
Packit Service |
50c9f2 |
private:
|
|
Packit Service |
50c9f2 |
int compareValues(const DefineName *n1,const DefineName *n2) const
|
|
Packit Service |
50c9f2 |
{
|
|
Packit Service |
50c9f2 |
return qstricmp(n1->nameString(),n2->nameString());
|
|
Packit Service |
50c9f2 |
}
|
|
Packit Service |
50c9f2 |
};
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** An unsorted dictionary of Define objects. */
|
|
Packit Service |
50c9f2 |
typedef QDict<Define> DefineDict;
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
/** A sorted dictionary of DefineName object. */
|
|
Packit Service |
50c9f2 |
typedef QDict<DefineName> DefineNameDict;
|
|
Packit Service |
50c9f2 |
|
|
Packit Service |
50c9f2 |
#endif
|