Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
33bf1525
Commit
33bf1525
authored
Dec 15, 2008
by
dt
Browse files
Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
parents
bedca00d
011049dd
Changes
5
Hide whitespace changes
Inline
Side-by-side
shared/cplusplus/Parser.cpp
View file @
33bf1525
...
...
@@ -1760,7 +1760,7 @@ bool Parser::parseReturnStatement(StatementAST *&node)
return
false
;
}
bool
Parser
::
maybeFunctionCall
(
SimpleDeclarationAST
*
simpleDecl
)
bool
Parser
::
maybeFunctionCall
(
SimpleDeclarationAST
*
simpleDecl
)
const
{
if
(
!
simpleDecl
)
return
false
;
...
...
@@ -1798,6 +1798,17 @@ bool Parser::maybeFunctionCall(SimpleDeclarationAST *simpleDecl)
return
true
;
}
bool
Parser
::
maybeSimpleExpression
(
SimpleDeclarationAST
*
simpleDecl
)
const
{
if
(
!
simpleDecl
->
declarators
)
{
SpecifierAST
*
spec
=
simpleDecl
->
decl_specifier_seq
;
if
(
spec
&&
!
spec
->
next
&&
spec
->
asNamedTypeSpecifier
())
{
return
true
;
}
}
return
false
;
}
bool
Parser
::
parseExpressionOrDeclarationStatement
(
StatementAST
*&
node
)
{
if
(
LA
()
==
T_SEMICOLON
)
...
...
@@ -1810,7 +1821,9 @@ bool Parser::parseExpressionOrDeclarationStatement(StatementAST *&node)
SimpleDeclarationAST
*
simpleDecl
=
0
;
if
(
stmt
->
declaration
)
simpleDecl
=
stmt
->
declaration
->
asSimpleDeclaration
();
if
(
simpleDecl
&&
simpleDecl
->
decl_specifier_seq
&&
!
maybeFunctionCall
(
simpleDecl
))
{
if
(
simpleDecl
&&
simpleDecl
->
decl_specifier_seq
&&
!
maybeFunctionCall
(
simpleDecl
)
&&
!
maybeSimpleExpression
(
simpleDecl
))
{
unsigned
end_of_declaration_statement
=
cursor
();
rewind
(
start
);
StatementAST
*
expression
=
0
;
...
...
@@ -1827,6 +1840,7 @@ bool Parser::parseExpressionOrDeclarationStatement(StatementAST *&node)
return
true
;
}
}
blockErrors
(
blocked
);
rewind
(
start
);
return
parseExpressionStatement
(
node
);
...
...
shared/cplusplus/Parser.h
View file @
33bf1525
...
...
@@ -220,7 +220,8 @@ public:
void
match
(
int
kind
,
unsigned
*
token
);
bool
maybeFunctionCall
(
SimpleDeclarationAST
*
simpleDecl
);
bool
maybeFunctionCall
(
SimpleDeclarationAST
*
simpleDecl
)
const
;
bool
maybeSimpleExpression
(
SimpleDeclarationAST
*
simpleDecl
)
const
;
private:
bool
switchTemplateArguments
(
bool
templateArguments
);
...
...
src/plugins/cpptools/cpptoolsplugin.cpp
View file @
33bf1525
...
...
@@ -87,7 +87,7 @@ bool CppToolsPlugin::initialize(const QStringList & /*arguments*/, QString *)
// Objects
m_modelManager
=
new
CppModelManager
(
this
);
addAutoReleasedObject
(
m_modelManager
);
CppCodeCompletion
*
m_completion
=
new
CppCodeCompletion
(
m_modelManager
,
m_core
);
m_completion
=
new
CppCodeCompletion
(
m_modelManager
,
m_core
);
addAutoReleasedObject
(
m_completion
);
CppQuickOpenFilter
*
quickOpenFilter
=
new
CppQuickOpenFilter
(
m_modelManager
,
m_core
->
editorManager
());
...
...
tests/auto/cplusplus/ast/tst_ast.cpp
View file @
33bf1525
...
...
@@ -31,6 +31,7 @@ public:
private
slots
:
void
if_statement
();
void
if_else_statement
();
void
cpp_initializer
();
};
void
tst_AST
::
if_statement
()
...
...
@@ -49,6 +50,16 @@ void tst_AST::if_statement()
QVERIFY
(
stmt
->
statement
!=
0
);
QCOMPARE
(
stmt
->
else_token
,
0U
);
QVERIFY
(
stmt
->
else_statement
==
0
);
// check the `then' statement
ExpressionStatementAST
*
then_stmt
=
stmt
->
statement
->
asExpressionStatement
();
QVERIFY
(
then_stmt
!=
0
);
QVERIFY
(
then_stmt
->
expression
!=
0
);
QCOMPARE
(
then_stmt
->
semicolon_token
,
6U
);
SimpleNameAST
*
id_expr
=
then_stmt
->
expression
->
asSimpleName
();
QVERIFY
(
id_expr
!=
0
);
QCOMPARE
(
id_expr
->
identifier_token
,
5U
);
}
void
tst_AST
::
if_else_statement
()
...
...
@@ -69,5 +80,13 @@ void tst_AST::if_else_statement()
QVERIFY
(
stmt
->
else_statement
!=
0
);
}
void
tst_AST
::
cpp_initializer
()
{
QSharedPointer
<
TranslationUnit
>
unit
(
parseStatement
(
"QFileInfo fileInfo(foo);"
));
AST
*
ast
=
unit
->
ast
();
QVERIFY
(
ast
!=
0
);
}
QTEST_APPLESS_MAIN
(
tst_AST
)
#include
"tst_ast.moc"
tests/auto/cplusplus/shared/shared.pri
View file @
33bf1525
DEFINES += HAVE_QT CPLUSPLUS_WITH_NAMESPACE
INCLUDEPATH += $$PWD/../../../../shared/cplusplus
DEPENDPATH += $$INCLUDEPATH .
LIBS += -L$$PWD -lCPlusPlusTestSupport
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment