| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=GLOBAL_BODY_EXPR | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=GLOBAL_BODY_TYPE | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=GLOBAL_VARBODY_EXPR | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=GLOBAL_FUNC_PARAMTYPE | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=GLOBAL_FUNC_DEFAULTEXPR | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=GLOBAL_FUNC_RESULTTYPE | %FileCheck %s --check-prefix=NOSELF |
| |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOCOL_FUNC_PARAMTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOCOL_FUNC_RESULTTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOCOL_SUBSCRIPT_PARAMTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOCOL_SUBSCRIPT_RESULTTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOCOL_VAR_TYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_FUNC_PARAMTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_FUNC_DEFAULTEXPR | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_FUNC_RESULTTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_SUBSCRIPT_PARAMTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_SUBSCRIPT_RESULTTYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_VAR_TYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_BODY_EXPR | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_BODY_TYPE | %FileCheck %s --check-prefix=GENERICPARAM |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=PROTOEXT_VARBODY_EXPR | %FileCheck %s --check-prefix=GENERICPARAM |
| |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_FUNC_PARAMTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_FUNC_DEFAULTEXPR | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_FUNC_RESULTTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_SUBSCRIPT_PARAMTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_SUBSCRIPT_RESULTTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_VAR_TYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_BODY_EXPR | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_BODY_TYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCT_VARBODY_EXPR | %FileCheck %s --check-prefix=STATICSELF |
| |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_FUNC_PARAMTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_FUNC_DEFAULTEXPR | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_FUNC_RESULTTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_SUBSCRIPT_PARAMTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_SUBSCRIPT_RESULTTYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_VAR_TYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_BODY_EXPR | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_BODY_TYPE | %FileCheck %s --check-prefix=STATICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=STRUCTEXT_VARBODY_EXPR | %FileCheck %s --check-prefix=STATICSELF |
| |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_FUNC_PARAMTYPE | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_FUNC_DEFAULTEXPR | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_FUNC_RESULTTYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_SUBSCRIPT_PARAMTYPE | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_SUBSCRIPT_RESULTTYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_VAR_TYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_BODY_EXPR | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_BODY_TYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_VARBODY_EXPR | %FileCheck %s --check-prefix=DYNAMICSELF |
| |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_FUNC_PARAMTYPE | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_FUNC_DEFAULTEXPR | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_FUNC_RESULTTYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_SUBSCRIPT_PARAMTYPE | %FileCheck %s --check-prefix=NOSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_SUBSCRIPT_RESULTTYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_VAR_TYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_BODY_EXPR | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_BODY_TYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASSEXT_VARBODY_EXPR | %FileCheck %s --check-prefix=DYNAMICSELF |
| |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_NESTEDBODY_TYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_NESTEDBODY_EXPR | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_NESTEDFUNC_PARAMTYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_NESTEDFUNC_DEFAULTEXPR | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_NESTEDFUNC_RESULTTYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_TYPEALIAS_TYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_NESTEDTYPE_EXPR | %FileCheck %s --check-prefix=DYNAMICSELF |
| // RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token=CLASS_NESTEDTYPE_TYPE | %FileCheck %s --check-prefix=DYNAMICSELF |
| |
| // NOSELF: Begin completions |
| // NOSELF-NOT: name=Self |
| // NOSELF: End completions |
| |
| // GENERICPARAM: Begin completions |
| // GENERICPARAM: Decl[GenericTypeParam]/Local: Self[#Self#]; |
| |
| // STATICSELF: Begin completions |
| // STATICSELF: Keyword[Self]/CurrNominal: Self[#S#]; |
| |
| // DYNAMICSELF: Begin completions |
| // DYNAMICSELF: Keyword[Self]/CurrNominal: Self[#Self#]; |
| |
| func freeFunc() { |
| #^GLOBAL_BODY_EXPR^# |
| let _: #^GLOBAL_BODY_TYPE^# |
| } |
| var freeVar: String { |
| "\(#^GLOBAL_VARBODY_EXPR^#)" |
| } |
| func freeFunc(x: #^GLOBAL_FUNC_PARAMTYPE^#) {} |
| func freeFunc(x: Int = #^GLOBAL_FUNC_DEFAULTEXPR^#) {} |
| func freeFunc(x: Int) -> #^GLOBAL_FUNC_RESULTTYPE^# {} |
| |
| var x: ^#GLOBAL_VAR_TYPE^# |
| |
| func sync() {} |
| |
| protocol P { |
| func protoMeth(x: #^PROTOCOL_FUNC_PARAMTYPE^#) |
| func protoMeth(x: Int) -> #^PROTOCOL_FUNC_RESULTTYPE^# |
| |
| subscript(x: #^PROTOCOL_SUBSCRIPT_PARAMTYPE^#) -> Int { get } |
| subscript(y: Int) -> #^PROTOCOL_SUBSCRIPT_RESULTTYPE^# { get } |
| |
| var x: #^PROTOCOL_VAR_TYPE^# |
| } |
| extension P { |
| func method(x: #^PROTOEXT_FUNC_PARAMTYPE^#) { } |
| func method(x: Int = #^PROTOEXT_FUNC_DEFAULTEXPR^#) { } |
| func method(x: Int) -> #^PROTOEXT_FUNC_RESULTTYPE^# { } |
| |
| subscript(x: #^PROTOEXT_SUBSCRIPT_PARAMTYPE^#) -> Int { } |
| subscript(y: Int) -> #^PROTOEXT_SUBSCRIPT_RESULTTYPE^# { } |
| |
| var x: #^PROTOEXT_VAR_TYPE^# { } |
| |
| func bodyTest() { |
| #^PROTOEXT_BODY_EXPR^# |
| let _: #^PROTOEXT_BODY_TYPE^# |
| } |
| var varTest: String { |
| "\(#^PROTOEXT_VARBODY_EXPR^#)" |
| } |
| } |
| |
| struct S { |
| func method(x: #^STRUCT_FUNC_PARAMTYPE^#) |
| func method(x: Int = #^STRUCT_FUNC_DEFAULTEXPR^#) { } |
| func method(x: Int) -> #^STRUCT_FUNC_RESULTTYPE^# |
| |
| subscript(x: #^STRUCT_SUBSCRIPT_PARAMTYPE^#) -> Int { get } |
| subscript(y: Int) -> #^STRUCT_SUBSCRIPT_RESULTTYPE^# { get } |
| |
| var x: #^STRUCT_VAR_TYPE^# |
| |
| func bodyTest() { |
| #^STRUCT_BODY_EXPR^# |
| let _: #^STRUCT_BODY_TYPE^# |
| } |
| var varTest: String { |
| "\(#^STRUCT_VARBODY_EXPR^#)" |
| } |
| } |
| extension S { |
| func method(x: #^STRUCTEXT_FUNC_PARAMTYPE^#) |
| func method(x: Int = #^STRUCTEXT_FUNC_DEFAULTEXPR^#) { } |
| func method(x: Int) -> #^STRUCTEXT_FUNC_RESULTTYPE^# |
| |
| subscript(x: #^STRUCTEXT_SUBSCRIPT_PARAMTYPE^#) -> Int { get } |
| subscript(y: Int) -> #^STRUCTEXT_SUBSCRIPT_RESULTTYPE^# { get } |
| |
| var x: #^STRUCTEXT_VAR_TYPE^# |
| |
| func bodyTest() { |
| #^STRUCTEXT_BODY_EXPR^# |
| let _: #^STRUCTEXT_BODY_TYPE^# |
| } |
| var varTest: String { |
| "\(#^STRUCTEXT_VARBODY_EXPR^#)" |
| } |
| } |
| |
| class C { |
| func method(x: #^CLASS_FUNC_PARAMTYPE^#) |
| func method(x: Int = #^CLASS_FUNC_DEFAULTEXPR^#) { } |
| func method(x: Int) -> #^CLASS_FUNC_RESULTTYPE^# |
| |
| subscript(x: #^CLASS_SUBSCRIPT_PARAMTYPE^#) -> Int { get } |
| subscript(y: Int) -> #^CLASS_SUBSCRIPT_RESULTTYPE^# { get } |
| |
| var x: #^CLASS_VAR_TYPE^# |
| |
| func bodyTest() { |
| #^CLASS_BODY_EXPR^# |
| let _: #^CLASS_BODY_TYPE^# |
| } |
| var varTest: String { |
| "\(#^CLASS_VARBODY_EXPR^#)" |
| } |
| } |
| class CC {} |
| extension CC { |
| func method(x: #^CLASSEXT_FUNC_PARAMTYPE^#) |
| func method(x: Int = #^CLASSEXT_FUNC_DEFAULTEXPR^#) { } |
| func method(x: Int) -> #^CLASSEXT_FUNC_RESULTTYPE^# |
| |
| subscript(x: #^CLASSEXT_SUBSCRIPT_PARAMTYPE^#) -> Int { get } |
| subscript(y: Int) -> #^CLASSEXT_SUBSCRIPT_RESULTTYPE^# { get } |
| |
| var x: #^CLASSEXT_VAR_TYPE^# |
| |
| func bodyTest() { |
| #^CLASSEXT_BODY_EXPR^# |
| let _: #^CLASSEXT_BODY_TYPE^# |
| } |
| var varTest: String { |
| "\(#^CLASSEXT_VARBODY_EXPR^#)" |
| } |
| } |
| |
| class CCC { |
| func bodyTest() { |
| func inner() { |
| #^CLASS_NESTEDBODY_EXPR^# |
| let _: #^CLASS_NESTEDBODY_TYPE^# |
| } |
| |
| func inner(x: #^CLASS_NESTEDFUNC_PARAMTYPE^#) {} |
| func inner(y: Int = #^CLASS_NESTEDFUNC_DEFAULTEXPR^#) {} |
| func inner() -> #^CLASS_NESTEDFUNC_RESULTTYPE^# {} |
| |
| typealias A<T> = #^CLASS_TYPEALIAS_TYPE^# |
| } |
| class Inner { |
| func method() { |
| #^CLASS_NESTEDTYPE_EXPR^# |
| let _: #^CLASS_NESTEDTYPE_TYPE^# |
| } |
| } |
| } |