class Objc2swiftAssistant::ObjC2SwiftClassConverter

Attributes

class_name[RW]
extension_converter[RW]
super_class[RW]

Public Class Methods

new( file_converter, class_name, configuration ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift.rb, line 359
def initialize( file_converter, class_name, configuration )
  super( file_converter, class_name, configuration )
  @extension_region = nil
end

Public Instance Methods

all_methods() click to toggle source
# File lib/objc2swift_assistant/objc_2_swift.rb, line 384
def all_methods
  methods = @methods_by_signature.values.clone
  methods << @extension_region.methods_by_signature.all_values unless @extension_region.nil?
  # Categories are handled as seperate entities
  # @category_regions_by_name.inject( methods ) { |m, (k, v)| m << v.methods_by_signature; m }
  methods
end
all_properties() click to toggle source
# File lib/objc2swift_assistant/objc_2_swift.rb, line 392
def all_properties
  properties = @properties_by_name.values.clone
  properties << @extension_region.properties_by_name.all_values unless @extension_region.nil?
  # Categories are handled as seperate entities
  # @category_regions_by_name.inject( properties ) { |p, (k, v)| p << v.properties_by_name; p }
  properties
end
generate( generator_defs, file_name, configuration, dry_run ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift.rb, line 400
def generate( generator_defs, file_name, configuration, dry_run )
  generated_class = make_generator_class_object( generator_defs, file_name )
  generated_class.source_file.company_name = configuration.company_name( cannonical_source_file_path.to_s ) unless cannonical_source_file_path.nil?

  if ! @interface_region.nil? && emit_unconverted_content()
    generated_class.top_inner_comment_block = Objc2swiftAssistant::prepare_class_header_lines( @interface_region.root_header )
  end

  properties_by_name.each do | _, property |
    property.generate( generated_class, configuration, dry_run )
  end

  methods_by_signature.each do | _, method |
    method.generate( generated_class, configuration, dry_run )
  end
end
make_generator_class_object( generator_defs, file_name ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift.rb, line 417
def make_generator_class_object( generator_defs, file_name )
  @configuration.log_verbose( "------- #{@interface_region.implements}" ) unless @interface_region.nil?
  if @interface_region.nil?
    implements_list =[]
  else
    implements_list = @interface_region.super_class.nil? ? [] : [@interface_region.super_class]
    implements_list << @interface_region.implements unless @interface_region.implements.nil? || @interface_region.implements.length == 0
  end

  SwiftGenerator::SwiftClass.new( generator_defs, class_name, implements_list, file_name:file_name.to_s, characteristics:[] )
end
make_modifiers( access_control:nil, optional:nil ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift.rb, line 429
def make_modifiers( access_control:nil, optional:nil )
  return [] if access_control.nil?

  return [access_control.to_s]
end
prepare() click to toggle source
# File lib/objc2swift_assistant/objc_2_swift.rb, line 364
def prepare
  methods = all_methods
  properties = all_properties

  methods.each do |method_converter|
    method_converter.compute_swift_name
  end

  properties.each do |property_converter|
    methods.each do |method_converter|
      property_converter.check_method_for_association(method_converter)
    end
    property_converter.prepare
  end

  methods.each do |method_converter|
    method_converter.prepare
  end
end