diff options
Diffstat (limited to 'src/shared/cplusplus/Parser.h')
-rw-r--r-- | src/shared/cplusplus/Parser.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/shared/cplusplus/Parser.h b/src/shared/cplusplus/Parser.h index 3ca3371d81..d9ccf6ab49 100644 --- a/src/shared/cplusplus/Parser.h +++ b/src/shared/cplusplus/Parser.h @@ -54,7 +54,6 @@ #include "Token.h" #include "TranslationUnit.h" - namespace CPlusPlus { class CPLUSPLUS_EXPORT Parser @@ -287,6 +286,17 @@ private: inline void rewind(unsigned cursor) { _tokenIndex = cursor; } + struct TemplateArgumentListEntry { + unsigned index; + unsigned cursor; + TemplateArgumentListAST *ast; + + TemplateArgumentListEntry(unsigned index = 0, unsigned cursor = 0, TemplateArgumentListAST *ast = 0) + : index(index), cursor(cursor), ast(ast) {} + }; + + TemplateArgumentListEntry *templateArgumentListEntry(unsigned tokenIndex); + private: TranslationUnit *_translationUnit; Control *_control; @@ -298,6 +308,11 @@ private: bool _inFunctionBody: 1; bool _inObjCImplementationContext: 1; + Array<TemplateArgumentListEntry> _templateArgumentList; + + class Rewind; + friend class Rewind; + private: Parser(const Parser& source); void operator =(const Parser& source); |