diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-07-29 10:06:33 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-07-29 10:06:33 (GMT) |
commit | 11468d1086315c2d4f77f3747488e423d499bf56 (patch) | |
tree | 4ee4c62b9de4f4810972f065b77537c8126384fa /tools/qdoc3/cppcodeparser.cpp | |
parent | dbaaece5f5e27503b3b6703265f2b2bd63147b82 (diff) | |
parent | 84294f47e55073914bcbcdbaf85df1a0e2e2d845 (diff) | |
download | Qt-11468d1086315c2d4f77f3747488e423d499bf56.zip Qt-11468d1086315c2d4f77f3747488e423d499bf56.tar.gz Qt-11468d1086315c2d4f77f3747488e423d499bf56.tar.bz2 |
Merge branch 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: (407 commits)
Cherry pick fix for MOBILITY-1234 from Qt Mobility.
Cherry pick fix for QTMOBILITY-408 from Qt Mobility.
Cherry pick fix for MOBILITY-1194 from Qt Mobility.
Fix compilation error on Symbian^4.
Fix detection of OCC functionality.
Cherry pick fix for MOBILITY-1194 from Qt Mobility.
Fix signal emission of QDesktopWidget on Symbian.
Don't run the QGL test on systems that does not have GL support.
Adding missing image
Fixed gcce linker error when linking against s60main built by armcc.
Make it possible again to build Qt without webkit
Fixed plugin build key for Symbian builds under Linux.
Remove an useless assert from comp_func_SourceOver_sse2()
QScriptEngineAgent: recompile all the function when installing a debugger.
QScriptDeclarativeObject: we need to save the current stack pointer.
QScriptValue::objectId(): do not assert if the value is not a cell
Implement the composition mode "Plus" with SSE2
Clean the CompositionFunction tables of drawhelper
Fix QT_NO_DATESTRING
Check the gesturemanager pointer before accessing it.
...
Diffstat (limited to 'tools/qdoc3/cppcodeparser.cpp')
-rw-r--r-- | tools/qdoc3/cppcodeparser.cpp | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp index e4870e3..a120e45 100644 --- a/tools/qdoc3/cppcodeparser.cpp +++ b/tools/qdoc3/cppcodeparser.cpp @@ -728,23 +728,12 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc, if (n) classNode = static_cast<const ClassNode*>(n); } - if (names[0].startsWith("Q")) + if (names[0].startsWith("Qt")) return new QmlClassNode(tre->root(), QLatin1String("QML:")+names[0], classNode); else return new QmlClassNode(tre->root(), names[0], classNode); } else if (command == COMMAND_QMLBASICTYPE) { -#if 0 - QStringList parts = arg.split(" "); - qDebug() << command << parts; - if (parts.size() > 1) { - FakeNode* pageNode = static_cast<FakeNode*>(tre->root()->findNode(parts[1], Node::Fake)); - if (pageNode) { - qDebug() << "FOUND"; - return new QmlBasicTypeNode(pageNode, parts[0]); - } - } -#endif return new QmlBasicTypeNode(tre->root(), arg); } else if ((command == COMMAND_QMLSIGNAL) || @@ -755,7 +744,7 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc, QString type; QmlClassNode* qmlClass = 0; if (splitQmlMethodArg(doc,arg,type,element)) { - if (element.startsWith(QLatin1String("Q"))) + if (element.startsWith(QLatin1String("Qt"))) element = QLatin1String("QML:") + element; Node* n = tre->findNode(QStringList(element),Node::Fake); if (n && n->subType() == Node::QmlClass) { @@ -1131,6 +1120,17 @@ bool CppCodeParser::match(int target) } /*! + Skip to \a target. If \a target is found before the end + of input, return true. Otherwise return false. + */ +bool CppCodeParser::skipTo(int target) +{ + while ((tok != Tok_Eoi) && (tok != target)) + readToken(); + return (tok == target ? true : false); +} + +/*! If the current token is one of the keyword thingees that are used in Qt, skip over it to the next token and return true. Otherwise just return false without reading the @@ -1373,7 +1373,9 @@ bool CppCodeParser::matchFunctionDecl(InnerNode *parent, if (!matchDataType(&returnType)) { if (tokenizer->parsingFnOrMacro() - && (match(Tok_Q_DECLARE_FLAGS) || match(Tok_Q_PROPERTY))) + && (match(Tok_Q_DECLARE_FLAGS) || + match(Tok_Q_PROPERTY) || + match(Tok_Q_PRIVATE_PROPERTY))) returnType = CodeChunk(previousLexeme()); else { return false; @@ -1807,11 +1809,19 @@ bool CppCodeParser::matchTypedefDecl(InnerNode *parent) bool CppCodeParser::matchProperty(InnerNode *parent) { - if (!match(Tok_Q_PROPERTY) && - !match(Tok_Q_OVERRIDE) && - !match(Tok_QDOC_PROPERTY)) + int expected_tok = Tok_LeftParen; + if (match(Tok_Q_PRIVATE_PROPERTY)) { + expected_tok = Tok_Comma; + if (!skipTo(Tok_Comma)) + return false; + } + else if (!match(Tok_Q_PROPERTY) && + !match(Tok_Q_OVERRIDE) && + !match(Tok_QDOC_PROPERTY)) { return false; - if (!match(Tok_LeftParen)) + } + + if (!match(expected_tok)) return false; QString name; @@ -1960,6 +1970,7 @@ bool CppCodeParser::matchDeclList(InnerNode *parent) break; case Tok_Q_OVERRIDE: case Tok_Q_PROPERTY: + case Tok_Q_PRIVATE_PROPERTY: case Tok_QDOC_PROPERTY: matchProperty(parent); break; |