class Objc2swiftAssistant::Objc2SwiftTypeMapper

Attributes

mappings_by_objc_type[RW]
mappings_by_swift_type[RW]

Public Class Methods

new( ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift_type_mapping.rb, line 10
def initialize( )
  @mappings_by_swift_type = {}
  @mappings_by_objc_type = {}

  #initialize default mappings
  map_types( :BOOL,          :Bool,         'false' )
  map_types( :int,           :Int,          '0' )
  map_types( :NSUInteger,    :UInt,         '0')
  map_types( :CGFloat,       :Float,        '0.0' )
  map_types( :id,            :AnyObject?,   '0.0' )
  map_types( :void,          nil,       nil )
end

Public Instance Methods

map_types( objc_type_symbol, swift_type_symbol, swift_default_value ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift_type_mapping.rb, line 23
def map_types( objc_type_symbol, swift_type_symbol, swift_default_value )
  mapping = Objc2SwiftTypeMapping.new( objc_type_symbol, swift_type_symbol, swift_default_value)
  set_mapping( mapping )
  mapping
end
mapping_for_objc_type( objc_type_string ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift_type_mapping.rb, line 34
def mapping_for_objc_type( objc_type_string )
  @mappings_by_objc_type[ objc_type_string.to_sym ]
end
set_mapping( mapping ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift_type_mapping.rb, line 29
def set_mapping( mapping )
  @mappings_by_swift_type[ mapping.swift_type_symbol ] = mapping
  @mappings_by_objc_type[ mapping.objc_type_symbol ] = mapping
end
swift_type_for_objc_type( objc_type_str ) click to toggle source
# File lib/objc2swift_assistant/objc_2_swift_type_mapping.rb, line 38
def swift_type_for_objc_type( objc_type_str )
  mapping = mapping_for_objc_type( objc_type_str )
  mapping.nil? ? objc_type_str : mapping.swift_type_string
end