summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qdoc3')
-rw-r--r--tools/qdoc3/codemarker.h2
-rw-r--r--tools/qdoc3/cppcodemarker.cpp9
-rw-r--r--tools/qdoc3/cppcodemarker.h4
-rw-r--r--tools/qdoc3/doc.cpp6
-rw-r--r--tools/qdoc3/htmlgenerator.cpp6
-rw-r--r--tools/qdoc3/htmlgenerator.h4
-rw-r--r--tools/qdoc3/jscodemarker.cpp12
-rw-r--r--tools/qdoc3/jscodemarker.h6
-rw-r--r--tools/qdoc3/plaincodemarker.cpp2
-rw-r--r--tools/qdoc3/plaincodemarker.h2
-rw-r--r--tools/qdoc3/qmlcodemarker.cpp15
-rw-r--r--tools/qdoc3/qmlcodemarker.h6
-rw-r--r--tools/qdoc3/quoter.cpp56
-rw-r--r--tools/qdoc3/quoter.h1
-rw-r--r--tools/qdoc3/test/compat.qdocconf8
-rw-r--r--tools/qdoc3/test/qt-cpp-ignore.qdocconf10
-rw-r--r--tools/qdoc3/test/qt-defines.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-html-default-styles.qdocconf8
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf21
-rw-r--r--tools/qdoc3/test/qt-project.qdocconf8
20 files changed, 92 insertions, 98 deletions
diff --git a/tools/qdoc3/codemarker.h b/tools/qdoc3/codemarker.h
index 029ddb9..3cf3984 100644
--- a/tools/qdoc3/codemarker.h
+++ b/tools/qdoc3/codemarker.h
@@ -126,7 +126,7 @@ class CodeMarker
const Node *relative = 0) = 0;
virtual QString markedUpCode(const QString& code,
const Node *relative,
- const QString& dirPath) = 0;
+ const Location &location) = 0;
virtual QString markedUpSynopsis(const Node *node,
const Node *relative,
SynopsisStyle style) = 0;
diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp
index 55a455f..8ea1c7f 100644
--- a/tools/qdoc3/cppcodemarker.cpp
+++ b/tools/qdoc3/cppcodemarker.cpp
@@ -157,9 +157,9 @@ QString CppCodeMarker::plainFullName(const Node *node, const Node *relative)
QString CppCodeMarker::markedUpCode(const QString &code,
const Node *relative,
- const QString &dirPath)
+ const Location &location)
{
- return addMarkUp(protect(code), relative, dirPath);
+ return addMarkUp(protect(code), relative, location);
}
QString CppCodeMarker::markedUpSynopsis(const Node *node,
@@ -440,7 +440,8 @@ QString CppCodeMarker::markedUpIncludes(const QStringList& includes)
code += "#include &lt;<@headerfile>" + *inc + "</@headerfile>&gt;\n";
++inc;
}
- return addMarkUp(code, 0, "");
+ Location location;
+ return addMarkUp(code, 0, location);
}
QString CppCodeMarker::functionBeginRegExp(const QString& funcName)
@@ -868,7 +869,7 @@ const Node *CppCodeMarker::resolveTarget(const QString& target,
QString CppCodeMarker::addMarkUp(const QString& protectedCode,
const Node * /* relative */,
- const QString& /* dirPath */)
+ const Location & /* location */)
{
static QRegExp globalInclude("#include +&lt;([^<>&]+)&gt;");
static QRegExp yHasTypeX("(?:^|\n *)([a-zA-Z_][a-zA-Z_0-9]*)"
diff --git a/tools/qdoc3/cppcodemarker.h b/tools/qdoc3/cppcodemarker.h
index 40695c5..bb307f9 100644
--- a/tools/qdoc3/cppcodemarker.h
+++ b/tools/qdoc3/cppcodemarker.h
@@ -63,7 +63,7 @@ class CppCodeMarker : public CodeMarker
virtual QString plainFullName(const Node *node, const Node *relative);
virtual QString markedUpCode(const QString& code,
const Node *relative,
- const QString& dirPath);
+ const Location &location);
virtual QString markedUpSynopsis(const Node *node,
const Node *relative,
SynopsisStyle style);
@@ -90,7 +90,7 @@ class CppCodeMarker : public CodeMarker
private:
QString addMarkUp(const QString& protectedCode,
const Node *relative,
- const QString& dirPath);
+ const Location &location);
};
QT_END_NAMESPACE
diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp
index ce9e30d..774f8ba 100644
--- a/tools/qdoc3/doc.cpp
+++ b/tools/qdoc3/doc.cpp
@@ -536,7 +536,7 @@ void DocParser::parse(const QString& source,
enterPara();
x = untabifyEtc(getArgument(true));
marker = CodeMarker::markerForCode(x);
- append(Atom::C, marker->markedUpCode(x, 0, ""));
+ append(Atom::C, marker->markedUpCode(x, 0, location()));
break;
case CMD_CAPTION:
leavePara();
@@ -2305,7 +2305,7 @@ QString DocParser::getCode(int cmd, CodeMarker *marker)
code = unindent(minIndent, code);
if (!marker)
marker = CodeMarker::markerForCode(code);
- return marker->markedUpCode(code, 0, "");
+ return marker->markedUpCode(code, 0, location());
}
/*!
@@ -3043,7 +3043,7 @@ CodeMarker *Doc::quoteFromFile(const Location &location,
CodeMarker *marker = CodeMarker::markerForFileName(fileName);
quoter.quoteFromFile(userFriendlyFilePath,
code,
- marker->markedUpCode(code, 0, dirPath));
+ marker->markedUpCode(code, 0, location));
return marker;
}
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 948a7d6..ebc2713 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -270,12 +270,6 @@ void HtmlGenerator::initializeGenerator(const Config &config)
postPostHeader = config.getString(HtmlGenerator::format() +
Config::dot +
HTMLGENERATOR_POSTPOSTHEADER);
- creatorPostHeader = config.getString(HtmlGenerator::format() +
- Config::dot +
- HTMLGENERATOR_CREATORPOSTHEADER);
- creatorPostPostHeader = config.getString(HtmlGenerator::format() +
- Config::dot +
- HTMLGENERATOR_CREATORPOSTPOSTHEADER);
footer = config.getString(HtmlGenerator::format() +
Config::dot +
HTMLGENERATOR_FOOTER);
diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h
index 8b5c50b..f5d2427 100644
--- a/tools/qdoc3/htmlgenerator.h
+++ b/tools/qdoc3/htmlgenerator.h
@@ -269,8 +269,6 @@ class HtmlGenerator : public PageGenerator
QString endHeader;
QString postHeader;
QString postPostHeader;
- QString creatorPostHeader;
- QString creatorPostPostHeader;
QString footer;
QString address;
bool pleaseGenerateMacRef;
@@ -309,8 +307,6 @@ class HtmlGenerator : public PageGenerator
#define HTMLGENERATOR_GENERATEMACREFS "generatemacrefs" // ### document me
#define HTMLGENERATOR_POSTHEADER "postheader"
#define HTMLGENERATOR_POSTPOSTHEADER "postpostheader"
-#define HTMLGENERATOR_CREATORPOSTHEADER "postheader"
-#define HTMLGENERATOR_CREATORPOSTPOSTHEADER "postpostheader"
QT_END_NAMESPACE
diff --git a/tools/qdoc3/jscodemarker.cpp b/tools/qdoc3/jscodemarker.cpp
index 84a28c6..80df0aa 100644
--- a/tools/qdoc3/jscodemarker.cpp
+++ b/tools/qdoc3/jscodemarker.cpp
@@ -103,14 +103,14 @@ bool JsCodeMarker::recognizeLanguage(const QString &language)
QString JsCodeMarker::markedUpCode(const QString &code,
const Node *relative,
- const QString &dirPath)
+ const Location &location)
{
- return addMarkUp(code, relative, dirPath);
+ return addMarkUp(code, relative, location);
}
QString JsCodeMarker::addMarkUp(const QString &code,
const Node * /* relative */,
- const QString & /* dirPath */)
+ const Location &location)
{
QDeclarativeJS::Engine engine;
QDeclarativeJS::Lexer lexer(&engine);
@@ -130,7 +130,13 @@ QString JsCodeMarker::addMarkUp(const QString &code,
QmlMarkupVisitor visitor(code, pragmas, &engine);
QDeclarativeJS::AST::Node::accept(ast, &visitor);
output = visitor.markedUpCode();
+ } else {
+ location.warning(tr("Unable to parse JavaScript: \"%1\" at line %2, column %3").arg(
+ parser.errorMessage()).arg(parser.errorLineNumber()).arg(
+ parser.errorColumnNumber()));
+ output = protect(code);
}
+
return output;
}
diff --git a/tools/qdoc3/jscodemarker.h b/tools/qdoc3/jscodemarker.h
index f7cb025..6d85063 100644
--- a/tools/qdoc3/jscodemarker.h
+++ b/tools/qdoc3/jscodemarker.h
@@ -62,11 +62,11 @@ public:
virtual QString markedUpCode(const QString &code,
const Node *relative,
- const QString &dirPath);
+ const Location &location);
private:
- QString addMarkUp(const QString &code, const Node * /* relative */,
- const QString & /* dirPath */);
+ QString addMarkUp(const QString &code, const Node *relative,
+ const Location &location);
};
QT_END_NAMESPACE
diff --git a/tools/qdoc3/plaincodemarker.cpp b/tools/qdoc3/plaincodemarker.cpp
index d825c13..9819593 100644
--- a/tools/qdoc3/plaincodemarker.cpp
+++ b/tools/qdoc3/plaincodemarker.cpp
@@ -78,7 +78,7 @@ QString PlainCodeMarker::plainFullName(const Node * /* node */, const Node * /*
QString PlainCodeMarker::markedUpCode( const QString& code,
const Node * /* relative */,
- const QString& /* dirPath */ )
+ const Location & /* location */ )
{
return protect( code );
}
diff --git a/tools/qdoc3/plaincodemarker.h b/tools/qdoc3/plaincodemarker.h
index 7afb88e..1c469a0 100644
--- a/tools/qdoc3/plaincodemarker.h
+++ b/tools/qdoc3/plaincodemarker.h
@@ -61,7 +61,7 @@ public:
bool recognizeLanguage( const QString& lang );
QString plainName( const Node *node );
QString plainFullName( const Node *node, const Node *relative );
- QString markedUpCode( const QString& code, const Node *relative, const QString& dirPath );
+ QString markedUpCode( const QString& code, const Node *relative, const Location &location );
QString markedUpSynopsis( const Node *node, const Node *relative,
SynopsisStyle style );
QString markedUpName( const Node *node );
diff --git a/tools/qdoc3/qmlcodemarker.cpp b/tools/qdoc3/qmlcodemarker.cpp
index 1e4ad1e..fc91cbb 100644
--- a/tools/qdoc3/qmlcodemarker.cpp
+++ b/tools/qdoc3/qmlcodemarker.cpp
@@ -134,9 +134,9 @@ QString QmlCodeMarker::plainFullName(const Node *node, const Node *relative)
QString QmlCodeMarker::markedUpCode(const QString &code,
const Node *relative,
- const QString &dirPath)
+ const Location &location)
{
- return addMarkUp(code, relative, dirPath);
+ return addMarkUp(code, relative, location);
}
QString QmlCodeMarker::markedUpName(const Node *node)
@@ -174,7 +174,8 @@ QString QmlCodeMarker::markedUpIncludes(const QStringList& includes)
code += "import " + *inc + "\n";
++inc;
}
- return protect(addMarkUp(code, 0, ""));
+ Location location;
+ return protect(addMarkUp(code, 0, location));
}
QString QmlCodeMarker::functionBeginRegExp(const QString& funcName)
@@ -190,7 +191,7 @@ QString QmlCodeMarker::functionEndRegExp(const QString& /* funcName */)
QString QmlCodeMarker::addMarkUp(const QString &code,
const Node * /* relative */,
- const QString & /* dirPath */)
+ const Location &location)
{
QDeclarativeJS::Engine engine;
QDeclarativeJS::Lexer lexer(&engine);
@@ -210,7 +211,13 @@ QString QmlCodeMarker::addMarkUp(const QString &code,
QmlMarkupVisitor visitor(code, pragmas, &engine);
QDeclarativeJS::AST::Node::accept(ast, &visitor);
output = visitor.markedUpCode();
+ } else {
+ location.warning(tr("Unable to parse QML: \"%1\" at line %2, column %3").arg(
+ parser.errorMessage()).arg(parser.errorLineNumber()).arg(
+ parser.errorColumnNumber()));
+ output = protect(code);
}
+
return output;
}
diff --git a/tools/qdoc3/qmlcodemarker.h b/tools/qdoc3/qmlcodemarker.h
index 68e6753..b1d365c 100644
--- a/tools/qdoc3/qmlcodemarker.h
+++ b/tools/qdoc3/qmlcodemarker.h
@@ -64,7 +64,7 @@ public:
virtual QString plainFullName(const Node *node, const Node *relative);
virtual QString markedUpCode(const QString &code,
const Node *relative,
- const QString &dirPath);
+ const Location &location);
virtual QString markedUpName(const Node *node);
virtual QString markedUpFullName(const Node *node, const Node *relative);
@@ -76,8 +76,8 @@ public:
QList<QDeclarativeJS::AST::SourceLocation> extractPragmas(QString &script);
private:
- QString addMarkUp(const QString &code, const Node * /* relative */,
- const QString & /* dirPath */);
+ QString addMarkUp(const QString &code, const Node *relative,
+ const Location &location);
};
QT_END_NAMESPACE
diff --git a/tools/qdoc3/quoter.cpp b/tools/qdoc3/quoter.cpp
index 84c6fb1..8e08e9a 100644
--- a/tools/qdoc3/quoter.cpp
+++ b/tools/qdoc3/quoter.cpp
@@ -248,21 +248,8 @@ QString Quoter::quoteSnippet(const Location &docLocation, const QString &identif
}
return t;
}
- // Remove special macros to support Qt namespacing.
- if (line.startsWith("QT_BEGIN_NAMESPACE")) {
- getLine();
- } else if (line.startsWith("QT_END_NAMESPACE")) {
- getLine();
- t += QLatin1Char('\n');
- } else if (!line.startsWith(comment)) {
- // Ordinary code
- t += getLine();
- } else {
- // Normal comments
- if (line.contains(QLatin1Char('\n')))
- t += QLatin1Char('\n');
- getLine();
- }
+
+ t += removeSpecialLines(line, comment);
}
failedAtEnd(docLocation, QString("snippet (%1)").arg(delimiter));
return t;
@@ -277,21 +264,7 @@ QString Quoter::quoteTo( const Location& docLocation, const QString& command,
if ( pattern.isEmpty() ) {
while ( !plainLines.isEmpty() ) {
QString line = plainLines.first();
- // Remove special macros to support Qt namespacing.
- if (line.startsWith("QT_BEGIN_NAMESPACE")) {
- getLine();
- } else if (line.startsWith("QT_END_NAMESPACE")) {
- getLine();
- t += QLatin1Char('\n');
- } else if (!line.startsWith(comment))
- // Ordinary code
- t += getLine();
- else {
- // Normal comments
- if (line.contains(QLatin1Char('\n')))
- t += QLatin1Char('\n');
- getLine();
- }
+ t += removeSpecialLines(line, comment);
}
} else {
while ( !plainLines.isEmpty() ) {
@@ -369,4 +342,27 @@ QString Quoter::commentForCode() const
return commentHash.value(suffix, "//!");
}
+QString Quoter::removeSpecialLines(const QString &line, const QString &comment)
+{
+ QString t;
+
+ // Remove special macros to support Qt namespacing.
+ QString trimmed = line.trimmed();
+ if (trimmed.startsWith("QT_BEGIN_NAMESPACE")) {
+ getLine();
+ } else if (trimmed.startsWith("QT_END_NAMESPACE")) {
+ getLine();
+ t += QLatin1Char('\n');
+ } else if (!trimmed.startsWith(comment)) {
+ // Ordinary code
+ t += getLine();
+ } else {
+ // Comments
+ if (line.contains(QLatin1Char('\n')))
+ t += QLatin1Char('\n');
+ getLine();
+ }
+ return t;
+}
+
QT_END_NAMESPACE
diff --git a/tools/qdoc3/quoter.h b/tools/qdoc3/quoter.h
index d984194..e1728d1 100644
--- a/tools/qdoc3/quoter.h
+++ b/tools/qdoc3/quoter.h
@@ -75,6 +75,7 @@ private:
bool match( const Location& docLocation, const QString& pattern,
const QString& line );
QString commentForCode() const;
+ QString removeSpecialLines(const QString &line, const QString &comment);
bool silent;
bool validRegExp;
diff --git a/tools/qdoc3/test/compat.qdocconf b/tools/qdoc3/test/compat.qdocconf
index 5745ed9..0b59629 100644
--- a/tools/qdoc3/test/compat.qdocconf
+++ b/tools/qdoc3/test/compat.qdocconf
@@ -1,5 +1,5 @@
-alias.i = e
-alias.include = input
+alias.i = e
+alias.include = input
macro.0 = "\\\\0"
macro.b = "\\\\b"
@@ -27,5 +27,5 @@ macro.img = "\\image"
macro.endquote = "\\endquotation"
macro.relatesto = "\\relates"
-spurious = "Missing comma in .*" \
- "Missing pattern .*"
+spurious = "Missing comma in .*" \
+ "Missing pattern .*"
diff --git a/tools/qdoc3/test/qt-cpp-ignore.qdocconf b/tools/qdoc3/test/qt-cpp-ignore.qdocconf
index 5d52a47..044eef4 100644
--- a/tools/qdoc3/test/qt-cpp-ignore.qdocconf
+++ b/tools/qdoc3/test/qt-cpp-ignore.qdocconf
@@ -71,8 +71,8 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \
QT_END_INCLUDE_NAMESPACE \
PHONON_EXPORT \
Q_DECLARATIVE_EXPORT \
- Q_GADGET \
- QWEBKIT_EXPORT \
+ Q_GADGET \
+ QWEBKIT_EXPORT \
Q_INVOKABLE
Cpp.ignoredirectives = Q_DECLARE_HANDLE \
Q_DECLARE_INTERFACE \
@@ -93,6 +93,6 @@ Cpp.ignoredirectives = Q_DECLARE_HANDLE \
K_DECLARE_PRIVATE \
PHONON_OBJECT \
PHONON_HEIR \
- Q_PRIVATE_PROPERTY \
- Q_DECLARE_PRIVATE_D \
- Q_CLASSINFO
+ Q_PRIVATE_PROPERTY \
+ Q_DECLARE_PRIVATE_D \
+ Q_CLASSINFO
diff --git a/tools/qdoc3/test/qt-defines.qdocconf b/tools/qdoc3/test/qt-defines.qdocconf
index bf7fd08..50a355f 100644
--- a/tools/qdoc3/test/qt-defines.qdocconf
+++ b/tools/qdoc3/test/qt-defines.qdocconf
@@ -3,12 +3,12 @@ defines = Q_QDOC \
QT_.*_LIB \
QT_COMPAT \
QT_KEYPAD_NAVIGATION \
- QT_NO_EGL \
+ QT_NO_EGL \
QT3_SUPPORT \
Q_WS_.* \
Q_OS_.* \
Q_BYTE_ORDER \
- QT_DEPRECATED \
+ QT_DEPRECATED \
Q_NO_USING_KEYWORD \
__cplusplus
diff --git a/tools/qdoc3/test/qt-html-default-styles.qdocconf b/tools/qdoc3/test/qt-html-default-styles.qdocconf
index c9c02ea..d37ef5d 100644
--- a/tools/qdoc3/test/qt-html-default-styles.qdocconf
+++ b/tools/qdoc3/test/qt-html-default-styles.qdocconf
@@ -4,7 +4,7 @@
HTML.templatedir = $QT_SOURCE_TREE/doc/src/template
-HTML.stylesheets = style/style.css
+HTML.stylesheets = style/offline.css
HTML.scripts =
@@ -19,14 +19,14 @@ extraimages.HTML = qt-logo.png \
bullet_up.png \
horBar.png \
sprites-combined.png
-
+
# Include the style sheets and scripts used.
HTML.headerstyles = \
- " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style.css\" />\n"
+ " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/offline.css\" />\n"
HTML.headerscripts =
HTML.endheader = \
"</head>\n" \
- "<body class=\"offline creator\">\n"
+ "<body>\n"
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index 8241fa0..12588f9 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -1,26 +1,19 @@
include(qt-html-default-styles.qdocconf)
HTML.postheader = \
- " <div class=\"header\" id=\"qtdocheader\">\n" \
+ "<div class=\"header\" id=\"qtdocheader\">\n" \
" <div class=\"content\"> \n" \
- " <div id=\"nav-logo\">\n" \
- " <a href=\"index.html\">Home</a>\n" \
- " </div>\n" \
" <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \
" </div>\n" \
- " <div class=\"wrap\">\n" \
- " <div class=\"toolbar\">\n" \
- " <div class=\"breadcrumb toolblock\">\n" \
- " <ul>\n" \
- " <li class=\"first\"><a href=\"index.html\">Home</a></li>\n" \
- " <!-- Breadcrumbs go here -->\n"
+ " <div class=\"breadcrumb toolblock\">\n" \
+ " <ul>\n" \
+ " <li class=\"first\"><a href=\"index.html\">Home</a></li>\n" \
+ " <!-- Breadcrumbs go here -->\n"
HTML.postpostheader = \
- " </ul>\n" \
- " </div>\n" \
- " </div>\n" \
+ " </ul>\n" \
" </div>\n" \
- " </div>\n" \
+ "</div>\n" \
"<div class=\"content mainContent\">\n"
HTML.footer = \
diff --git a/tools/qdoc3/test/qt-project.qdocconf b/tools/qdoc3/test/qt-project.qdocconf
index 135fbbb..ca7caa9 100644
--- a/tools/qdoc3/test/qt-project.qdocconf
+++ b/tools/qdoc3/test/qt-project.qdocconf
@@ -6,7 +6,7 @@ include(qt-defines.qdocconf)
project = Qt
description = Qt Reference Documentation
url = http://qt.nokia.com/doc/4.7
-version = 4.7.1
+version = 4.7.2
sourceencoding = UTF-8
outputencoding = UTF-8
@@ -20,9 +20,9 @@ qhp.Qt.virtualFolder = qdoc
qhp.Qt.indexTitle = Qt Reference Documentation
qhp.Qt.indexRoot =
-qhp.Qt.filterAttributes = qt 4.7.1 qtrefdoc
-qhp.Qt.customFilters.Qt.name = Qt 4.7.1
-qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.1
+qhp.Qt.filterAttributes = qt 4.7.2 qtrefdoc
+qhp.Qt.customFilters.Qt.name = Qt 4.7.2
+qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.2
qhp.Qt.subprojects = classes overviews examples
qhp.Qt.subprojects.classes.title = Classes
qhp.Qt.subprojects.classes.indexTitle = Qt's Classes