diff --git a/compiler/compiler/Compiler/Sources/Generation/ObjC/ObjCCodeGenerator.swift b/compiler/compiler/Compiler/Sources/Generation/ObjC/ObjCCodeGenerator.swift index 48bc20f3..6f849a2d 100644 --- a/compiler/compiler/Compiler/Sources/Generation/ObjC/ObjCCodeGenerator.swift +++ b/compiler/compiler/Compiler/Sources/Generation/ObjC/ObjCCodeGenerator.swift @@ -233,10 +233,11 @@ final class ObjCClassGenerator { func ensureTypeAvailability(type: IOSType) { apiHeader.addImport(path: type.importHeaderStatement(kind: .apiOnly)) header.addImport(path: type.importHeaderStatement(kind: .withUtilities)) + let safeTypeName = type.name.replacingOccurrences(of: "-", with: "_") if type.kind == .interface { - apiHeader.addForwardDeclaration(type: "@protocol \(type.name);") + apiHeader.addForwardDeclaration(type: "@protocol \(safeTypeName);") } else if type.kind == .class { - apiHeader.addForwardDeclaration(type: "@class \(type.name);") + apiHeader.addForwardDeclaration(type: "@class \(safeTypeName);") } } diff --git a/compiler/compiler/Compiler/Sources/Template/ObjCViewClassGenerator.swift b/compiler/compiler/Compiler/Sources/Template/ObjCViewClassGenerator.swift index b0e873d9..3d6d769f 100644 --- a/compiler/compiler/Compiler/Sources/Template/ObjCViewClassGenerator.swift +++ b/compiler/compiler/Compiler/Sources/Template/ObjCViewClassGenerator.swift @@ -30,7 +30,7 @@ class ObjCViewClassGenerator: LanguageSpecificViewClassGenerator { componentContextClass: IOSType?) { self.bundleInfo = bundleInfo self.iosType = iosType - self.className = iosType.name + self.className = iosType.name.replacingOccurrences(of: "-", with: "_") self.componentPath = componentPath self.sourceFilename = sourceFilename self.viewModelClass = viewModelClass @@ -71,7 +71,7 @@ class ObjCViewClassGenerator: LanguageSpecificViewClassGenerator { header.appendBody("@property (readonly, nonatomic) \(className) * _Nullable \(nodeId.camelCased);\n") // TODO(3521): Update to SCValdiView if !className.hasPrefix("UI") && className != "SCValdiView" { - header.appendHeader("@class \(className);\n") + header.appendHeader("@class \(className.replacingOccurences(of: "-", with: "_");\n") } impl.appendBody(""" diff --git a/compiler/compiler/Compiler/Sources/ViewModels/ObjCModelGenerator.swift b/compiler/compiler/Compiler/Sources/ViewModels/ObjCModelGenerator.swift index fee2864f..3c1491e2 100644 --- a/compiler/compiler/Compiler/Sources/ViewModels/ObjCModelGenerator.swift +++ b/compiler/compiler/Compiler/Sources/ViewModels/ObjCModelGenerator.swift @@ -23,7 +23,7 @@ final class ObjCModelGenerator { init(iosType: IOSType, bundleInfo: CompilationItem.BundleInfo, typeParameters: [ValdiTypeParameter]?, properties: [ValdiModelProperty], classMapping: ResolvedClassMapping, sourceFileName: GeneratedSourceFilename, isInterface: Bool, emitLegacyConstructors: Bool, comments: String?) { self.iosType = iosType self.bundleInfo = bundleInfo - self.className = iosType.name + self.className = iosType.name.replacingOccurrences(of: "-", with: "_") self.typeParameters = typeParameters self.properties = properties self.classMapping = classMapping diff --git a/libtinfo5_6.3-2ubuntu0.1_amd64.deb b/libtinfo5_6.3-2ubuntu0.1_amd64.deb new file mode 100644 index 00000000..06dbc482 Binary files /dev/null and b/libtinfo5_6.3-2ubuntu0.1_amd64.deb differ