File: UsingDecl.cpp

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (46 lines) | stat: -rw-r--r-- 1,859 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

namespace ns { // CHECK4: rename [[@LINE]]:11 -> [[@LINE]]:13

struct Struct { }; // CHECK1: rename [[@LINE]]:8 -> [[@LINE]]:14

void func(); // CHECK2: rename [[@LINE]]:6 -> [[@LINE]]:10

void overload1(int x);
void overload1(double y); // CHECK3: rename [[@LINE]]:6 -> [[@LINE]]:15

}

using ns::Struct; // CHECK1: rename [[@LINE]]:11 -> [[@LINE]]:17

// RUN: clang-refactor-test rename-initiate -at=%s:13:11 -new-name=x %s | FileCheck --check-prefix=CHECK1 %s

using ns::func; // CHECK2: rename [[@LINE]]:11 -> [[@LINE]]:15

// RUN: clang-refactor-test rename-initiate -at=%s:17:11 -new-name=x %s | FileCheck --check-prefix=CHECK2 %s

using ns::overload1; // CHECK3: rename [[@LINE]]:11 -> [[@LINE]]:20

// RUN: clang-refactor-test rename-initiate -at=%s:21:11 -new-name=x %s | FileCheck --check-prefix=CHECK3 %s

using namespace ns; // CHECK4: rename [[@LINE]]:17 -> [[@LINE]]:19

// RUN: clang-refactor-test rename-initiate -at=%s:25:17 -new-name=x %s | FileCheck --check-prefix=CHECK4 %s

struct UsingConstructor {
  template<class T>
  UsingConstructor(T, typename T::Q);
};
struct UsingConstructorHere : UsingConstructor {
using UsingConstructor::UsingConstructor; // CHECK5: rename [[@LINE]]:7 -> [[@LINE]]:23
// CHECK5: rename [[@LINE-1]]:25 -> [[@LINE-1]]:41
};
// RUN: clang-refactor-test rename-initiate -at=%s:34:25 -new-name=x %s -std=c++14 | FileCheck --check-prefix=CHECK5 %s

template<typename T>
struct S : T {
  using T::T; // CHECK6: rename local [[@LINE]]:12 -> [[@LINE]]:13
// RUN: clang-refactor-test rename-initiate -at=%s:41:12 -new-name=x %s -std=c++14 | FileCheck --check-prefix=CHECK6 %s
  using typename T::Foo;
// RUN: not clang-refactor-test rename-initiate -at=%s:43:12 -new-name=x %s -std=c++14 2>&1 | FileCheck --check-prefix=CHECK-UNRESOLVED %s
// CHECK-UNRESOLVED: error: could not rename symbol at the given location
};