130
130
// RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER12 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER9
131
131
// RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER13 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER13
132
132
// RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER14 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER9
133
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER15 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER15
134
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER16 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER15
135
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER17 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER15
136
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER18 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER15
137
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER19 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER13
138
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER20 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER13
139
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER21 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER21
140
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER22 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER21
141
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER23 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER23
142
+ // RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=MODIFIER24 -code-completion-keywords=false | %FileCheck %s -check-prefix=MODIFIER23
133
143
134
144
// RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=PROTOINIT_NORM -code-completion-keywords=false | %FileCheck %s -check-prefix=PROTOINIT_NORM
135
145
// RUN: %target-swift-ide-test -enable-objc-interop -code-completion -source-filename %s -code-completion-token=PROTOINIT_FINAL -code-completion-keywords=false | %FileCheck %s -check-prefix=PROTOINIT_FINAL
@@ -563,13 +573,26 @@ class Escaping : EscapingBase {
563
573
// ESCAPING_1: Decl[InstanceMethod]/Super: method(_ x: @escaping (@escaping () -> ()) -> (() -> ())) -> ((@escaping () -> ()) -> ()) {|};
564
574
565
575
class OverrideBase {
576
+ static let staticLet = 0
577
+ static var staticVar = 0
578
+ static var staticGetOnlyVar : Int { return 0 }
579
+
580
+ class let classLet = 0
581
+ class var classVar = 0
582
+ class var classGetOnlyVar : Int { return 0 }
583
+
584
+ static func staticMethod( ) { }
585
+ class func classMethod( ) { }
586
+
587
+ let letDecl = 0
588
+ var varDecl : Int = 0
589
+
566
590
init ( x: Int ) { }
567
591
convenience init ( y: Int ) { self . init ( x: y) }
568
592
required init ( a: Int ) { }
569
593
required convenience init ( b: Int ) { }
570
594
func defaultMethod( ) { }
571
595
final func finalMethod( ) { }
572
- var varDecl : Int = 0
573
596
open func openMethod( ) { }
574
597
}
575
598
protocol OverrideP {
@@ -631,9 +654,49 @@ class Override14 : OverrideBase, OverrideP {
631
654
override let #^MODIFIER14 ^#
632
655
// Same as MODIFIER9.
633
656
}
657
+ class Override15 : OverrideBase , OverrideP {
658
+ required static var #^MODIFIER15 ^#
659
+ }
660
+ class Override16 : OverrideBase , OverrideP {
661
+ override class var #^MODIFIER16 ^#
662
+ // Same as MODIFIER15
663
+ }
664
+ class Override17 : OverrideBase , OverrideP {
665
+ // Note: This *does* emit variables. See MODIFIER14
666
+ override static let #^MODIFIER17 ^#
667
+ // Same as MODIFIER15
668
+ }
669
+ class Override18 : OverrideBase , OverrideP {
670
+ class var #^MODIFIER18 ^#
671
+ // Same as MODIFIER15
672
+ }
673
+ class Override19 : OverrideBase , OverrideP {
674
+ // No completions.
675
+ class let #^MODIFIER19 ^#
676
+ }
677
+ class Override20 : OverrideBase , OverrideP {
678
+ // No completions.
679
+ static let #^MODIFIER20 ^#
680
+ }
681
+ class Override21 : OverrideBase , OverrideP {
682
+ override class func #^MODIFIER21^#
683
+ }
684
+ class Override22 : OverrideBase , OverrideP {
685
+ class func #^MODIFIER22^#
686
+ // Same as MODIFIER21
687
+ }
688
+ class Override23 : OverrideBase , OverrideP {
689
+ static #^MODIFIER23 ^#
690
+ }
691
+ class Override24 : OverrideBase , OverrideP {
692
+ override static #^MODIFIER24 ^#
693
+ // Same as MODIFIER23
694
+ }
634
695
635
- // MODIFIER1: Begin completions, 7 items
696
+ // MODIFIER1: Begin completions, 9 items
636
697
// MODIFIER1-DAG: Decl[Constructor]/Super: required init(p: Int) {|}; name=required init(p: Int)
698
+ // MODIFIER1-DAG: Decl[StaticMethod]/Super: override class func classMethod() {|}; name=classMethod()
699
+ // MODIFIER1-DAG: Decl[StaticVar]/Super: override class var classGetOnlyVar: Int; name=classGetOnlyVar: Int
637
700
// MODIFIER1-DAG: Decl[InstanceMethod]/Super: override func defaultMethod() {|}; name=defaultMethod()
638
701
// MODIFIER1-DAG: Decl[InstanceMethod]/Super: override func openMethod() {|}; name=openMethod()
639
702
// MODIFIER1-DAG: Decl[InstanceVar]/Super: override var varDecl: Int; name=varDecl: Int
@@ -642,7 +705,9 @@ class Override14 : OverrideBase, OverrideP {
642
705
// MODIFIER1-DAG: Decl[AssociatedType]/Super: typealias Assoc = {#(Type)#}; name=Assoc = Type
643
706
// MODIFIER1: End completions
644
707
645
- // MODIFIER2: Begin completions, 3 items
708
+ // MODIFIER2: Begin completions, 5 items
709
+ // MODIFIER2-DAG: Decl[StaticVar]/Super: override class var classGetOnlyVar: Int; name=classGetOnlyVar: Int
710
+ // MODIFIER2-DAG: Decl[StaticMethod]/Super: override class func classMethod() {|}; name=classMethod()
646
711
// MODIFIER2-DAG: Decl[InstanceMethod]/Super: override func defaultMethod() {|}; name=defaultMethod()
647
712
// MODIFIER2-DAG: Decl[InstanceMethod]/Super: override func openMethod() {|}; name=openMethod()
648
713
// MODIFIER2-DAG: Decl[InstanceVar]/Super: override var varDecl: Int; name=varDecl: Int
@@ -664,7 +729,9 @@ class Override14 : OverrideBase, OverrideP {
664
729
// MODIFIER6-DAG: Decl[AssociatedType]/Super: Assoc = {#(Type)#}; name=Assoc = Type
665
730
// MODIFIER6: End completions
666
731
667
- // MODIFIER7: Begin completions, 5 items
732
+ // MODIFIER7: Begin completions, 7 items
733
+ // MODIFIER7-DAG: Decl[StaticVar]/Super: class var classGetOnlyVar: Int; name=classGetOnlyVar: Int
734
+ // MODIFIER7-DAG: Decl[StaticMethod]/Super: class func classMethod() {|}; name=classMethod()
668
735
// MODIFIER7-DAG: Decl[InstanceMethod]/Super: func defaultMethod() {|}; name=defaultMethod()
669
736
// MODIFIER7-DAG: Decl[InstanceVar]/Super: var varDecl: Int; name=varDecl: Int
670
737
// MODIFIER7-DAG: Decl[InstanceMethod]/Super: func openMethod() {|}; name=openMethod()
@@ -683,6 +750,19 @@ class Override14 : OverrideBase, OverrideP {
683
750
684
751
// MODIFIER13-NOT: Begin completions
685
752
753
+ // MODIFIER15: Begin completions, 1 items
754
+ // MODIFIER15-DAG: Decl[StaticVar]/Super: classGetOnlyVar: Int; name=classGetOnlyVar: Int
755
+ // MODIFIER15: End completions
756
+
757
+ // MODIFIER21: Begin completions, 1 items
758
+ // MODIFIER21: Decl[StaticMethod]/Super: classMethod() {|}; name=classMethod()
759
+ // MODIFIER21: End completions
760
+
761
+ // MODIFIER23: Begin completions, 2 items
762
+ // MODIFIER23-DAG: Decl[StaticMethod]/Super: func classMethod() {|}; name=classMethod()
763
+ // MODIFIER23-DAG: Decl[StaticVar]/Super: var classGetOnlyVar: Int; name=classGetOnlyVar: Int
764
+ // MODIFIER23: End completions
765
+
686
766
protocol RequiredP {
687
767
init ( p: Int )
688
768
}
0 commit comments