File: complete_requestlimit.swift

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 (134 lines) | stat: -rw-r--r-- 4,117 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
struct A {}
struct B {
  let a: A
  let b: A
  let c: A
}

// RUN: %complete-test -tok=TOP_LEVEL_0 %s | %FileCheck -check-prefix=TOP_LEVEL_0_ALL %s
// RUN: %complete-test -tok=TOP_LEVEL_0 %s -limit=0 | %FileCheck -check-prefix=TOP_LEVEL_0_ALL %s
// RUN: %complete-test -tok=TOP_LEVEL_0 %s -limit=3 | %FileCheck -check-prefix=TOP_LEVEL_0_3 %s
// RUN: %complete-test -tok=TOP_LEVEL_0 %s -limit=1 | %FileCheck -check-prefix=TOP_LEVEL_0_1 %s
// RUN: %complete-test -tok=TOP_LEVEL_0 %s -start=1 -limit=1 | %FileCheck -check-prefix=TOP_LEVEL_0_11 %s
// RUN: %complete-test -tok=TOP_LEVEL_0 %s -start=2 -limit=1 | %FileCheck -check-prefix=TOP_LEVEL_0_12 %s
// RUN: %complete-test -tok=TOP_LEVEL_0 %s -raw -start=100000 -limit=1 | %FileCheck -check-prefix=TOP_LEVEL_0_NONE %s
func test001() {
  let x: B
  let y: B
  let z: B
    
  #^TOP_LEVEL_0^#
// TOP_LEVEL_0_ALL: let
// TOP_LEVEL_0_ALL-NEXT: var
// TOP_LEVEL_0_ALL-NEXT: if
// TOP_LEVEL_0_ALL-NEXT: for
// TOP_LEVEL_0_ALL-NEXT: while
// TOP_LEVEL_0_ALL-NEXT: return
// TOP_LEVEL_0_ALL-NEXT: func
// TOP_LEVEL_0_ALL-NEXT: x
// TOP_LEVEL_0_ALL-NEXT: y
// TOP_LEVEL_0_ALL-NEXT: z
// TOP_LEVEL_0_ALL-NEXT: A
// TOP_LEVEL_0_ALL-NEXT: B
// TOP_LEVEL_0_ALL-NEXT: C
// TOP_LEVEL_0_ALL-NEXT: D
// TOP_LEVEL_0_ALL-NEXT: test

// TOP_LEVEL_0_3: let
// TOP_LEVEL_0_3-NEXT: var
// TOP_LEVEL_0_3-NEXT: if
// TOP_LEVEL_0_3-NOT: for

// TOP_LEVEL_0_1: let
// TOP_LEVEL_0_1-NOT: var

// TOP_LEVEL_0_11-NOT: let
// TOP_LEVEL_0_11: var
// TOP_LEVEL_0_11-NOT: if

// TOP_LEVEL_0_12-NOT: let
// TOP_LEVEL_0_12-NOT: var
// TOP_LEVEL_0_12: if

// TOP_LEVEL_0_NONE: [
// TOP_LEVEL_0_NONE-NOT: key.name
// TOP_LEVEL_0_NONE: ]
}

// RUN: %complete-test -tok=B_INSTANCE_0 %s | %FileCheck -check-prefix=B_INSTANCE_0_ALL %s
// RUN: %complete-test -tok=B_INSTANCE_0 %s -limit=1 | %FileCheck -check-prefix=B_INSTANCE_0_1 %s
func test002(x: B) {
  x.#^B_INSTANCE_0^#

// B_INSTANCE_0_ALL: a
// B_INSTANCE_0_ALL-NEXT: b
// B_INSTANCE_0_ALL-NEXT: c
// B_INSTANCE_0_ALL-NEXT: self

// B_INSTANCE_0_1: a
// B_INSTANCE_0_1-NOT: b

// B_INSTANCE_1_
}

struct C {
  let aaa: A
  let aab: A
  let aac: A
  let abc: A
}

// RUN: %complete-test -tok=C_INSTANCE_0 %s | %FileCheck -check-prefix=C_INSTANCE_0_ALL %s
// RUN: %complete-test -tok=C_INSTANCE_0 %s -limit=1 | %FileCheck -check-prefix=C_INSTANCE_0_1 %s
func test003(x: C) {
  x.#^C_INSTANCE_0,aa^#

// C_INSTANCE_0_ALL: aaa
// C_INSTANCE_0_ALL-NEXT: aab
// C_INSTANCE_0_ALL-NEXT: aac
// C_INSTANCE_0_ALL-NOT: abc

// C_INSTANCE_0_1: aaa
// C_INSTANCE_0_1-NOT: aa
}

struct D {
  func aaa(x: A) {}
  func aaa(x: B) {}
  func aab() {}
}

// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s | %FileCheck -check-prefix=OVERLOADS_ALL %s
// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s -limit=1 | %FileCheck -check-prefix=OVERLOADS_1 %s
// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s -start=1 -limit=1 | %FileCheck -check-prefix=OVERLOADS_11 %s
func test003(x: D) {
  x.#^D_INSTANCE_0^#

// OVERLOADS_ALL: aaa:
// OVERLOADS_ALL-NEXT:   aaa(x: A)
// OVERLOADS_ALL-NEXT:   aaa(x: B)
// OVERLOADS_ALL-NEXT: aab()
// OVERLOADS_ALL-NEXT: self

// limit applies to top-level, not to subgroups
// OVERLOADS_1: aaa:
// OVERLOADS_1:   aaa(x: A)
// OVERLOADS_1:   aaa(x: B)
// OVERLOADS_1-NOT: aa

// OVERLOADS_11-NOT: aa
// OVERLOADS_11: aab()
}

// If we return all the results, nextrequeststart == 0
// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s -raw | %FileCheck -check-prefix=NEXT-END %s
// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s -raw -limit=5 | %FileCheck -check-prefix=NEXT-END %s
// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s -raw -limit=3 | %FileCheck -check-prefix=NEXT-END %s
// NEXT-END: key.nextrequeststart: 0

// If we return the last result, nextrequeststart == 0
// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s -raw -start=2 -limit=1 | %FileCheck -check-prefix=NEXT-END %s

// Otherwise, it's the next result
// RUN: %complete-test -group=overloads -tok=D_INSTANCE_0 %s -raw -limit=1 | %FileCheck -check-prefix=NEXT1 %s
// NEXT1: key.nextrequeststart: 1