diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-12-06 12:16:45 +0100 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2011-01-04 15:58:22 +0100 |
commit | 0edd253b615b485913d2bbb504a146f6aaa89c04 (patch) | |
tree | 9c003a537c7bf3ee9b0b5982b52423a8ea79830c /src/shared/cplusplus/Symbols.h | |
parent | 633c254986477e1bf4259d7b316a47eb0d1fa806 (diff) |
C++: Add QtPropertyDeclaration symbol.
Reviewed-by: Roberto Raggi
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: |