diff options
Diffstat (limited to 'src/shared/cplusplus/Symbols.h')
-rw-r--r-- | src/shared/cplusplus/Symbols.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Symbols.h b/src/shared/cplusplus/Symbols.h index e7a2dec704..7de9b2249e 100644 --- a/src/shared/cplusplus/Symbols.h +++ b/src/shared/cplusplus/Symbols.h @@ -520,6 +520,52 @@ private: std::vector<BaseClass *> _baseClasses; }; +class CPLUSPLUS_EXPORT QtPropertyDeclaration: public Symbol +{ +public: + enum Flag { + ReadFunction = 1 << 0, + WriteFunction = 1 << 1, + ResetFunction = 1 << 2, + NotifyFunction = 1 << 3, + DesignableFlag = 1 << 4, + DesignableFunction = 1 << 5, + ScriptableFlag = 1 << 6, + ScriptableFunction = 1 << 7, + StoredFlag = 1 << 8, + StoredFunction = 1 << 9, + UserFlag = 1 << 10, + UserFunction = 1 << 11, + ConstantFlag = 1 << 12, + FinalFlag = 1 << 13, + }; + +public: + QtPropertyDeclaration(TranslationUnit *translationUnit, unsigned sourceLocation, const Name *name); + virtual ~QtPropertyDeclaration(); + + void setType(const FullySpecifiedType &type); + + void setFlags(int flags); + int flags() const; + + // Symbol's interface + virtual FullySpecifiedType type() const; + + virtual const QtPropertyDeclaration *asQtPropertyDeclaration() const + { return this; } + + virtual QtPropertyDeclaration *asQtPropertyDeclaration() + { return this; } + +protected: + virtual void visitSymbol0(SymbolVisitor *visitor); + +private: + FullySpecifiedType _type; + int _flags; +}; + class CPLUSPLUS_EXPORT ObjCBaseClass: public Symbol { public: |