Skip to content

Commit e4e82c1

Browse files
authored
fix: Rename autolinked class to prevent overlap with hybrid object name (#1146)
* fix: Rename autolinked class to prevent overlap with hybrid object name * fix: Now it uses the proper namespace
1 parent 65de064 commit e4e82c1

File tree

8 files changed

+28
-21
lines changed

8 files changed

+28
-21
lines changed

packages/nitrogen/src/syntax/swift/SwiftHybridObjectRegistration.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ interface SwiftHybridObjectRegistration {
2222
requiredImports: SourceImport[]
2323
}
2424

25+
export function getAutolinkingClassName(hybridObjectName: string): string {
26+
return `Autolinked${hybridObjectName}`
27+
}
28+
2529
export function getAutolinkingNamespace() {
2630
const swiftNamespace = NitroConfig.current.getIosModuleName()
2731
const autolinkingClassName = `${swiftNamespace}Autolinking`
@@ -32,7 +36,8 @@ export function getHybridObjectConstructorCall(
3236
hybridObjectName: string
3337
): string {
3438
const namespace = getAutolinkingNamespace()
35-
return `${namespace}::${hybridObjectName}::create();`
39+
const autolinkingClassName = getAutolinkingClassName(hybridObjectName)
40+
return `${namespace}::${autolinkingClassName}::create();`
3641
}
3742

3843
export function createSwiftHybridObjectRegistration({
@@ -48,10 +53,11 @@ export function createSwiftHybridObjectRegistration({
4853
NitroConfig.current
4954
)
5055
const bridge = new SwiftCxxBridgedType(type)
56+
const autolinkingClassName = getAutolinkingClassName(hybridObjectName)
5157

5258
return {
5359
swiftRegistrationClass: `
54-
public final class ${hybridObjectName}: AutolinkedClass {
60+
public final class ${autolinkingClassName}: AutolinkedClass {
5561
public static func create() -> ${bridge.getTypeCode('swift')} {
5662
let hybridObject = ${swiftClassName}()
5763
return ${indent(bridge.parseFromSwiftToCpp('hybridObject', 'swift'), ' ')}

packages/nitrogen/src/views/swift/SwiftHybridViewManager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
import { getUmbrellaHeaderName } from '../../autolinking/ios/createSwiftUmbrellaHeader.js'
1212
import { getHybridObjectName } from '../../syntax/getHybridObjectName.js'
1313
import {
14+
getAutolinkingClassName,
1415
getAutolinkingNamespace,
1516
getHybridObjectConstructorCall,
1617
} from '../../syntax/swift/SwiftHybridObjectRegistration.js'
@@ -142,7 +143,7 @@ using namespace ${namespace}::views;
142143
}
143144
144145
+ (BOOL)shouldBeRecycled {
145-
return ${getAutolinkingNamespace()}::${spec.name}::isRecyclableHybridView();
146+
return ${getAutolinkingNamespace()}::${getAutolinkingClassName(spec.name)}::isRecyclableHybridView();
146147
}
147148
148149
- (void)prepareForRecycle {

packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/react-native-nitro-test/nitrogen/generated/ios/NitroTestAutolinking.mm

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,42 +39,42 @@ + (void) load {
3939
HybridObjectRegistry::registerHybridObjectConstructor(
4040
"TestObjectSwiftKotlin",
4141
[]() -> std::shared_ptr<HybridObject> {
42-
std::shared_ptr<HybridTestObjectSwiftKotlinSpec> hybridObject = NitroTest::NitroTestAutolinking::TestObjectSwiftKotlin::create();
42+
std::shared_ptr<HybridTestObjectSwiftKotlinSpec> hybridObject = NitroTest::NitroTestAutolinking::AutolinkedTestObjectSwiftKotlin::create();
4343
return hybridObject;
4444
}
4545
);
4646
HybridObjectRegistry::registerHybridObjectConstructor(
4747
"Base",
4848
[]() -> std::shared_ptr<HybridObject> {
49-
std::shared_ptr<HybridBaseSpec> hybridObject = NitroTest::NitroTestAutolinking::Base::create();
49+
std::shared_ptr<HybridBaseSpec> hybridObject = NitroTest::NitroTestAutolinking::AutolinkedBase::create();
5050
return hybridObject;
5151
}
5252
);
5353
HybridObjectRegistry::registerHybridObjectConstructor(
5454
"Child",
5555
[]() -> std::shared_ptr<HybridObject> {
56-
std::shared_ptr<HybridChildSpec> hybridObject = NitroTest::NitroTestAutolinking::Child::create();
56+
std::shared_ptr<HybridChildSpec> hybridObject = NitroTest::NitroTestAutolinking::AutolinkedChild::create();
5757
return hybridObject;
5858
}
5959
);
6060
HybridObjectRegistry::registerHybridObjectConstructor(
6161
"PlatformObject",
6262
[]() -> std::shared_ptr<HybridObject> {
63-
std::shared_ptr<HybridPlatformObjectSpec> hybridObject = NitroTest::NitroTestAutolinking::PlatformObject::create();
63+
std::shared_ptr<HybridPlatformObjectSpec> hybridObject = NitroTest::NitroTestAutolinking::AutolinkedPlatformObject::create();
6464
return hybridObject;
6565
}
6666
);
6767
HybridObjectRegistry::registerHybridObjectConstructor(
6868
"TestView",
6969
[]() -> std::shared_ptr<HybridObject> {
70-
std::shared_ptr<HybridTestViewSpec> hybridObject = NitroTest::NitroTestAutolinking::TestView::create();
70+
std::shared_ptr<HybridTestViewSpec> hybridObject = NitroTest::NitroTestAutolinking::AutolinkedTestView::create();
7171
return hybridObject;
7272
}
7373
);
7474
HybridObjectRegistry::registerHybridObjectConstructor(
7575
"RecyclableTestView",
7676
[]() -> std::shared_ptr<HybridObject> {
77-
std::shared_ptr<HybridRecyclableTestViewSpec> hybridObject = NitroTest::NitroTestAutolinking::RecyclableTestView::create();
77+
std::shared_ptr<HybridRecyclableTestViewSpec> hybridObject = NitroTest::NitroTestAutolinking::AutolinkedRecyclableTestView::create();
7878
return hybridObject;
7979
}
8080
);

packages/react-native-nitro-test/nitrogen/generated/ios/NitroTestAutolinking.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public final class NitroTestAutolinking {
2929
static var isRecyclableHybridView: Bool { get }
3030
}
3131

32-
public final class TestObjectSwiftKotlin: AutolinkedClass {
32+
public final class AutolinkedTestObjectSwiftKotlin: AutolinkedClass {
3333
public static func create() -> bridge.std__shared_ptr_HybridTestObjectSwiftKotlinSpec_ {
3434
let hybridObject = HybridTestObjectSwift()
3535
return { () -> bridge.std__shared_ptr_HybridTestObjectSwiftKotlinSpec_ in
@@ -42,7 +42,7 @@ public final class NitroTestAutolinking {
4242
}
4343
}
4444

45-
public final class Base: AutolinkedClass {
45+
public final class AutolinkedBase: AutolinkedClass {
4646
public static func create() -> bridge.std__shared_ptr_HybridBaseSpec_ {
4747
let hybridObject = HybridBase()
4848
return { () -> bridge.std__shared_ptr_HybridBaseSpec_ in
@@ -55,7 +55,7 @@ public final class NitroTestAutolinking {
5555
}
5656
}
5757

58-
public final class Child: AutolinkedClass {
58+
public final class AutolinkedChild: AutolinkedClass {
5959
public static func create() -> bridge.std__shared_ptr_HybridChildSpec_ {
6060
let hybridObject = HybridChild()
6161
return { () -> bridge.std__shared_ptr_HybridChildSpec_ in
@@ -68,7 +68,7 @@ public final class NitroTestAutolinking {
6868
}
6969
}
7070

71-
public final class PlatformObject: AutolinkedClass {
71+
public final class AutolinkedPlatformObject: AutolinkedClass {
7272
public static func create() -> bridge.std__shared_ptr_HybridPlatformObjectSpec_ {
7373
let hybridObject = HybridPlatformObject()
7474
return { () -> bridge.std__shared_ptr_HybridPlatformObjectSpec_ in
@@ -81,7 +81,7 @@ public final class NitroTestAutolinking {
8181
}
8282
}
8383

84-
public final class TestView: AutolinkedClass {
84+
public final class AutolinkedTestView: AutolinkedClass {
8585
public static func create() -> bridge.std__shared_ptr_HybridTestViewSpec_ {
8686
let hybridObject = HybridTestView()
8787
return { () -> bridge.std__shared_ptr_HybridTestViewSpec_ in
@@ -94,7 +94,7 @@ public final class NitroTestAutolinking {
9494
}
9595
}
9696

97-
public final class RecyclableTestView: AutolinkedClass {
97+
public final class AutolinkedRecyclableTestView: AutolinkedClass {
9898
public static func create() -> bridge.std__shared_ptr_HybridRecyclableTestViewSpec_ {
9999
let hybridObject = HybridRecyclableTestView()
100100
return { () -> bridge.std__shared_ptr_HybridRecyclableTestViewSpec_ in

packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridRecyclableTestViewComponent.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ + (void) load {
4343

4444
- (instancetype) init {
4545
if (self = [super init]) {
46-
std::shared_ptr<HybridRecyclableTestViewSpec> hybridView = NitroTest::NitroTestAutolinking::RecyclableTestView::create();
46+
std::shared_ptr<HybridRecyclableTestViewSpec> hybridView = NitroTest::NitroTestAutolinking::AutolinkedRecyclableTestView::create();
4747
_hybridView = std::dynamic_pointer_cast<HybridRecyclableTestViewSpecSwift>(hybridView);
4848
[self updateView];
4949
}
@@ -95,7 +95,7 @@ - (void) updateProps:(const std::shared_ptr<const react::Props>&)props
9595
}
9696

9797
+ (BOOL)shouldBeRecycled {
98-
return NitroTest::NitroTestAutolinking::RecyclableTestView::isRecyclableHybridView();
98+
return NitroTest::NitroTestAutolinking::AutolinkedRecyclableTestView::isRecyclableHybridView();
9999
}
100100

101101
- (void)prepareForRecycle {

packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ + (void) load {
4343

4444
- (instancetype) init {
4545
if (self = [super init]) {
46-
std::shared_ptr<HybridTestViewSpec> hybridView = NitroTest::NitroTestAutolinking::TestView::create();
46+
std::shared_ptr<HybridTestViewSpec> hybridView = NitroTest::NitroTestAutolinking::AutolinkedTestView::create();
4747
_hybridView = std::dynamic_pointer_cast<HybridTestViewSpecSwift>(hybridView);
4848
[self updateView];
4949
}
@@ -110,7 +110,7 @@ - (void) updateProps:(const std::shared_ptr<const react::Props>&)props
110110
}
111111

112112
+ (BOOL)shouldBeRecycled {
113-
return NitroTest::NitroTestAutolinking::TestView::isRecyclableHybridView();
113+
return NitroTest::NitroTestAutolinking::AutolinkedTestView::isRecyclableHybridView();
114114
}
115115

116116
- (void)prepareForRecycle {

0 commit comments

Comments
 (0)