summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Symbols.h
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2009-02-09 17:11:23 +0100
committerhjk <qtc-committer@nokia.com>2009-02-09 17:11:23 +0100
commitce22a96041ed7a61b09ea9596f415d30d67e68f1 (patch)
tree3469ec74c2bd7b928354fda9abdb9fe3d33639d8 /src/shared/cplusplus/Symbols.h
parent65638f7cc2c60b9ae8ece542f5e262268ef22577 (diff)
parent17d047ced8966bb377a0937a35ab299f86e654a6 (diff)
downloadqt-creator-ce22a96041ed7a61b09ea9596f415d30d67e68f1.tar.gz
Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
Diffstat (limited to 'src/shared/cplusplus/Symbols.h')
-rw-r--r--src/shared/cplusplus/Symbols.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Symbols.h b/src/shared/cplusplus/Symbols.h
index c69483a251..c7b3e924b4 100644
--- a/src/shared/cplusplus/Symbols.h
+++ b/src/shared/cplusplus/Symbols.h
@@ -71,6 +71,12 @@ public:
// Symbol's interface
virtual FullySpecifiedType type() const;
+ virtual const UsingNamespaceDirective *asUsingNamespaceDirective() const
+ { return this; }
+
+ virtual UsingNamespaceDirective *asUsingNamespaceDirective()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
};
@@ -84,6 +90,12 @@ public:
// Symbol's interface
virtual FullySpecifiedType type() const;
+ virtual const UsingDeclaration *asUsingDeclaration() const
+ { return this; }
+
+ virtual UsingDeclaration *asUsingDeclaration()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
};
@@ -105,6 +117,12 @@ public:
// Symbol's interface
virtual FullySpecifiedType type() const;
+ virtual const Declaration *asDeclaration() const
+ { return this; }
+
+ virtual Declaration *asDeclaration()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
@@ -127,6 +145,12 @@ public:
// Symbol's interface
virtual FullySpecifiedType type() const;
+ virtual const Argument *asArgument() const
+ { return this; }
+
+ virtual Argument *asArgument()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
@@ -146,6 +170,12 @@ public:
Scope *members() const;
void addMember(Symbol *member);
+ virtual const ScopedSymbol *asScopedSymbol() const
+ { return this; }
+
+ virtual ScopedSymbol *asScopedSymbol()
+ { return this; }
+
private:
Scope *_members;
};
@@ -159,6 +189,12 @@ public:
// Symbol's interface
virtual FullySpecifiedType type() const;
+ virtual const Block *asBlock() const
+ { return this; }
+
+ virtual Block *asBlock()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
};
@@ -175,6 +211,12 @@ public:
// Type's interface
virtual bool isEqualTo(const Type *other) const;
+ virtual const Enum *asEnum() const
+ { return this; }
+
+ virtual Enum *asEnum()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
virtual void accept0(TypeVisitor *visitor);
@@ -230,6 +272,12 @@ public:
// Type's interface
virtual bool isEqualTo(const Type *other) const;
+ virtual const Function *asFunction() const
+ { return this; }
+
+ virtual Function *asFunction()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
virtual void accept0(TypeVisitor *visitor);
@@ -264,6 +312,12 @@ public:
// Type's interface
virtual bool isEqualTo(const Type *other) const;
+ virtual const Namespace *asNamespace() const
+ { return this; }
+
+ virtual Namespace *asNamespace()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
virtual void accept0(TypeVisitor *visitor);
@@ -281,6 +335,12 @@ public:
// Symbol's interface
virtual FullySpecifiedType type() const;
+ virtual const BaseClass *asBaseClass() const
+ { return this; }
+
+ virtual BaseClass *asBaseClass()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
@@ -322,6 +382,12 @@ public:
// Type's interface
virtual bool isEqualTo(const Type *other) const;
+ virtual const Class *asClass() const
+ { return this; }
+
+ virtual Class *asClass()
+ { return this; }
+
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
virtual void accept0(TypeVisitor *visitor);