src: refactored name resolvers

* added classes that represent different name kinds
* rewrote NameResolvers to return the new name classes instead of NameElement and NameHierarchy
* removed DataType classes since their functionality moved to the CxxTypeName class.
This commit is contained in:
malte_langkabel
2016-11-16 15:37:02 +01:00
parent a35e8a53de
commit 7873710ba8
42 changed files with 873 additions and 691 deletions
@@ -1,8 +1,10 @@
#ifndef CXX_SPECIFIER_NAME_RESOLVER_H
#define CXX_SPECIFIER_NAME_RESOLVER_H
#include <memory>
#include "data/parser/cxx/name/CxxDeclName.h"
#include "data/parser/cxx/name_resolver/CxxNameResolver.h"
#include "data/type/DataType.h"
class CxxSpecifierNameResolver: public CxxNameResolver
{
@@ -11,7 +13,7 @@ public:
CxxSpecifierNameResolver(std::vector<const clang::Decl*> ignoredContextDecls);
virtual ~CxxSpecifierNameResolver();
NameHierarchy getNameHierarchy(const clang::NestedNameSpecifier* nestedNameSpecifier);
std::shared_ptr<CxxName> getName(const clang::NestedNameSpecifier* nestedNameSpecifier);
};
#endif // CXX_SPECIFIER_NAME_RESOLVER_H