File tree Expand file tree Collapse file tree 3 files changed +24
-0
lines changed
Inputs/clang-importer-sdk/usr/include/objc Expand file tree Collapse file tree 3 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -1906,6 +1906,12 @@ Expr *AutoClosureExpr::getUnwrappedCurryThunkExpr() const {
1906
1906
return expr;
1907
1907
};
1908
1908
1909
+ auto maybeUnwrapConversions = [](Expr *expr) {
1910
+ if (auto *covariantReturn = dyn_cast<CovariantReturnConversionExpr>(expr))
1911
+ expr = covariantReturn->getSubExpr ();
1912
+ return expr;
1913
+ };
1914
+
1909
1915
switch (getThunkKind ()) {
1910
1916
case AutoClosureExpr::Kind::None:
1911
1917
case AutoClosureExpr::Kind::AsyncLet:
@@ -1916,6 +1922,7 @@ Expr *AutoClosureExpr::getUnwrappedCurryThunkExpr() const {
1916
1922
body = body->getSemanticsProvidingExpr ();
1917
1923
body = maybeUnwrapOpenExistential (body);
1918
1924
body = maybeUnwrapOptionalEval (body);
1925
+ body = maybeUnwrapConversions (body);
1919
1926
1920
1927
if (auto *outerCall = dyn_cast<ApplyExpr>(body)) {
1921
1928
return outerCall->getFn ();
@@ -1934,6 +1941,7 @@ Expr *AutoClosureExpr::getUnwrappedCurryThunkExpr() const {
1934
1941
innerBody = innerBody->getSemanticsProvidingExpr ();
1935
1942
innerBody = maybeUnwrapOpenExistential (innerBody);
1936
1943
innerBody = maybeUnwrapOptionalEval (innerBody);
1944
+ innerBody = maybeUnwrapConversions (innerBody);
1937
1945
1938
1946
if (auto *outerCall = dyn_cast<ApplyExpr>(innerBody)) {
1939
1947
if (auto *innerCall = dyn_cast<ApplyExpr>(outerCall->getFn ())) {
Original file line number Diff line number Diff line change
1
+ // RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -enable-objc-interop -print-indexed-symbols -source-filename %s | %FileCheck %s
2
+ // REQUIRES: objc_interop
3
+
4
+ import Foundation
5
+
6
+ @objc
7
+ class Foo : NSObject {
8
+ // CHECK-DAG: constructor/Swift | init(object:)
9
+ init ( object: Any ? ) { }
10
+ }
11
+
12
+ extension Foo {
13
+ // CHECK-DAG: static-property/Swift | boom
14
+ static let boom = Foo ( object: self )
15
+ }
Original file line number Diff line number Diff line change 6
6
@class NSString ;
7
7
8
8
@protocol NSObject
9
+ - (instancetype )self ;
9
10
@property (readonly , copy ) NSString *description;
10
11
- (instancetype )retain OBJC_ARC_UNAVAILABLE;
11
12
- (Class )class ;
You can’t perform that action at this time.
0 commit comments