fix primitive wrapper
diff --git a/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart b/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart index 0ccb827..eacf265 100644 --- a/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart +++ b/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart
@@ -68,12 +68,16 @@ "Wrapped instance can't have a generic type", ); - return 'var ${property.name}: ${property.type.swiftType}\n'; + final prefix = property.hasObjCAnnotation ? '@objc public ' : ''; + return '${prefix}var ${property.name}: ${property.type.swiftType}\n'; } List<String> _generateInitializers(ClassDeclaration declaration) { return [ - ...generateInitializer(declaration.wrapperInitializer, isPublic: false), + ...generateInitializer( + declaration.wrapperInitializer, + isPublic: declaration.wrapperInitializer?.hasObjCAnnotation ?? false, + ), for (final init in declaration.initializers) ...generateInitializer(init, isPublic: true), ];
diff --git a/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart b/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart index 921bff3..984f21d 100644 --- a/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart +++ b/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart
@@ -28,6 +28,7 @@ source: primitiveType.declaration.source, availability: availability, type: primitiveType, + hasObjCAnnotation: true, ); return ClassDeclaration( id: primitiveType.id.addIdSuffix('wrapper'),
diff --git a/pkgs/swift2objc/test/integration/inout_output.swift b/pkgs/swift2objc/test/integration/inout_output.swift index 9f02e66..da93fed 100644 --- a/pkgs/swift2objc/test/integration/inout_output.swift +++ b/pkgs/swift2objc/test/integration/inout_output.swift
@@ -40,9 +40,9 @@ } @objc public class IntWrapper: NSObject { - var wrappedInstance: Int + @objc public var wrappedInstance: Int - init(_ wrappedInstance: Int) { + @objc public init(_ wrappedInstance: Int) { self.wrappedInstance = wrappedInstance }
diff --git a/pkgs/swift2objc/test/integration/optional_primitives_output.swift b/pkgs/swift2objc/test/integration/optional_primitives_output.swift index 6e4d2dd..25f26f4 100644 --- a/pkgs/swift2objc/test/integration/optional_primitives_output.swift +++ b/pkgs/swift2objc/test/integration/optional_primitives_output.swift
@@ -61,36 +61,36 @@ } @objc public class BoolWrapper: NSObject { - var wrappedInstance: Bool + @objc public var wrappedInstance: Bool - init(_ wrappedInstance: Bool) { + @objc public init(_ wrappedInstance: Bool) { self.wrappedInstance = wrappedInstance } } @objc public class DoubleWrapper: NSObject { - var wrappedInstance: Double + @objc public var wrappedInstance: Double - init(_ wrappedInstance: Double) { + @objc public init(_ wrappedInstance: Double) { self.wrappedInstance = wrappedInstance } } @objc public class FloatWrapper: NSObject { - var wrappedInstance: Float + @objc public var wrappedInstance: Float - init(_ wrappedInstance: Float) { + @objc public init(_ wrappedInstance: Float) { self.wrappedInstance = wrappedInstance } } @objc public class IntWrapper: NSObject { - var wrappedInstance: Int + @objc public var wrappedInstance: Int - init(_ wrappedInstance: Int) { + @objc public init(_ wrappedInstance: Int) { self.wrappedInstance = wrappedInstance }
diff --git a/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift b/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift index 0457b72..3dc4243 100644 --- a/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift +++ b/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift
@@ -113,36 +113,36 @@ } @objc public class BoolWrapper: NSObject { - var wrappedInstance: Bool + @objc public var wrappedInstance: Bool - init(_ wrappedInstance: Bool) { + @objc public init(_ wrappedInstance: Bool) { self.wrappedInstance = wrappedInstance } } @objc public class DoubleWrapper: NSObject { - var wrappedInstance: Double + @objc public var wrappedInstance: Double - init(_ wrappedInstance: Double) { + @objc public init(_ wrappedInstance: Double) { self.wrappedInstance = wrappedInstance } } @objc public class FloatWrapper: NSObject { - var wrappedInstance: Float + @objc public var wrappedInstance: Float - init(_ wrappedInstance: Float) { + @objc public init(_ wrappedInstance: Float) { self.wrappedInstance = wrappedInstance } } @objc public class IntWrapper: NSObject { - var wrappedInstance: Int + @objc public var wrappedInstance: Int - init(_ wrappedInstance: Int) { + @objc public init(_ wrappedInstance: Int) { self.wrappedInstance = wrappedInstance }