Skip to content

Commit 4b8b7bb

Browse files
committed
[NSError bridging] Rename runtime entry points for _getErrorEmbeddedNSError.
This clarifies the 'Indirect' case. Thanks, Dmitri!
1 parent e14780b commit 4b8b7bb

File tree

5 files changed

+18
-16
lines changed

5 files changed

+18
-16
lines changed

include/swift/AST/KnownDecls.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,6 @@ FUNC_DECL(BridgeAnythingToObjectiveC,
7171
FUNC_DECL(DidEnterMain, "_stdlib_didEnterMain")
7272
FUNC_DECL(DiagnoseUnexpectedNilOptional, "_diagnoseUnexpectedNilOptional")
7373

74-
FUNC_DECL(GetErrorEmbeddedNSErrorValue, "_stdlib_getErrorEmbeddedNSErrorValue")
74+
FUNC_DECL(GetErrorEmbeddedNSError, "_stdlib_getErrorEmbeddedNSError")
7575

7676
#undef FUNC_DECL

lib/SILGen/SILGenConvert.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ ManagedValue SILGenFunction::emitExistentialErasure(
539539
ManagedValue concreteValue = F(SGFContext());
540540
ManagedValue potentialNSError =
541541
emitApplyOfLibraryIntrinsic(loc,
542-
SGM.getGetErrorEmbeddedNSErrorValue(loc),
542+
SGM.getGetErrorEmbeddedNSError(loc),
543543
ctx.AllocateCopy(substitutions),
544544
{ concreteValue },
545545
SGFContext())

stdlib/public/core/ErrorType.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,15 @@ public func _stdlib_getErrorUserInfoNSDictionary<T : Error>(_ x: UnsafePointer<T
149149
return x.pointee._userInfo.map { $0 as AnyObject }
150150
}
151151

152-
@_silgen_name("swift_stdlib_getErrorEmbeddedNSError")
153-
public func _stdlib_getErrorEmbeddedNSError<T : Error>(_ x: UnsafePointer<T>)
154-
-> AnyObject? {
152+
@_silgen_name("swift_stdlib_getErrorEmbeddedNSErrorIndirect")
153+
public func _stdlib_getErrorEmbeddedNSErrorIndirect<T : Error>(
154+
_ x: UnsafePointer<T>) -> AnyObject? {
155155
return x.pointee._getEmbeddedNSError()
156156
}
157157

158158
/// FIXME: Quite unfortunate to have both of these.
159-
@_silgen_name("swift_stdlib_getErrorEmbeddedNSErrorValue")
160-
public func _stdlib_getErrorEmbeddedNSErrorValue<T : Error>(_ x: T)
159+
@_silgen_name("swift_stdlib_getErrorEmbeddedNSError")
160+
public func _stdlib_getErrorEmbeddedNSError<T : Error>(_ x: T)
161161
-> AnyObject? {
162162
return x._getEmbeddedNSError()
163163
}

stdlib/public/runtime/Casting.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2006,21 +2006,23 @@ static bool _dynamicCastToFunction(OpaqueValue *dest,
20062006
}
20072007

20082008
#if SWIFT_OBJC_INTEROP
2009-
// @_silgen_name("swift_stdlib_getErrorEmbeddedNSError")
2010-
// public func _stdlib_getErrorEmbeddedNSError<T : Error>(_ x: UnsafePointer<T>)
2011-
// -> AnyObject?
2009+
// @_silgen_name("swift_stdlib_getErrorEmbeddedNSErrorIndirect")
2010+
// public func _stdlib_getErrorEmbeddedNSErrorIndirect<T : Error>(
2011+
/// _ x: UnsafePointer<T>) -> AnyObject?
20122012
SWIFT_CC(swift)
2013-
extern "C" id swift_stdlib_getErrorEmbeddedNSError(const OpaqueValue *error,
2014-
const Metadata *T,
2015-
const WitnessTable *Error);
2013+
extern "C" id swift_stdlib_getErrorEmbeddedNSErrorIndirect(
2014+
const OpaqueValue *error,
2015+
const Metadata *T,
2016+
const WitnessTable *Error);
20162017

20172018
static id dynamicCastValueToNSError(OpaqueValue *src,
20182019
const Metadata *srcType,
20192020
const WitnessTable *srcErrorWitness,
20202021
DynamicCastFlags flags) {
20212022
// Check whether there is an embedded error.
2022-
if (auto embedded = swift_stdlib_getErrorEmbeddedNSError(src, srcType,
2023-
srcErrorWitness)) {
2023+
if (auto embedded =
2024+
swift_stdlib_getErrorEmbeddedNSErrorIndirect(src, srcType,
2025+
srcErrorWitness)) {
20242026
if (flags & DynamicCastFlags::TakeOnSuccess)
20252027
srcType->vw_destroy(src);
20262028

test/SILGen/objc_error.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ extension Error {
124124
// CHECK-LABEL: sil hidden @_TFE10objc_errorPs5Error16convertToNSErrorfT_CSo7NSError
125125
// CHECK: bb0([[SELF:%[0-9]+]] : $*Self)
126126
func convertToNSError() -> NSError {
127-
// CHECK: [[GET_EMBEDDED_FN:%[0-9]+]] = function_ref @swift_stdlib_getErrorEmbeddedNSErrorValue
127+
// CHECK: [[GET_EMBEDDED_FN:%[0-9]+]] = function_ref @swift_stdlib_getErrorEmbeddedNSError
128128
// CHECK: [[EMBEDDED_RESULT_OPT:%[0-9]+]] = apply [[GET_EMBEDDED_FN]]
129129
// CHECK: [[HAS_EMBEDDED_RESULT:%[0-9]+]] = select_enum [[EMBEDDED_RESULT_OPT]] : $Optional<AnyObject>
130130
// CHECK: cond_br [[HAS_EMBEDDED_RESULT]], [[SUCCESS:bb[0-9]+]], [[FAILURE:bb[0-9]+]]

0 commit comments

Comments
 (0)