Class: Objc2swiftAssistant::Objc2SwiftTypeMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/objc2swift_assistant/objc_2_swift_type_mapping.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeObjc2SwiftTypeMapper

Returns a new instance of Objc2SwiftTypeMapper.



10
11
12
13
14
15
16
17
18
19
20
21
# 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

Instance Attribute Details

#mappings_by_objc_typeObject

Returns the value of attribute mappings_by_objc_type.



8
9
10
# File 'lib/objc2swift_assistant/objc_2_swift_type_mapping.rb', line 8

def mappings_by_objc_type
  @mappings_by_objc_type
end

#mappings_by_swift_typeObject

Returns the value of attribute mappings_by_swift_type.



7
8
9
# File 'lib/objc2swift_assistant/objc_2_swift_type_mapping.rb', line 7

def mappings_by_swift_type
  @mappings_by_swift_type
end

Instance Method Details

#map_types(objc_type_symbol, swift_type_symbol, swift_default_value) ⇒ Object



23
24
25
26
27
# 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) ⇒ Object



34
35
36
# 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) ⇒ Object



29
30
31
32
# 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) ⇒ Object



38
39
40
41
# 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