diff options
Diffstat (limited to 'src/libs/3rdparty/cplusplus/AST.h')
-rw-r--r-- | src/libs/3rdparty/cplusplus/AST.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/AST.h b/src/libs/3rdparty/cplusplus/AST.h index f3eb70aa4a..a03f5b5f82 100644 --- a/src/libs/3rdparty/cplusplus/AST.h +++ b/src/libs/3rdparty/cplusplus/AST.h @@ -195,6 +195,7 @@ public: virtual LinkageSpecificationAST *asLinkageSpecification() { return nullptr; } virtual MemInitializerAST *asMemInitializer() { return nullptr; } virtual MemberAccessAST *asMemberAccess() { return nullptr; } + virtual MsvcDeclspecSpecifierAST *asMsvcDeclspecSpecifier() { return nullptr; } virtual NameAST *asName() { return nullptr; } virtual NamedTypeSpecifierAST *asNamedTypeSpecifier() { return nullptr; } virtual NamespaceAST *asNamespace() { return nullptr; } @@ -265,6 +266,7 @@ public: virtual SpecifierAST *asSpecifier() { return nullptr; } virtual StatementAST *asStatement() { return nullptr; } virtual StaticAssertDeclarationAST *asStaticAssertDeclaration() { return nullptr; } + virtual StdAttributeSpecifierAST *asStdAttributeSpecifier() { return nullptr; } virtual StringLiteralAST *asStringLiteral() { return nullptr; } virtual SwitchStatementAST *asSwitchStatement() { return nullptr; } virtual TemplateDeclarationAST *asTemplateDeclaration() { return nullptr; } @@ -475,6 +477,49 @@ protected: virtual bool match0(AST *, ASTMatcher *); }; +class CPLUSPLUS_EXPORT MsvcDeclspecSpecifierAST: public AttributeSpecifierAST +{ +public: + int attribute_token = 0; + int lparen_token = 0; + GnuAttributeListAST *attribute_list = nullptr; + int rparen_token = 0; + +public: + virtual MsvcDeclspecSpecifierAST *asMsvcDeclspecSpecifier() { return this; } + + virtual int firstToken() const; + virtual int lastToken() const; + + virtual MsvcDeclspecSpecifierAST *clone(MemoryPool *pool) const; + +protected: + virtual void accept0(ASTVisitor *visitor); + virtual bool match0(AST *, ASTMatcher *); +}; + +class CPLUSPLUS_EXPORT StdAttributeSpecifierAST: public AttributeSpecifierAST +{ +public: + int first_lbracket_token = 0; + int second_lbracket_token = 0; + GnuAttributeListAST *attribute_list = nullptr; + int first_rbracket_token = 0; + int second_rbracket_token = 0; + +public: + virtual StdAttributeSpecifierAST *asStdAttributeSpecifier() { return this; } + + virtual int firstToken() const; + virtual int lastToken() const; + + virtual StdAttributeSpecifierAST *clone(MemoryPool *pool) const; + +protected: + virtual void accept0(ASTVisitor *visitor); + virtual bool match0(AST *, ASTMatcher *); +}; + class CPLUSPLUS_EXPORT GnuAttributeAST: public AST { public: @@ -1610,6 +1655,7 @@ class CPLUSPLUS_EXPORT IfStatementAST: public StatementAST { public: int if_token = 0; + int constexpr_token = 0; int lparen_token = 0; ExpressionAST *condition = nullptr; int rparen_token = 0; |