274{
275 if (md==nullptr && context==nullptr) return;
276
277 const FileDef *fd = nullptr;
278 const ClassDef *cd = nullptr;
279 const NamespaceDef *nd = nullptr;
280
281 if (md)
282 {
287 }
288
289 QCString scope;
290 QCString type;
291 QCString decl;
292
293
294 QCString lang;
296 if (md)
297 {
299 }
300 else if (context)
301 {
303 }
304 switch (langExt)
305 {
306 case SrcLangExt::Cpp:
307 case SrcLangExt::ObjC:
308 {
310 lang="occ";
312 lang="c";
313 else if (cd==nullptr && nd==nullptr)
314 lang="c";
315 else
316 lang="cpp";
317 }
318 break;
319 case SrcLangExt::IDL: lang="idl"; break;
320 case SrcLangExt::CSharp: lang="csharp"; break;
321 case SrcLangExt::PHP: lang="php"; break;
322 case SrcLangExt::D: lang="d"; break;
323 case SrcLangExt::Java: lang="java"; break;
324 case SrcLangExt::JS: lang="javascript"; break;
325 case SrcLangExt::Python: lang="python"; break;
326 case SrcLangExt::Fortran: lang="fortran"; break;
327 case SrcLangExt::VHDL: lang="vhdl"; break;
328 case SrcLangExt::XML: lang="xml"; break;
329 case SrcLangExt::SQL: lang="sql"; break;
330 case SrcLangExt::Markdown:lang="markdown"; break;
331 case SrcLangExt::Slice: lang="slice"; break;
332 case SrcLangExt::Lex: lang="lex"; break;
333 case SrcLangExt::Unknown: lang="unknown"; break;
334 }
335
336 if (context && md)
337 {
339 {
340 case MemberType::Define:
341 type="macro"; break;
342 case MemberType::Function:
345 {
347 type="clm";
348 else
349 type="instm";
350 }
352 {
354 type="intfcm";
355 else
356 type="intfm";
357 }
358 else
359 type="func";
360 break;
361 case MemberType::Variable:
362 type="data"; break;
363 case MemberType::Typedef:
364 type="tdef"; break;
365 case MemberType::Enumeration:
366 type="enum"; break;
367 case MemberType::EnumValue:
368 type="econst"; break;
369
370
371 case MemberType::Signal:
372 type="signal"; break;
373 case MemberType::Slot:
374 type="slot"; break;
375 case MemberType::Friend:
376 type="ffunc"; break;
377 case MemberType::DCOP:
378 type="dcop"; break;
379 case MemberType::Property:
381 type="intfp";
382 else
383 type="instp";
384 break;
385 case MemberType::Event:
386 type="event"; break;
387 case MemberType::Interface:
388 type="ifc"; break;
389 case MemberType::Service:
390 type="svc"; break;
391 case MemberType::Sequence:
392 type="sequence"; break;
393 case MemberType::Dictionary:
394 type="dictionary"; break;
395 }
398 if (fd)
399 {
401 }
403 }
405 {
407 {
409 }
411 {
413 }
415 {
417 }
418 if (fd)
419 {
420 type="file";
421 }
422 else if (cd)
423 {
426 {
427 type="tmplt";
428 }
430 {
431 type="intf";
433 }
435 {
436 type="cl";
437 }
439 {
440 type="cat";
441 }
442 else
443 {
444 type = "cl";
445 }
447 if (ii)
448 {
450 }
451 }
452 else if (nd)
453 {
455 type = "ns";
456 }
458 {
459 writeToken(
p->tts,context,type,lang,scope,QCString(),decl);
461 }
462 }
463}
virtual bool isTemplate() const =0
Returns TRUE if this class is a template.
virtual CompoundType compoundType() const =0
Returns the type of compound this is, i.e. class/struct/union/...
virtual const IncludeInfo * includeInfo() const =0
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
virtual bool isLinkable() const =0
virtual DefType definitionType() const =0
virtual QCString anchor() const =0
virtual QCString qualifiedName() const =0
virtual QCString getOutputFileBase() const =0
virtual const QCString & name() const =0
void writeToken(TextStream &t, const Definition *d, const QCString &type, const QCString &lang, const QCString &scope=QCString(), const QCString &anchor=QCString(), const QCString &decl=QCString())
virtual bool isObjCMethod() const =0
virtual const ClassDef * getClassDef() const =0
virtual const FileDef * getFileDef() const =0
virtual QCString getScopeString() const =0
virtual bool isStatic() const =0
virtual const NamespaceDef * getNamespaceDef() const =0
virtual bool isObjCProperty() const =0
virtual MemberType memberType() const =0
size_t length() const
Returns the length of the string, not counting the 0-terminator.
bool endsWith(const char *s) const
const std::string & str() const
QCString left(size_t len) const
ClassDef * toClassDef(Definition *d)
FileDef * toFileDef(Definition *d)
NamespaceDef * toNamespaceDef(Definition *d)