summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/ASTVisit.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-24 12:54:25 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-24 13:49:02 +0100
commit8329d7db943bef3f7929d3802fc31f60e314e179 (patch)
treedabef77315dda11ce9f01250e788a4b5e044a9a4 /src/shared/cplusplus/ASTVisit.cpp
parent35be3a9f6c916ddb087628d66bb4bb4e76a1daa5 (diff)
downloadqt-creator-8329d7db943bef3f7929d3802fc31f60e314e179.tar.gz
Recognize C++0x lambda expressions.
Diffstat (limited to 'src/shared/cplusplus/ASTVisit.cpp')
-rw-r--r--src/shared/cplusplus/ASTVisit.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/shared/cplusplus/ASTVisit.cpp b/src/shared/cplusplus/ASTVisit.cpp
index 8216f87b48..9e3b249ef3 100644
--- a/src/shared/cplusplus/ASTVisit.cpp
+++ b/src/shared/cplusplus/ASTVisit.cpp
@@ -1159,3 +1159,57 @@ void ObjCSynchronizedStatementAST::accept0(ASTVisitor *visitor)
visitor->endVisit(this);
}
+void LambdaExpressionAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ accept(lambda_introducer, visitor);
+ accept(lambda_declarator, visitor);
+ accept(statement, visitor);
+ }
+ visitor->endVisit(this);
+}
+
+void LambdaIntroducerAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ accept(lambda_capture, visitor);
+ }
+ visitor->endVisit(this);
+}
+
+void LambdaCaptureAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ accept(capture_list, visitor);
+ }
+ visitor->endVisit(this);
+}
+
+void CaptureAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ }
+ visitor->endVisit(this);
+}
+
+void LambdaDeclaratorAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ accept(parameter_declaration_clause, visitor);
+ accept(attributes, visitor);
+ accept(exception_specification, visitor);
+ accept(trailing_return_type, visitor);
+ }
+ visitor->endVisit(this);
+}
+
+void TrailingReturnTypeAST::accept0(ASTVisitor *visitor)
+{
+ if (visitor->visit(this)) {
+ accept(attributes, visitor);
+ accept(type_specifiers, visitor);
+ accept(declarator, visitor);
+ }
+ visitor->endVisit(this);
+}
+