Files
swift-mirror/test/IDE/complete_exception.swift
Xi Ge 90cf8aec22 [CodeCompletion] Add types whose extensions
conform _ErrorType protocol to the completions of throw statement.

Swift SVN r26691
2015-03-29 05:56:06 +00:00

40 lines
1.8 KiB
Swift

// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=CATCH1 | FileCheck %s -check-prefix=CATCH1
// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=THROW1 | FileCheck %s -check-prefix=THROW1
protocol ErrorPro1 : _ErrorType {}
class Error1 : _ErrorType {}
class Error2 : _ErrorType {}
class Error3 {}
extension Error3 : _ErrorType{}
class NoneError1 {}
{
do {} catch #^CATCH1^#
// CATCH1: Begin completions
// CATCH1-NOT: Decl[Class]/CurrModule: NoneError1[#NoneError1#]; name=NoneError1{{$}}
// CATCH1-DAG: Decl[Class]/CurrModule: Error3[#Error3#]; name=Error3{{$}}
// CATCH1-DAG: Decl[Class]/CurrModule: Error2[#Error2#]; name=Error2{{$}}
// CATCH1-DAG: Decl[Class]/CurrModule: Error1[#Error1#]; name=Error1{{$}}
// CATCH1-DAG: Keyword/None: let e {|}; name=e{{$}}
// CATCH1-DAG: Keyword/None: _ {|}; name=_{{$}}
}
{
let text = "NonError"
let e1 = Error1()
let e2 = Error2()
throw #^THROW1^#
// THROW1: Begin completions
// THROW1-NOT: Decl[LocalVar]/Local: text[#String#]; name=text{{$}}
// THROW1-DAG: Decl[LocalVar]/Local: e1[#Error1#]; name=e1{{$}}
// THROW1-DAG: Decl[LocalVar]/Local: e2[#Error2#]; name=e2{{$}}
// CATCH1-DAG: Decl[Class]/CurrModule: Error3[#Error3#]; name=Error3{{$}}
// THROW1-DAG: Decl[Class]/CurrModule: Error2[#Error2#]; name=Error2{{$}}
// THROW1-DAG: Decl[Class]/CurrModule: Error1[#Error1#]; name=Error1{{$}}
// THROW1-NOT: Decl[Protocol]/CurrModule: ErrorPro1[#ErrorPro1#]; name=ErrorPro1{{$}}
// THROW1-NOT: Decl[Class]/CurrModule: NoneError1[#NoneError1#]; name=NoneError1{{$}}
}