Doxygen
perlmodgen.cpp 文件参考
#include <stdlib.h>
#include <stack>
#include <fstream>
#include <iostream>
#include "perlmodgen.h"
#include "docparser.h"
#include "message.h"
#include "doxygen.h"
#include "pagedef.h"
#include "memberlist.h"
#include "arguments.h"
#include "config.h"
#include "groupdef.h"
#include "classdef.h"
#include "classlist.h"
#include "filename.h"
#include "membername.h"
#include "namespacedef.h"
#include "membergroup.h"
#include "section.h"
#include "util.h"
#include "htmlentity.h"
#include "emoji.h"
#include "dir.h"
+ perlmodgen.cpp 的引用(Include)关系图:

浏览源代码.

class  PerlModOutputStream
 
class  PerlModOutput
 
class  PerlModDocVisitor
 Concrete visitor implementation for PerlMod output. 更多...
 
class  PerlModGenerator
 

宏定义

#define PERLOUTPUT_MAX_INDENTATION   40
 

函数

static void addTemplateArgumentList (const ArgumentList &al, PerlModOutput &output, const QCString &)
 
static void addTemplateList (const ClassDef *cd, PerlModOutput &output)
 
static void addTemplateList (const ConceptDef *cd, PerlModOutput &output)
 
static void addPerlModDocBlock (PerlModOutput &output, const QCString &name, const QCString &fileName, int lineNr, const Definition *scope, const MemberDef *md, const QCString &text)
 
static const char * getProtectionName (Protection prot)
 
static const char * getVirtualnessName (Specifier virt)
 
void setPerlModDoxyfile (const QCString &qs)
 
void generatePerlMod ()
 

变量

static QCString pathDoxyfile
 
static QCString pathDoxyExec
 

宏定义说明

◆ PERLOUTPUT_MAX_INDENTATION

#define PERLOUTPUT_MAX_INDENTATION   40

在文件 perlmodgen.cpp47 行定义.

函数说明

◆ addPerlModDocBlock()

static void addPerlModDocBlock ( PerlModOutput output,
const QCString name,
const QCString fileName,
int  lineNr,
const Definition scope,
const MemberDef md,
const QCString text 
)
static

在文件 perlmodgen.cpp1458 行定义.

1465 {
1466  QCString stext = text.stripWhiteSpace();
1467  if (stext.isEmpty())
1468  output.addField(name).add("{}");
1469  else {
1470  std::unique_ptr<IDocParser> parser { createDocParser() };
1471  std::unique_ptr<DocRoot> root { validatingParseDoc(*parser.get(),
1472  fileName,lineNr,scope,md,stext,FALSE,FALSE,
1473  QCString(),FALSE,FALSE,Config_getBool(MARKDOWN_SUPPORT)) };
1474  output.openHash(name);
1475  auto visitor = std::make_unique<PerlModDocVisitor>(output);
1476  root->accept(visitor.get());
1477  visitor->finish();
1478  output.closeHash();
1479  }
1480 }

引用了 PerlModOutput::add(), PerlModOutput::addField(), PerlModOutput::closeHash(), Config_getBool, createDocParser(), FALSE, QCString::isEmpty(), PerlModOutput::openHash(), QCString::stripWhiteSpace() , 以及 validatingParseDoc().

被这些函数引用 PerlModGenerator::generatePerlModForClass(), PerlModGenerator::generatePerlModForConcept(), PerlModGenerator::generatePerlModForFile(), PerlModGenerator::generatePerlModForGroup(), PerlModGenerator::generatePerlModForMember(), PerlModGenerator::generatePerlModForNamespace() , 以及 PerlModGenerator::generatePerlModForPage().

◆ addTemplateArgumentList()

static void addTemplateArgumentList ( const ArgumentList al,
PerlModOutput output,
const QCString  
)
static

在文件 perlmodgen.cpp1429 行定义.

1430 {
1431  if (!al.hasParameters()) return;
1432  output.openList("template_parameters");
1433  for (const Argument &a : al)
1434  {
1435  output.openHash();
1436  if (!a.type.isEmpty())
1437  output.addFieldQuotedString("type", a.type);
1438  if (!a.name.isEmpty())
1439  output.addFieldQuotedString("declaration_name", a.name)
1440  .addFieldQuotedString("definition_name", a.name);
1441  if (!a.defval.isEmpty())
1442  output.addFieldQuotedString("default", a.defval);
1443  output.closeHash();
1444  }
1445  output.closeList();
1446 }

引用了 PerlModOutput::addFieldQuotedString(), PerlModOutput::closeHash(), PerlModOutput::closeList(), ArgumentList::hasParameters(), PerlModOutput::openHash() , 以及 PerlModOutput::openList().

被这些函数引用 addTemplateList().

◆ addTemplateList() [1/2]

static void addTemplateList ( const ClassDef cd,
PerlModOutput output 
)
static

◆ addTemplateList() [2/2]

static void addTemplateList ( const ConceptDef cd,
PerlModOutput output 
)
static

◆ generatePerlMod()

void generatePerlMod ( )

在文件 perlmodgen.cpp2958 行定义.

2959 {
2960  PerlModGenerator pmg(Config_getBool(PERLMOD_PRETTY));
2961  pmg.generate();
2962 }

引用了 Config_getBool , 以及 PerlModGenerator::generate().

被这些函数引用 generateOutput().

◆ getProtectionName()

static const char* getProtectionName ( Protection  prot)
static

在文件 perlmodgen.cpp1482 行定义.

1483 {
1484  switch (prot)
1485  {
1486  case Public: return "public";
1487  case Protected: return "protected";
1488  case Private: return "private";
1489  case Package: return "package";
1490  }
1491  return 0;
1492 }

引用了 Package, Private, Protected , 以及 Public.

被这些函数引用 PerlModGenerator::addListOfAllMembers(), PerlModGenerator::generatePerlModForClass() , 以及 PerlModGenerator::generatePerlModForMember().

◆ getVirtualnessName()

static const char* getVirtualnessName ( Specifier  virt)
static

在文件 perlmodgen.cpp1494 行定义.

1495 {
1496  switch(virt)
1497  {
1498  case Normal: return "non_virtual";
1499  case Virtual: return "virtual";
1500  case Pure: return "pure_virtual";
1501  }
1502  return 0;
1503 }

引用了 Normal, Pure , 以及 Virtual.

被这些函数引用 PerlModGenerator::addListOfAllMembers(), PerlModGenerator::generatePerlModForClass() , 以及 PerlModGenerator::generatePerlModForMember().

◆ setPerlModDoxyfile()

void setPerlModDoxyfile ( const QCString qs)

在文件 perlmodgen.cpp1508 行定义.

1509 {
1510  pathDoxyfile = qs;
1512 }

引用了 Dir::currentDirPath(), pathDoxyExec , 以及 pathDoxyfile.

被这些函数引用 readConfiguration().

变量说明

◆ pathDoxyExec

QCString pathDoxyExec
static

在文件 perlmodgen.cpp1506 行定义.

被这些函数引用 PerlModGenerator::generateDoxyRules() , 以及 setPerlModDoxyfile().

◆ pathDoxyfile

QCString pathDoxyfile
static

在文件 perlmodgen.cpp1505 行定义.

被这些函数引用 PerlModGenerator::generateDoxyRules() , 以及 setPerlModDoxyfile().

PerlModOutput::add
PerlModOutput & add(char c)
Definition: perlmodgen.cpp:128
Dir::currentDirPath
static std::string currentDirPath()
Definition: dir.cpp:282
Normal
@ Normal
Definition: types.h:29
Private
@ Private
Definition: types.h:26
PerlModOutput::addFieldQuotedString
PerlModOutput & addFieldQuotedString(const QCString &field, const QCString &content)
Definition: perlmodgen.cpp:153
PerlModOutput::closeList
PerlModOutput & closeList()
Definition: perlmodgen.cpp:162
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
Virtual
@ Virtual
Definition: types.h:29
PerlModOutput::openHash
PerlModOutput & openHash(const QCString &s=QCString())
Definition: perlmodgen.cpp:163
Public
@ Public
Definition: types.h:26
Package
@ Package
Definition: types.h:26
ArgumentList::hasParameters
bool hasParameters() const
Definition: arguments.h:69
addTemplateArgumentList
static void addTemplateArgumentList(const ArgumentList &al, PerlModOutput &output, const QCString &)
Definition: perlmodgen.cpp:1429
PerlModOutput::closeHash
PerlModOutput & closeHash()
Definition: perlmodgen.cpp:164
QCString::stripWhiteSpace
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition: qcstring.h:243
ConceptDef::getTemplateParameterList
virtual ArgumentList getTemplateParameterList() const =0
PerlModOutput::addField
PerlModOutput & addField(const QCString &s)
Definition: perlmodgen.cpp:148
Definition::name
virtual QCString name() const =0
Argument
This class contains the information about the argument of a function or template
Definition: arguments.h:26
validatingParseDoc
DocRoot * validatingParseDoc(IDocParser &parserIntf, const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &input, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
Definition: docparser.cpp:7495
pathDoxyfile
static QCString pathDoxyfile
Definition: perlmodgen.cpp:1505
PerlModOutput::openList
PerlModOutput & openList(const QCString &s=QCString())
Definition: perlmodgen.cpp:161
Protected
@ Protected
Definition: types.h:26
Config_getBool
#define Config_getBool(name)
Definition: config.h:33
PerlModGenerator
Definition: perlmodgen.cpp:1514
ClassDef::templateArguments
virtual const ArgumentList & templateArguments() const =0
Returns the template arguments of this class
pathDoxyExec
static QCString pathDoxyExec
Definition: perlmodgen.cpp:1506
createDocParser
std::unique_ptr< IDocParser > createDocParser()
Definition: docparser.cpp:179
FALSE
#define FALSE
Definition: qcstring.h:33
Pure
@ Pure
Definition: types.h:29
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108