@@ -187,8 +187,8 @@ public struct ImportTS {
187187 body . append ( " let ret = \( raw : callExpr ) " )
188188 }
189189
190- // Add exception check for contexts that call INTO JavaScript
191- if context == . importTS || context == . exportSwiftProtocol {
190+ // Add exception check for ImportTS context
191+ if context == . importTS {
192192 body . append ( " if let error = _swift_js_take_exception() { throw error } " )
193193 }
194194 }
@@ -887,7 +887,7 @@ extension BridgeType {
887887 Swift classes can only be used in @JS protocols where Swift owns the instance.
888888 """
889889 )
890- case . exportSwift , . exportSwiftProtocol :
890+ case . exportSwift :
891891 return LoweringParameterInfo ( loweredParameters : [ ( " pointer " , . pointer ) ] )
892892 }
893893 case . swiftProtocol :
@@ -896,30 +896,30 @@ extension BridgeType {
896896 switch context {
897897 case . importTS :
898898 throw BridgeJSCoreError ( " Enum types are not yet supported in TypeScript imports " )
899- case . exportSwift , . exportSwiftProtocol :
899+ case . exportSwift :
900900 return LoweringParameterInfo ( loweredParameters : [ ( " value " , . i32 ) ] )
901901 }
902902 case . rawValueEnum ( _, let rawType ) :
903903 switch context {
904904 case . importTS :
905905 return LoweringParameterInfo ( loweredParameters : [ ( " value " , rawType . wasmCoreType ?? . i32 ) ] )
906- case . exportSwift , . exportSwiftProtocol :
906+ case . exportSwift :
907907 // For protocol export we return .i32 for String raw value type instead of nil
908908 return LoweringParameterInfo ( loweredParameters : [ ( " value " , rawType . wasmCoreType ?? . i32 ) ] )
909909 }
910910 case . associatedValueEnum :
911911 switch context {
912912 case . importTS :
913913 throw BridgeJSCoreError ( " Enum types are not yet supported in TypeScript imports " )
914- case . exportSwift , . exportSwiftProtocol :
914+ case . exportSwift :
915915 return LoweringParameterInfo ( loweredParameters : [ ( " caseId " , . i32 ) ] )
916916 }
917917 case . swiftStruct :
918918 switch context {
919919 case . importTS :
920920 // Swift structs are bridged as JS objects (object IDs) in imported signatures.
921921 return LoweringParameterInfo ( loweredParameters : [ ( " objectId " , . i32 ) ] )
922- case . exportSwift , . exportSwiftProtocol :
922+ case . exportSwift :
923923 return LoweringParameterInfo ( loweredParameters : [ ] )
924924 }
925925 case . namespaceEnum :
@@ -928,7 +928,7 @@ extension BridgeType {
928928 switch context {
929929 case . importTS :
930930 throw BridgeJSCoreError ( " Optional types are not yet supported in TypeScript imports " )
931- case . exportSwift , . exportSwiftProtocol :
931+ case . exportSwift :
932932 let wrappedInfo = try wrappedType . loweringParameterInfo ( context : context )
933933 var params = [ ( " isSome " , WasmCoreType . i32 ) ]
934934 params . append ( contentsOf : wrappedInfo . loweredParameters )
@@ -938,7 +938,7 @@ extension BridgeType {
938938 switch context {
939939 case . importTS :
940940 throw BridgeJSCoreError ( " Array types are not yet supported in TypeScript imports " )
941- case . exportSwift , . exportSwiftProtocol :
941+ case . exportSwift :
942942 return LoweringParameterInfo ( loweredParameters : [ ] )
943943 }
944944 }
@@ -981,7 +981,7 @@ extension BridgeType {
981981 JavaScript cannot create Swift heap objects.
982982 """
983983 )
984- case . exportSwift , . exportSwiftProtocol :
984+ case . exportSwift :
985985 return LiftingReturnInfo ( valueToLift : . pointer )
986986 }
987987 case . swiftProtocol :
@@ -990,30 +990,30 @@ extension BridgeType {
990990 switch context {
991991 case . importTS :
992992 throw BridgeJSCoreError ( " Enum types are not yet supported in TypeScript imports " )
993- case . exportSwift , . exportSwiftProtocol :
993+ case . exportSwift :
994994 return LiftingReturnInfo ( valueToLift : . i32 )
995995 }
996996 case . rawValueEnum ( _, let rawType ) :
997997 switch context {
998998 case . importTS :
999999 return LiftingReturnInfo ( valueToLift : rawType . wasmCoreType ?? . i32 )
1000- case . exportSwift , . exportSwiftProtocol :
1000+ case . exportSwift :
10011001 // For protocol export we return .i32 for String raw value type instead of nil
10021002 return LiftingReturnInfo ( valueToLift : rawType . wasmCoreType ?? . i32 )
10031003 }
10041004 case . associatedValueEnum :
10051005 switch context {
10061006 case . importTS :
10071007 throw BridgeJSCoreError ( " Enum types are not yet supported in TypeScript imports " )
1008- case . exportSwift , . exportSwiftProtocol :
1008+ case . exportSwift :
10091009 return LiftingReturnInfo ( valueToLift : . i32 )
10101010 }
10111011 case . swiftStruct :
10121012 switch context {
10131013 case . importTS :
10141014 // Swift structs are bridged as JS objects (object IDs) in imported signatures.
10151015 return LiftingReturnInfo ( valueToLift : . i32 )
1016- case . exportSwift , . exportSwiftProtocol :
1016+ case . exportSwift :
10171017 return LiftingReturnInfo ( valueToLift : nil )
10181018 }
10191019 case . namespaceEnum :
@@ -1022,15 +1022,15 @@ extension BridgeType {
10221022 switch context {
10231023 case . importTS :
10241024 throw BridgeJSCoreError ( " Optional types are not yet supported in TypeScript imports " )
1025- case . exportSwift , . exportSwiftProtocol :
1025+ case . exportSwift :
10261026 let wrappedInfo = try wrappedType . liftingReturnInfo ( context : context )
10271027 return LiftingReturnInfo ( valueToLift : wrappedInfo . valueToLift )
10281028 }
10291029 case . array :
10301030 switch context {
10311031 case . importTS :
10321032 throw BridgeJSCoreError ( " Array types are not yet supported in TypeScript imports " )
1033- case . exportSwift , . exportSwiftProtocol :
1033+ case . exportSwift :
10341034 return LiftingReturnInfo ( valueToLift : nil )
10351035 }
10361036 }
0 commit comments