Introduce Namespace aliases and store the TranslationUnit instead of the Control.

This commit is contained in:
Roberto Raggi
2010-05-05 10:18:11 +02:00
parent c8f03b46c1
commit c35bb4226b
11 changed files with 103 additions and 5 deletions

View File

@@ -110,6 +110,31 @@ protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
};
class CPLUSPLUS_EXPORT NamespaceAlias: public Symbol
{
public:
NamespaceAlias(TranslationUnit *translationUnit, unsigned sourceLocation, const Name *name);
virtual ~NamespaceAlias();
const Name *namespaceName() const;
void setNamespaceName(const Name *namespaceName);
// Symbol's interface
virtual FullySpecifiedType type() const;
virtual const NamespaceAlias *asNamespaceAlias() const
{ return this; }
virtual NamespaceAlias *asNamespaceAlias()
{ return this; }
protected:
virtual void visitSymbol0(SymbolVisitor *visitor);
private:
const Name *_namespaceName;
};
class CPLUSPLUS_EXPORT Declaration: public Symbol
{
public: