Files
swift-mirror/test/ClangImporter/objc_class_subscript.swift
Pavel Yaskevich e7b73636ef [Diagnostics] Adjust diagnostic for subscript references on type
Instead of `value of X.Type` let's say `type of X` for subscript
references on metatype.
2019-07-02 15:07:28 -07:00

33 lines
1.3 KiB
Swift

// RUN: %empty-directory(%t)
// RUN: %build-clang-importer-objc-overlays
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk-nosource -I %t) -typecheck -I %S/Inputs/custom-modules %s -verify
// REQUIRES: objc_interop
import ObjCSubscripts
func testClass() {
_ = NoClassSubscript[0] // expected-error{{type 'NoClassSubscript' has no member 'subscript'}}
NoClassSubscript[0] = "" // expected-error{{type 'NoClassSubscript' has no member 'subscript'}}
_ = NoClassSubscript["foo"] // expected-error{{type 'NoClassSubscript' has no member 'subscript'}}
NoClassSubscript["foo"] = "" // expected-error{{type 'NoClassSubscript' has no member 'subscript'}}
}
func testInstance(x: NoClassSubscript) {
_ = x[0] // expected-error{{value of type 'NoClassSubscript' has no subscripts}}
x[0] = "" // expected-error{{value of type 'NoClassSubscript' has no subscripts}}
_ = x["foo"] // expected-error{{value of type 'NoClassSubscript' has no subscripts}}
x["foo"] = "" // expected-error{{value of type 'NoClassSubscript' has no subscripts}}
}
func testClassMethods() {
_ = NoClassSubscript.object(atIndexedSubscript: 0)
NoClassSubscript.setObject("", atIndexedSubscript: 0)
_ = NoClassSubscript.object(forKeyedSubscript: "foo")
NoClassSubscript.setObject("", forKeyedSubscript: "foo")
}