Files
swift-mirror/test/IRGen/objc_class_in_storage_decls.swift
Saleem Abdulrasool 88003cfed8 tests: enable a few tests on Linux, u-opt
Avoid a temporary file and executing FileCheck multiple types and prefer
multiple check prefixes and streaming.  Additionally, enable some of
previously XFAIL'ed tests on Linux as well as tests that were marked as
requiring Objective-C interop.
2018-04-25 14:09:11 -07:00

50 lines
1.9 KiB
Swift

// RUN: %target-swift-frontend -emit-ir -enable-objc-interop -disable-objc-attr-requires-foundation-module %s | %FileCheck %s
struct WrapperStruct {
subscript() -> Void {
unsafeAddress {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructlu9subscriptFT_T_L_31ClassInSubscriptUnsafeAddressor
@objc class ClassInSubscriptUnsafeAddressor {}
fatalError()
}
unsafeMutableAddress {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructau9subscriptFT_T_L_38ClassInSubscriptUnsafeMutableAddressor
@objc class ClassInSubscriptUnsafeMutableAddressor {}
fatalError()
}
}
subscript(x: Void) -> Void {
get {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructg9subscriptFTT__T_L_22ClassInSubscriptGetter
@objc class ClassInSubscriptGetter {}
}
set {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructs9subscriptFTT__T_L_22ClassInSubscriptSetter
@objc class ClassInSubscriptSetter {}
}
}
private subscript(privateSubscript x: Void) -> Void {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructgP33_B60F3A889B72E7873A11885C46E5DF289subscriptFT16privateSubscriptT__T_L_23ClassInPrivateSubscript
@objc class ClassInPrivateSubscript {}
}
var foo: Void {
get {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructg3fooT_L_21ClassInVariableGetter
@objc class ClassInVariableGetter {}
}
set {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructs3fooT_L_21ClassInVariableSetter
@objc class ClassInVariableSetter {}
}
}
private var privateVariable: Void {
// CHECK: @_METACLASS_DATA__TtCFV27objc_class_in_storage_decls13WrapperStructgP33_B60F3A889B72E7873A11885C46E5DF2815privateVariableT_L_22ClassInPrivateVariable
@objc class ClassInPrivateVariable {}
}
}