aboutsummaryrefslogtreecommitdiff
path: root/test/Index/print-display-names.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-10-02 22:49:11 +0000
committerDouglas Gregor <dgregor@apple.com>2010-10-02 22:49:11 +0000
commit358559d8d7b458c5f64941842383a16e61f0828d (patch)
tree60b1e6e49cfa4d1d7e57476eabe74c2c7cb01212 /test/Index/print-display-names.cpp
parent3f0fee315cbfa37e0c47904836948e9d0cca9eda (diff)
Introduce a new libclang function, clang_getCursorDisplayName(), which
produces a simple "display" name that captures the arguments/parameters for a function, function template, class template, or class template specialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115428 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Index/print-display-names.cpp')
-rw-r--r--test/Index/print-display-names.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Index/print-display-names.cpp b/test/Index/print-display-names.cpp
new file mode 100644
index 0000000000..94fe4665e6
--- /dev/null
+++ b/test/Index/print-display-names.cpp
@@ -0,0 +1,20 @@
+template<typename T, typename>
+class ClassTmpl { };
+
+typedef int Integer;
+
+template class ClassTmpl<Integer, Integer>;
+
+void f(ClassTmpl<float, Integer> p);
+
+template<typename T>
+void g(ClassTmpl<T, T>);
+
+template<> void g<int>(ClassTmpl<int, int>);
+
+// RUN: c-index-test -test-load-source all-display %s | FileCheck %s
+// CHECK: print-display-names.cpp:2:7: ClassTemplate=ClassTmpl<T, typename>:2:7
+// CHECK: print-display-names.cpp:6:16: ClassDecl=ClassTmpl<Integer, Integer>:6:16 (Definition)
+// CHECK: print-display-names.cpp:8:6: FunctionDecl=f(ClassTmpl<float, Integer>):8:6
+// CHECK: print-display-names.cpp:11:6: FunctionTemplate=g(ClassTmpl<T, T>):11:6
+// CHECK: print-display-names.cpp:13:17: FunctionDecl=g<>(ClassTmpl<int, int>):13:17 [Specialization of g:11:6]