Skip to content

Commit d8ae96f

Browse files
Merge pull request #642 from PassiveLogic/kr/bridgejs-wrap-function-scope-fix
BridgeJS: Use indirect _exports lookup in wrap functions
2 parents f2327ec + 487cf79 commit d8ae96f

23 files changed

+40
-40
lines changed

Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1122,7 +1122,7 @@ public struct BridgeJSLink {
11221122
for klass in classes.sorted(by: { $0.name < $1.name }) {
11231123
let wrapperFunctionName = "bjs_\(klass.name)_wrap"
11241124
wrapperLines.append("importObject[\"\(moduleName)\"][\"\(wrapperFunctionName)\"] = function(pointer) {")
1125-
wrapperLines.append(" const obj = \(klass.name).__construct(pointer);")
1125+
wrapperLines.append(" const obj = _exports['\(klass.name)'].__construct(pointer);")
11261126
wrapperLines.append(" return \(JSGlueVariableScope.reservedSwift).memory.retain(obj);")
11271127
wrapperLines.append("};")
11281128
}

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/ArrayTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ export async function createInstantiator(options, swift) {
239239
importObject["TestModule"] = {};
240240
}
241241
importObject["TestModule"]["bjs_Item_wrap"] = function(pointer) {
242-
const obj = Item.__construct(pointer);
242+
const obj = _exports['Item'].__construct(pointer);
243243
return swift.memory.retain(obj);
244244
};
245245
const TestModule = importObject["TestModule"] = importObject["TestModule"] || {};

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/DefaultParameters.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,15 +272,15 @@ export async function createInstantiator(options, swift) {
272272
importObject["TestModule"] = {};
273273
}
274274
importObject["TestModule"]["bjs_ConstructorDefaults_wrap"] = function(pointer) {
275-
const obj = ConstructorDefaults.__construct(pointer);
275+
const obj = _exports['ConstructorDefaults'].__construct(pointer);
276276
return swift.memory.retain(obj);
277277
};
278278
importObject["TestModule"]["bjs_DefaultGreeter_wrap"] = function(pointer) {
279-
const obj = DefaultGreeter.__construct(pointer);
279+
const obj = _exports['DefaultGreeter'].__construct(pointer);
280280
return swift.memory.retain(obj);
281281
};
282282
importObject["TestModule"]["bjs_EmptyGreeter_wrap"] = function(pointer) {
283-
const obj = EmptyGreeter.__construct(pointer);
283+
const obj = _exports['EmptyGreeter'].__construct(pointer);
284284
return swift.memory.retain(obj);
285285
};
286286
},

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/DictionaryTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ export async function createInstantiator(options, swift) {
201201
importObject["TestModule"] = {};
202202
}
203203
importObject["TestModule"]["bjs_Box_wrap"] = function(pointer) {
204-
const obj = Box.__construct(pointer);
204+
const obj = _exports['Box'].__construct(pointer);
205205
return swift.memory.retain(obj);
206206
};
207207
const TestModule = importObject["TestModule"] = importObject["TestModule"] || {};

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/EnumAssociatedValue.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1027,7 +1027,7 @@ export async function createInstantiator(options, swift) {
10271027
importObject["TestModule"] = {};
10281028
}
10291029
importObject["TestModule"]["bjs_User_wrap"] = function(pointer) {
1030-
const obj = User.__construct(pointer);
1030+
const obj = _exports['User'].__construct(pointer);
10311031
return swift.memory.retain(obj);
10321032
};
10331033
},

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/EnumNamespace.Global.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,15 +244,15 @@ export async function createInstantiator(options, swift) {
244244
importObject["TestModule"] = {};
245245
}
246246
importObject["TestModule"]["bjs_Converter_wrap"] = function(pointer) {
247-
const obj = Converter.__construct(pointer);
247+
const obj = _exports['Converter'].__construct(pointer);
248248
return swift.memory.retain(obj);
249249
};
250250
importObject["TestModule"]["bjs_HTTPServer_wrap"] = function(pointer) {
251-
const obj = HTTPServer.__construct(pointer);
251+
const obj = _exports['HTTPServer'].__construct(pointer);
252252
return swift.memory.retain(obj);
253253
};
254254
importObject["TestModule"]["bjs_TestServer_wrap"] = function(pointer) {
255-
const obj = TestServer.__construct(pointer);
255+
const obj = _exports['TestServer'].__construct(pointer);
256256
return swift.memory.retain(obj);
257257
};
258258
},

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/EnumNamespace.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,15 +225,15 @@ export async function createInstantiator(options, swift) {
225225
importObject["TestModule"] = {};
226226
}
227227
importObject["TestModule"]["bjs_Converter_wrap"] = function(pointer) {
228-
const obj = Converter.__construct(pointer);
228+
const obj = _exports['Converter'].__construct(pointer);
229229
return swift.memory.retain(obj);
230230
};
231231
importObject["TestModule"]["bjs_HTTPServer_wrap"] = function(pointer) {
232-
const obj = HTTPServer.__construct(pointer);
232+
const obj = _exports['HTTPServer'].__construct(pointer);
233233
return swift.memory.retain(obj);
234234
};
235235
importObject["TestModule"]["bjs_TestServer_wrap"] = function(pointer) {
236-
const obj = TestServer.__construct(pointer);
236+
const obj = _exports['TestServer'].__construct(pointer);
237237
return swift.memory.retain(obj);
238238
};
239239
},

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/JSValue.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ export async function createInstantiator(options, swift) {
290290
importObject["TestModule"] = {};
291291
}
292292
importObject["TestModule"]["bjs_JSValueHolder_wrap"] = function(pointer) {
293-
const obj = JSValueHolder.__construct(pointer);
293+
const obj = _exports['JSValueHolder'].__construct(pointer);
294294
return swift.memory.retain(obj);
295295
};
296296
const TestModule = importObject["TestModule"] = importObject["TestModule"] || {};

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/MixedGlobal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ export async function createInstantiator(options, swift) {
200200
importObject["TestModule"] = {};
201201
}
202202
importObject["TestModule"]["bjs_GlobalClass_wrap"] = function(pointer) {
203-
const obj = GlobalClass.__construct(pointer);
203+
const obj = _exports['GlobalClass'].__construct(pointer);
204204
return swift.memory.retain(obj);
205205
};
206206
},

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/MixedModules.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,15 +200,15 @@ export async function createInstantiator(options, swift) {
200200
importObject["GlobalModule"] = {};
201201
}
202202
importObject["GlobalModule"]["bjs_GlobalClass_wrap"] = function(pointer) {
203-
const obj = GlobalClass.__construct(pointer);
203+
const obj = _exports['GlobalClass'].__construct(pointer);
204204
return swift.memory.retain(obj);
205205
};
206206
// Wrapper functions for module: PrivateModule
207207
if (!importObject["PrivateModule"]) {
208208
importObject["PrivateModule"] = {};
209209
}
210210
importObject["PrivateModule"]["bjs_PrivateClass_wrap"] = function(pointer) {
211-
const obj = PrivateClass.__construct(pointer);
211+
const obj = _exports['PrivateClass'].__construct(pointer);
212212
return swift.memory.retain(obj);
213213
};
214214
},

0 commit comments

Comments
 (0)