C++: Add QtPropertyDeclaration symbol.

Reviewed-by: Roberto Raggi
This commit is contained in:
Christian Kamm
2010-12-06 12:16:45 +01:00
parent 633c254986
commit 0edd253b61
9 changed files with 154 additions and 12 deletions

View File

@@ -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: