|
78 | 78 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=OVERLOADED_INIT_1 | %FileCheck %s -check-prefix=OVERLOADED_METHOD_1
|
79 | 79 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=OVERLOADED_INIT_2 | %FileCheck %s -check-prefix=OVERLOADED_METHOD_1
|
80 | 80 |
|
| 81 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_1 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 82 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_2 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 83 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_3 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 84 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_4 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 85 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_5 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 86 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_6 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 87 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_7 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 88 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_8 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 89 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_9 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 90 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_10 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 91 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_11 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 92 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_12 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 93 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_13 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 94 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_14 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 95 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_15 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 96 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_16 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 97 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_17 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 98 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_18 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 99 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_19 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 100 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_20 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 101 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=GENERICPARAM_21 | %FileCheck %s -check-prefix=GENERICPARAM_1 |
| 102 | + |
81 | 103 | enum SomeEnum1 {
|
82 | 104 | case South
|
83 | 105 | case North
|
@@ -535,3 +557,91 @@ func testOverload(val: HasOverloaded) {
|
535 | 557 | let _ = HasOverloaded(e: .#^OVERLOADED_INIT_2^#)
|
536 | 558 | // Same as OVERLOADED_METHOD_1.
|
537 | 559 | }
|
| 560 | + |
| 561 | +protocol HasStatic { |
| 562 | + static var instance: Self { get } |
| 563 | +} |
| 564 | +func receiveHasStatic<T: HasStatic>(x: T) {} |
| 565 | +func testingGenericParam1<T: HasStatic>(x: inout T, fn: (T) -> Void) -> T { |
| 566 | + x = .#^GENERICPARAM_1^# |
| 567 | +// GENERICPARAM_1: Begin completions, 1 items |
| 568 | +// GENERICPARAM_1: Decl[StaticVar]/CurrNominal: instance[#HasStatic#]; name=instance |
| 569 | +// GENERICPARAM_1: End completions |
| 570 | + |
| 571 | + /* Parser sync. */; |
| 572 | + |
| 573 | + let _: (Int, T) = (1, .#^GENERICPARAM_2^#) |
| 574 | + // Same as GENERICPARAM_1. |
| 575 | + |
| 576 | + (_, x) = (1, .#^GENERICPARAM_3^#) |
| 577 | + // Same as GENERICPARAM_1. |
| 578 | + |
| 579 | + let _ = fn(.#^GENERICPARAM_4^#) |
| 580 | + // Same as GENERICPARAM_1. |
| 581 | + |
| 582 | + let _ = receiveHasStatic(x: .#^GENERICPARAM_5^#) |
| 583 | + // Same as GENERICPARAM_1. |
| 584 | + |
| 585 | + let _ = { () -> T in |
| 586 | + return .#^GENERICPARAM_6^# |
| 587 | + // Same as GENERICPARAM_1. |
| 588 | + } |
| 589 | + let _: () -> T = { |
| 590 | + return .#^GENERICPARAM_7^# |
| 591 | + // Same as GENERICPARAM_1. |
| 592 | + } |
| 593 | + let _ = { (_: InvalidTy) -> T in |
| 594 | + return .#^GENERICPARAM_8^# |
| 595 | + // Same as GENERICPARAM_1. |
| 596 | + } |
| 597 | + |
| 598 | + if case .#^GENERICPARAM_9^# = x {} |
| 599 | + // Same as GENERICPARAM_1. |
| 600 | + |
| 601 | + return .#^GENERICPARAM_10^# |
| 602 | + // Same as GENERICPARAM_1. |
| 603 | +} |
| 604 | + |
| 605 | +class C<T: HasStatic> { |
| 606 | + |
| 607 | + var t: T = .instance |
| 608 | + |
| 609 | + func foo(x: T) -> T { |
| 610 | + return .#^GENERICPARAM_11^# |
| 611 | + // Same as GENERICPARAM_1. |
| 612 | + } |
| 613 | + func bar<U: HasStatic>(x: U) -> U { |
| 614 | + return .#^GENERICPARAM_12^# |
| 615 | + // Same as GENERICPARAM_1. |
| 616 | + } |
| 617 | + |
| 618 | + func testing() { |
| 619 | + let _ = foo(x: .#^GENERICPARAM_13^#) |
| 620 | + // Same as GENERICPARAM_1. |
| 621 | + let _ = bar(x: .#^GENERICPARAM_14^#) |
| 622 | + // Same as GENERICPARAM_1. |
| 623 | + |
| 624 | + t = .#^GENERICPARAM_15^# |
| 625 | + // Same as GENERICPARAM_1. |
| 626 | + |
| 627 | + /* Parser sync. */; func sync1() {} |
| 628 | + self.t = .#^GENERICPARAM_16^# |
| 629 | + // Same as GENERICPARAM_1. |
| 630 | + |
| 631 | + /* Parser sync. */; func sync2() {} |
| 632 | + (_, t) = (1, .#^GENERICPARAM_17^#) |
| 633 | + // Same as GENERICPARAM_1. |
| 634 | + |
| 635 | + (_, self.t) = (1, .#^GENERICPARAM_18^#) |
| 636 | + // Same as GENERICPARAM_1. |
| 637 | + } |
| 638 | +} |
| 639 | + |
| 640 | +func testingGenericParam2<X>(obj: C<X>) { |
| 641 | + let _ = obj.foo(x: .#^GENERICPARAM_19^#) |
| 642 | + // Same as GENERICPARAM_1. |
| 643 | + let _ = obj.bar(x: .#^GENERICPARAM_20^#) |
| 644 | + // Same as GENERICPARAM_1. |
| 645 | + obj.t = .#^GENERICPARAM_21^# |
| 646 | + // Same as GENERICPARAM_1. |
| 647 | +} |
0 commit comments