blob: 7c4f7ae7f813a290dd69b2e84ecc9bbd81db2c75 [file] [log] [blame]
Alex Lorenza981c7d2017-04-11 16:46:03 +00001// RUN: %clang_cc1 -ast-print -std=c++14 %s | FileCheck %s
2
3namespace ns {
4
5struct Wrapper {
6class Inner {
7 Inner();
8 Inner(int);
9 ~Inner();
10
11 void operator += (int);
12
13 template<typename T>
14 void member();
15
16 static void staticMember();
17
18 operator int();
19
20 operator ns::Wrapper();
21 // CHECK: operator ns::Wrapper()
22};
23};
24
25Wrapper::Inner::Inner() { }
26// CHECK: Wrapper::Inner::Inner()
27
28void Wrapper::Inner::operator +=(int) { }
29// CHECK: void Wrapper::Inner::operator+=(int)
30
31}
32
33ns::Wrapper::Inner::Inner(int) { }
34// CHECK: ns::Wrapper::Inner::Inner(int)
35
36ns::Wrapper::Inner::~Inner() { }
37// CHECK: ns::Wrapper::Inner::~Inner()
38
39template<typename T>
40void ::ns::Wrapper::Inner::member() { }
41// CHECK: template <typename T> void ::ns::Wrapper::Inner::member()
42
43ns::Wrapper::Inner::operator int() { return 0; }
44// CHECK: ns::Wrapper::Inner::operator int()
45
46ns::Wrapper::Inner::operator ::ns::Wrapper() { return ns::Wrapper(); }
47// CHECK: ns::Wrapper::Inner::operator ::ns::Wrapper()
48
49namespace ns {
50
51void Wrapper::Inner::staticMember() { }
52// CHECK: void Wrapper::Inner::staticMember()
53
54}