83 t <<
" " << Prefix <<
"-member = {" <<
endl;
85 memPrefix.
append( Prefix );
86 memPrefix.
append(
"-mem-" );
108 t << memPrefix <<
"kind = '" << memType <<
"';" <<
endl;
109 t << memPrefix <<
"id = '" 113 t << memPrefix <<
"virt = ";
118 case Pure: t <<
"pure-virtual;" <<
endl;
break;
122 t << memPrefix <<
"prot = ";
136 t << memPrefix <<
"type = <<_EnD_oF_dEf_TeXt_" << endl << typeStr << endl
137 <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
140 t << memPrefix <<
"name = '" << md->
name() <<
"';" <<
endl;
147 QCString fcnPrefix =
" " + memPrefix +
"param-";
149 if (declAl->
count()>0)
157 t << memPrefix <<
"param = {" <<
endl;
160 t << fcnPrefix <<
"attributes = ";
166 t << fcnPrefix <<
"type = <<_EnD_oF_dEf_TeXt_" << endl
167 << a->
type << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
171 t << fcnPrefix <<
"declname = ";
177 t << fcnPrefix <<
"defname = ";
183 t << fcnPrefix <<
"array = ";
189 t << fcnPrefix <<
"defval = <<_EnD_oF_dEf_TeXt_" << endl
190 << a->
defval << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
192 if (defArg) ++defAli;
193 t <<
" }; /*" << fcnPrefix <<
"-param */" <<
endl;
203 QCString defPrefix =
" " + memPrefix +
"def-";
205 for (ali.toFirst();(a=ali.current());++ali)
207 t << memPrefix <<
"param = {" <<
endl;
208 t << defPrefix <<
"name = '" << a->type <<
"';" <<
endl;
209 t <<
" }; /*" << defPrefix <<
"-param */" <<
endl;
215 t << memPrefix <<
"initializer = <<_EnD_oF_dEf_TeXt_" << endl
228 t << memPrefix <<
"enum = { enum-name = " << emd->
name() <<
';';
231 t <<
" enum-value = ";
241 t << memPrefix <<
"desc-line = '" << md->
getDefLine() <<
"';" <<
endl;
242 t << memPrefix <<
"briefdesc = <<_EnD_oF_dEf_TeXt_" << endl
244 t << memPrefix <<
"documentation = <<_EnD_oF_dEf_TeXt_" << endl
254 QCString refPrefix =
" " + memPrefix +
"ref-";
256 for (mdi.toFirst();(rmd=mdi.current());++mdi)
260 t << memPrefix <<
"referenceto = {" <<
endl;
261 t << refPrefix <<
"id = '" 266 t << refPrefix <<
"line = '" 276 t << refPrefix <<
"name = ";
278 t <<
';' << endl <<
" };" <<
endl;
287 QCString refPrefix =
" " + memPrefix +
"ref-";
289 for (mdi.toFirst();(rmd=mdi.current());++mdi)
293 t << memPrefix <<
"referenceby = {" <<
endl;
294 t << refPrefix <<
"id = '" 299 t << refPrefix <<
"line = '" 309 t << refPrefix <<
"name = ";
311 t <<
';' << endl <<
" };" <<
endl;
316 t <<
" }; /* " << Prefix <<
"-member */" <<
endl;
325 if (cd && ml && ml->
count()>0)
327 t <<
" cp-section = {" <<
endl;
328 t <<
" sec-kind = '" << kind <<
"';" <<
endl;
336 t <<
" }; /* cp-section */" <<
endl;
357 if (cd->
name().
find(
'@')!=-1)
return;
362 t <<
" cp-name = '" << cd->
name() <<
"';" <<
endl;
368 for (bcli.toFirst();(bcd=bcli.current());++bcli)
370 t <<
" cp-ref = {" <<
endl <<
" ref-type = base;" <<
endl;
372 << bcd->classDef->getOutputFileBase() <<
"';" <<
endl;
384 case Normal: t <<
"non-virtual;";
break;
385 case Virtual: t <<
"virtual;";
break;
386 case Pure: t <<
"pure-virtual;";
break;
388 t << endl <<
" };" <<
endl;
396 for (bcli.toFirst();(bcd=bcli.current());++bcli)
398 t <<
" cp-ref = {" <<
endl <<
" ref-type = derived;" <<
endl;
400 << bcd->classDef->getOutputFileBase() <<
"';" <<
endl;
412 case Normal: t <<
"non-virtual;";
break;
413 case Virtual: t <<
"virtual;";
break;
414 case Pure: t <<
"pure-virtual;";
break;
416 t << endl <<
" };" <<
endl;
423 for (mli.toFirst();(ml=mli.
current());++mli)
427 numMembers+=ml->
count();
461 t <<
" cp-briefdesc = <<_EnD_oF_dEf_TeXt_" <<
endl 464 t <<
" cp-documentation = <<_EnD_oF_dEf_TeXt_" << endl
470 t <<
" cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_" <<
endl;
472 t << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
477 t <<
" cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_" <<
endl;
479 t << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
489 if (ml && ml->
count()>0)
491 t <<
" " << kind <<
" = {" <<
endl;
505 t <<
" namespace = {" <<
endl;
520 t <<
" ns-briefdesc = <<_EnD_oF_dEf_TeXt_" << endl
523 t <<
" ns-documentation = <<_EnD_oF_dEf_TeXt_" << endl
532 t <<
"file = {" <<
endl;
534 t <<
" file-name = ";
548 t <<
" file-briefdesc = <<_EnD_oF_dEf_TeXt_" << endl
551 t <<
" file-documentation = <<_EnD_oF_dEf_TeXt_" << endl
554 t <<
"}; /* file */" <<
endl;
571 if (!dir.
mkdir(outputDirectory))
573 err(
"tag OUTPUT_DIRECTORY: Output directory `%s' does not " 574 "exist and cannot be created\n",outputDirectory.
data());
579 msg(
"Notice: Output directory `%s' does not exist. " 580 "I have created it for you.\n", outputDirectory.
data());
582 dir.
cd(outputDirectory);
591 if (!dir.
mkdir(outputDirectory))
593 err(
"Cannot create directory %s\n",outputDirectory.
data());
597 QDir defDir(outputDirectory+
"/def");
598 if (!defDir.
exists() && !defDir.
mkdir(outputDirectory+
"/def"))
600 err(
"Could not create def directory in %s\n",outputDirectory.
data());
608 err(
"Cannot open file %s for writing!\n",fileName.
data());
612 t <<
"AutoGen Definitions dummy;" <<
endl;
618 for (cli.toFirst();(cd=cli.current());++
cli)
624 for (;(fn=fnli.
current());++fnli)
628 for (;(fd=fni.
current());++fni)
636 t <<
"dummy_value = true;" <<
endl;
Traverses directory structures and contents in a platform-independent way.
This class represents an function or template argument list.
BaseClassList * subClasses() const
void msg(const char *fmt,...)
virtual void setPath(const QString &path)
Protection protection() const
QCString getOutputFileBase() const
FileDef * getBodyDef() const
QCString compoundTypeString() const
static FileNameList * inputNameList
MemberList * enumFieldList() const
virtual bool isReference() const
Simplified and optimized version of QTextStream.
int find(char c, int index=0, bool cs=TRUE) const
virtual QString absPath() const
MemberSDict * getReferencesMembers() const
QCString getDefFileName() const
void generateDEFForClass(ClassDef *cd, FTextStream &t)
void writeDEF(FTextStream &t)
ClassDef * templateMaster() const
Specifier virtualness(int count=0) const
This class contains the information about the argument of a function or template. ...
const char * typeString() const
void generateDEFSection(Definition *d, FTextStream &t, MemberList *ml, const char *kind)
MemberSDict * getReferencedByMembers() const
virtual bool mkdir(const QString &dirName, bool acceptAbsPath=TRUE) const
const QCString & name() const
QCString getScopeString() const
QCString briefDescription(bool abbr=FALSE) const
void generateDEFForMember(MemberDef *md, FTextStream &t, Definition *def, const char *Prefix)
static QString currentDirPath()
void stringToArgumentList(const char *argsString, ArgumentList *al, QCString *extraTypeChars)
QCString & prepend(const char *s)
A bunch of utility functions.
const char * data() const
#define Config_getString(val)
ClassDef * getClassDef() const
MemberList * getMemberList(MemberListType lt) const
void err(const char *fmt,...)
MemberList * getMemberList(MemberListType lt) const
MemberType memberType() const
virtual bool cd(const QString &dirName, bool acceptAbsPath=TRUE)
virtual QCString briefDescription(bool abbreviate=FALSE) const
void generateDEFForNamespace(NamespaceDef *nd, FTextStream &t)
QCString getOutputFileBase() const
The QFile class is an I/O device that operates on files.
QCString getOutputFileBase() const
QCString documentation() const
ArgumentList * argumentList() const
int getStartBodyLine() const
void writeDEFString(FTextStream &t, const char *s)
void generateDEFForFile(FileDef *fd, FTextStream &t)
const QCString & initializer() const
QCString getOutputFileBase() const
NamespaceDef * getNamespaceDef() const
const char * argsString() const
void generateDEFClassSection(ClassDef *cd, FTextStream &t, MemberList *ml, const char *kind)
virtual QCString documentation() const
static ClassSDict * classSDict
const QList< MemberList > & getMemberLists() const
MemberList * getMemberList(MemberListType lt)
virtual bool exists() const
QTextStream & endl(QTextStream &s)
QCString replaceAnonymousScopes(const QCString &s, const char *replacement)
QCString & append(const char *s)
BaseClassList * baseClasses() const