// RUN: not %target-swift-frontend(mock-sdk: %clang-importer-sdk) -disable-objc-attr-requires-foundation-module -typecheck %s -emit-fixits-path %t.remap
// RUN: c-arcmt-test %t.remap | arcmt-test -verify-transformed-files %s.result
import ObjectiveC

// REQUIRES: objc_interop

@objc class Selectors {
  func takeSel(_: Selector) {}
  func mySel() {}
  func test() {
    takeSel(#selector(Selectors.mySel))
    takeSel(#selector(Selectors.mySel))
  }
}

func foo(an : Any) {
  let a1 : AnyObject
  a1 = an as AnyObject
  let a2 : AnyObject?
  a2 = an as AnyObject
  let a3 : AnyObject!
  a3 = an as AnyObject
}

func foo1(_ an : Any) {
  let obj: AnyObject = an as AnyObject
}

func foo2(_ messageData: Any?) -> AnyObject? {
  return messageData as AnyObject
}
