Skip to content

Commit

Permalink
Refactoring: some cleanup and removed text direction logic
Browse files Browse the repository at this point in the history
  • Loading branch information
doxygen committed Mar 4, 2021
1 parent 29ea1e8 commit bb89b81
Show file tree
Hide file tree
Showing 26 changed files with 47 additions and 281 deletions.
9 changes: 4 additions & 5 deletions src/clangparser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#include <clang-c/Index.h>
#include "clang/Tooling/CompilationDatabase.h"
#include "clang/Tooling/Tooling.h"
#include <qfileinfo.h>
#include <stdlib.h>
#include "message.h"
#include "outputgen.h"
Expand Down Expand Up @@ -381,10 +380,10 @@ void ClangTUParser::switchToFile(const FileDef *fd)
}
}

QCString ClangTUParser::lookup(uint line,const char *symbol)
std::string ClangTUParser::lookup(uint line,const char *symbol)
{
//printf("ClangParser::lookup(%d,%s)\n",line,symbol);
QCString result;
std::string result;
if (symbol==0) return result;
static bool clangAssistedParsing = Config_getBool(CLANG_ASSISTED_PARSING);
if (!clangAssistedParsing) return result;
Expand Down Expand Up @@ -911,9 +910,9 @@ void ClangTUParser::parse()
{
}

QCString ClangTUParser::lookup(uint,const char *)
std::string ClangTUParser::lookup(uint,const char *)
{
return "";
return std::string();
}

class ClangParser::Private
Expand Down
6 changes: 3 additions & 3 deletions src/clangparser.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifndef CLANGPARSER_H
#define CLANGPARSER_H

#include <qcstring.h>
#include <qstrlist.h>
#include "containers.h"
#include "types.h"
#include <memory>
#include <string>

class CodeOutputInterface;
class FileDef;
Expand Down Expand Up @@ -40,7 +40,7 @@ class ClangTUParser
/** Looks for \a symbol which should be found at \a line.
* returns a clang unique reference to the symbol.
*/
QCString lookup(uint line,const char *symbol);
std::string lookup(uint line,const char *symbol);

/** writes the syntax highlighted source code for a file
* @param[out] ol The output generator list to write to.
Expand Down
2 changes: 0 additions & 2 deletions src/commentcnv.l
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@
#include <stdlib.h>
#include <stack>

#include <qglobal.h>

#include "bufstr.h"
#include "debug.h"
#include "message.h"
Expand Down
1 change: 0 additions & 1 deletion src/dirdef.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

#include <vector>
#include <map>
#include <qglobal.h>
#include <qcstring.h>

class FileList;
Expand Down
5 changes: 2 additions & 3 deletions src/docgroup.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
* Copyright (C) 1997-2019 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
Expand All @@ -17,7 +17,6 @@
#define DOCGROUP_H

#include <vector>
#include <qstring.h>
#include "membergroup.h"

class Entry;
Expand Down
121 changes: 0 additions & 121 deletions src/docparser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7323,128 +7323,7 @@ static QCString processCopyDoc(const char *data,uint &len)
buf.addChar(0);
return buf.get();
}
//---------------------------------------------------------------------------
QString::Direction getTextDirByConfig(const QString &text)
{
QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION);
if (configDir == "None")
return QString::DirNeutral;
if (configDir == "Context")
return text.basicDirection();
if (configDir == "LTR")
{
QString::Direction textDir = text.direction();
if (textDir == QString::DirMixed)
return QString::DirLTR;
return textDir;
}
if (configDir == "RTL")
{
QString::Direction textDir = text.direction();
if (textDir == QString::DirMixed)
return QString::DirRTL;
return textDir;
}
return QString::DirNeutral;
}

QString::Direction getTextDirByConfig(const DocNode *node)
{
QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION);
if (configDir == "None")
return QString::DirNeutral;
if (configDir == "Context")
return node->getTextBasicDir();
if (configDir == "LTR")
{
QString::Direction textDir = node->getTextDir();
if (textDir == QString::DirMixed)
return QString::DirLTR;
return textDir;
}
if (configDir == "RTL")
{
QString::Direction textDir = node->getTextDir();
if (textDir == QString::DirMixed)
return QString::DirRTL;
return textDir;
}
return QString::DirNeutral;
}

QString::Direction getTextDirByConfig(const DocPara *para, int nodeIndex)
{
QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION);
if (configDir == "None")
return QString::DirNeutral;
if (configDir == "Context")
return para->getTextBasicDir(nodeIndex);
if (configDir == "LTR")
{
QString::Direction textDir = para->getTextDir(nodeIndex);
if (textDir == QString::DirMixed)
return QString::DirLTR;
return textDir;
}
if (configDir == "RTL")
{
QString::Direction textDir = para->getTextDir(nodeIndex);
if (textDir == QString::DirMixed)
return QString::DirRTL;
return textDir;
}
return QString::DirNeutral;
}

QCString getDirHtmlClassOfNode(QString::Direction textDir, const QCString &initValue)
{
QCString classFromDir;
if (textDir == QString::DirLTR)
classFromDir = "DocNodeLTR";
else if (textDir == QString::DirRTL)
classFromDir = "DocNodeRTL";
else
classFromDir = "";

if (initValue && !classFromDir.isEmpty())
return QCString(" class=\"") + initValue + " " + classFromDir + "\"";
if (initValue)
return QCString(" class=\"") + initValue + "\"";
if (!classFromDir.isEmpty())
return QCString(" class=\"") + classFromDir + "\"";
return "";
}

QCString getDirHtmlClassOfPage(QCString pageTitle)
{
QCString result = "";
result += " class=\"PageDoc";
QString::Direction titleDir = getTextDirByConfig(pageTitle);
if (titleDir == QString::DirLTR)
result += " PageDocLTR-title";
else if (titleDir == QString::DirRTL)
result += " PageDocRTL-title";
result += "\"";
return result;
}

QCString getHtmlDirEmbeddingChar(QString::Direction textDir)
{
if (textDir == QString::DirLTR)
return "&#x202A;";
if (textDir == QString::DirRTL)
return "&#x202B;";
return "";
}

QCString getJsDirEmbeddingChar(QString::Direction textDir)
{
if (textDir == QString::DirLTR)
return "\\u202A";
if (textDir == QString::DirRTL)
return "\\u202B";
return "";
}
//---------------------------------------------------------------------------

DocRoot *validatingParseDoc(const char *fileName,int startLine,
Expand Down
53 changes: 2 additions & 51 deletions src/docparser.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <vector>
#include <memory>

#include <qstring.h>
#include <qcstring.h>

#include "docvisitor.h"
Expand All @@ -35,15 +34,6 @@ class Definition;
class MemberGroup;

//---------------------------------------------------------------------------
QString::Direction getTextDirByConfig(const QString &text);
QString::Direction getTextDirByConfig(const DocNode *node);
QString::Direction getTextDirByConfig(const DocPara *para, int nodeIndex);
QCString getDirHtmlClassOfNode(QString::Direction textDir, const QCString &initValue="");
QCString getDirHtmlClassOfPage(QCString pageTitle);
QCString getHtmlDirEmbeddingChar(QString::Direction textDir);
QCString getJsDirEmbeddingChar(QString::Direction textDir);
//---------------------------------------------------------------------------


/*! Main entry point for the documentation parser.
* @param fileName File in which the documentation block is found (or the
Expand Down Expand Up @@ -170,8 +160,8 @@ class DocNode
/*! Returns TRUE iff this node is inside a preformatted section */
bool isPreformatted() const { return m_insidePre; }

virtual QString::Direction getTextDir() const { return QString::DirNeutral; }
virtual QString::Direction getTextBasicDir() const { return QString::DirNeutral; }
//virtual QString::Direction getTextDir() const { return QString::DirNeutral; }
//virtual QString::Direction getTextBasicDir() const { return QString::DirNeutral; }

protected:
/*! Sets whether or not this item is inside a preformatted section */
Expand Down Expand Up @@ -200,39 +190,6 @@ class CompAccept : public DocNode
}
const DocNodeList &children() const { return m_children; }
DocNodeList &children() { return m_children; }
QString::Direction getTextDir(uint nodeIndex) const
{
unsigned char resultDir = QString::DirNeutral;
for (const auto &node : m_children)
{
resultDir |= (unsigned char)node->getTextDir();
if (resultDir == QString::DirMixed)
{
return QString::DirMixed;
}
}
return static_cast<QString::Direction>(resultDir);
}
QString::Direction getTextBasicDir(uint nodeIndex) const
{
for (const auto &node : m_children)
{
QString::Direction nodeDir = node->getTextBasicDir();
if (nodeDir != QString::DirNeutral)
{
return nodeDir;
}
}
return QString::DirNeutral;
}
virtual QString::Direction getTextDir() const
{
return getTextDir(0);
}
virtual QString::Direction getTextBasicDir() const
{
return getTextBasicDir(0);
}

protected:
DocNodeList m_children;
Expand All @@ -248,8 +205,6 @@ class DocWord : public DocNode
QCString word() const { return m_word; }
Kind kind() const { return Kind_Word; }
void accept(DocVisitor *v) { v->visit(this); }
virtual QString::Direction getTextDir() const { return QString(word()).direction(); };
virtual QString::Direction getTextBasicDir() const { return QString(word()).basicDirection(); };

private:
QCString m_word;
Expand All @@ -271,8 +226,6 @@ class DocLinkedWord : public DocNode
QCString anchor() const { return m_anchor; }
QCString tooltip() const { return m_tooltip; }
void accept(DocVisitor *v) { v->visit(this); }
virtual QString::Direction getTextDir() const { return QString(word()).direction(); };
virtual QString::Direction getTextBasicDir() const { return QString(word()).basicDirection(); };

private:
QCString m_word;
Expand All @@ -293,8 +246,6 @@ class DocURL : public DocNode
Kind kind() const { return Kind_URL; }
void accept(DocVisitor *v) { v->visit(this); }
bool isEmail() const { return m_isEmail; }
virtual QString::Direction getTextDir() const { return QString::DirLTR; };
virtual QString::Direction getTextBasicDir() const { return QString::DirLTR; };

private:
QCString m_url;
Expand Down
1 change: 0 additions & 1 deletion src/doctokenizer.l
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
#include <string>

#include <qfile.h>
#include <qstring.h>

#include "doctokenizer.h"
#include "cmdmapper.h"
Expand Down
10 changes: 4 additions & 6 deletions src/doxygen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,22 @@
*
*/

#include <chrono>
#include <clocale>
#include <locale>

#include <qfileinfo.h>
#include <qfile.h>
#include <qdir.h>

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <qtextcodec.h>
#include <errno.h>

#include <algorithm>
#include <unordered_map>
#include <memory>
#include <cinttypes>
#include <chrono>
#include <clocale>
#include <locale>

#include "version.h"
#include "doxygen.h"
Expand Down Expand Up @@ -11951,7 +11950,6 @@ void generateOutput()
thisDir.remove(Doxygen::filterDBFileName);
finishWarnExit();
Config::deinit();
QTextCodec::deleteAllCodecs();
delete Doxygen::clangUsrMap;
g_successfulRun=TRUE;
}
1 change: 0 additions & 1 deletion src/ftextstream.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#include <stdio.h>

#include <qiodevice.h>
#include <qstring.h>
#include <qgstring.h>

/** @brief Simplified and optimized version of QTextStream */
Expand Down
Loading

0 comments on commit bb89b81

Please sign in to comment.