summaryrefslogtreecommitdiff
path: root/unittests/AST/ASTTypeTraitsTest.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2013-11-23 01:40:07 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2013-11-23 01:40:07 +0000
commite6d601f912ea8fb367204f342f799196782195dd (patch)
tree47ba929bdd14cc63ece2e611efe7e0617a66eb3e /unittests/AST/ASTTypeTraitsTest.cpp
parentd654f6b47211cac43d082aaf2995e8ff68f5f3a9 (diff)
downloadclang-e6d601f912ea8fb367204f342f799196782195dd.tar.gz
clang-e6d601f912ea8fb367204f342f799196782195dd.tar.bz2
clang-e6d601f912ea8fb367204f342f799196782195dd.tar.xz
Add Distance parameter to ASTNodeKind::isBaseOf.
This will allow the completer to order results by relevance. Differential Revision: http://llvm-reviews.chandlerc.com/D2209 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195540 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/AST/ASTTypeTraitsTest.cpp')
-rw-r--r--unittests/AST/ASTTypeTraitsTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/unittests/AST/ASTTypeTraitsTest.cpp b/unittests/AST/ASTTypeTraitsTest.cpp
index dd73b52206..634577c5e8 100644
--- a/unittests/AST/ASTTypeTraitsTest.cpp
+++ b/unittests/AST/ASTTypeTraitsTest.cpp
@@ -34,6 +34,19 @@ TEST(ASTNodeKind, Bases) {
EXPECT_TRUE(DNT<Decl>().isSame(DNT<Decl>()));
}
+TEST(ASTNodeKind, BaseDistances) {
+ unsigned Distance = 1;
+ EXPECT_TRUE(DNT<Expr>().isBaseOf(DNT<Expr>(), &Distance));
+ EXPECT_EQ(0u, Distance);
+
+ EXPECT_TRUE(DNT<Stmt>().isBaseOf(DNT<IfStmt>(), &Distance));
+ EXPECT_EQ(1u, Distance);
+
+ Distance = 3;
+ EXPECT_TRUE(DNT<DeclaratorDecl>().isBaseOf(DNT<ParmVarDecl>(), &Distance));
+ EXPECT_EQ(2u, Distance);
+}
+
TEST(ASTNodeKind, SameBase) {
EXPECT_TRUE(DNT<Expr>().isBaseOf(DNT<CallExpr>()));
EXPECT_TRUE(DNT<Expr>().isBaseOf(DNT<BinaryOperator>()));