C++: Fix handling of Objective-C/C++

- Objective C/C++ was not enabled in highlighter.
- QMake project part for Objective C/C++ did not have ObjectiveC extension enabled.
- As languageFeatures.objCEnabled is a bitfield, it was actually always set to 0.
- Highlight ObjC class & protocol declarations.
- Highlight ObjC message passing.

Change-Id: I64d12c9509058d05f7adce94598cb7ce91727ac8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Francois Ferrand
2016-09-12 13:42:42 +02:00
parent 8f0ddff1cc
commit 38ae5aec10
7 changed files with 70 additions and 2 deletions

View File

@@ -154,6 +154,12 @@ protected:
virtual bool visit(CPlusPlus::ElaboratedTypeSpecifierAST *ast);
virtual bool visit(CPlusPlus::ObjCProtocolDeclarationAST *ast);
virtual bool visit(CPlusPlus::ObjCProtocolForwardDeclarationAST *ast);
virtual bool visit(CPlusPlus::ObjCClassDeclarationAST *ast);
virtual bool visit(CPlusPlus::ObjCClassForwardDeclarationAST *ast);
virtual bool visit(CPlusPlus::ObjCProtocolRefsAST *ast);
virtual bool visit(CPlusPlus::SimpleNameAST *ast);
virtual bool visit(CPlusPlus::DestructorNameAST *ast);
virtual bool visit(CPlusPlus::QualifiedNameAST *ast);
@@ -161,6 +167,7 @@ protected:
virtual bool visit(CPlusPlus::MemberAccessAST *ast);
virtual bool visit(CPlusPlus::CallAST *ast);
virtual bool visit(CPlusPlus::ObjCSelectorArgumentAST *ast);
virtual bool visit(CPlusPlus::NewExpressionAST *ast);
virtual bool visit(CPlusPlus::GotoStatementAST *ast);