This is an archive of the discontinued LLVM Phabricator instance.

Remove clang::ast_type_traits namespace in favor of clang
ClosedPublic

Authored by rnk on Feb 12 2020, 11:46 AM.

Details

Summary

DynTypedNode and ASTNodeKind are implemented as part of the clang AST
library, which uses the main clang namespace. There doesn't seem to be a
need for this extra level of namespacing.

I left behind aliases in the ast_type_traits namespace for out of tree
clients of these APIs. To provide aliases for the enumerators, I used
this pattern:

namespace ast_type_traits {
constexpr TraversalKind TK_AsIs = ::clang::TK_AsIs;
}

I think the typedefs will be useful for migration, but we might be able
to drop these enumerator aliases. Reviewers, let me know what you think.

Diff Detail