Alex Lorenz | a981c7d | 2017-04-11 16:46:03 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -ast-print -std=c++14 %s | FileCheck %s |
| 2 | |
| 3 | namespace ns { |
| 4 | |
| 5 | struct Wrapper { |
| 6 | class 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 | |
| 25 | Wrapper::Inner::Inner() { } |
| 26 | // CHECK: Wrapper::Inner::Inner() |
| 27 | |
| 28 | void Wrapper::Inner::operator +=(int) { } |
| 29 | // CHECK: void Wrapper::Inner::operator+=(int) |
| 30 | |
| 31 | } |
| 32 | |
| 33 | ns::Wrapper::Inner::Inner(int) { } |
| 34 | // CHECK: ns::Wrapper::Inner::Inner(int) |
| 35 | |
| 36 | ns::Wrapper::Inner::~Inner() { } |
| 37 | // CHECK: ns::Wrapper::Inner::~Inner() |
| 38 | |
| 39 | template<typename T> |
| 40 | void ::ns::Wrapper::Inner::member() { } |
| 41 | // CHECK: template <typename T> void ::ns::Wrapper::Inner::member() |
| 42 | |
| 43 | ns::Wrapper::Inner::operator int() { return 0; } |
| 44 | // CHECK: ns::Wrapper::Inner::operator int() |
| 45 | |
| 46 | ns::Wrapper::Inner::operator ::ns::Wrapper() { return ns::Wrapper(); } |
| 47 | // CHECK: ns::Wrapper::Inner::operator ::ns::Wrapper() |
| 48 | |
| 49 | namespace ns { |
| 50 | |
| 51 | void Wrapper::Inner::staticMember() { } |
| 52 | // CHECK: void Wrapper::Inner::staticMember() |
| 53 | |
| 54 | } |