Class: Objc2swiftAssistant::CategoryDeclarationRegion

Inherits:
AbstractCategoryRegion show all
Defined in:
lib/objc2swift_assistant/recognizers/category_recognizer.rb

Instance Attribute Summary

Attributes inherited from AbstractCategoryRegion

#category_name

Attributes inherited from ClassRootRegion

#class_name

Attributes inherited from MigrationRegion

#allowed_parent_region_types, #can_occur_in_class_decl, #configuration, #detection_line, #ending_line_number, #ending_of_root_header, #is_root_entity, #is_single_line, #parent_region, #region_identifier, #region_type, #root_header, #starting_line_number, #sub_regions

Attributes inherited from FailableProcessingElement

#error_messages

Instance Method Summary collapse

Methods inherited from AbstractCategoryRegion

#brief_description

Methods inherited from ClassRootRegion

#description

Methods inherited from MigrationRegion

#add_sub_region, #brief_description, #complete, #contains_line, #dump, #dump_region_info, #generic_description, #has_failed, #resolve_ending_line_number

Methods inherited from FailableProcessingElement

#add_error, #add_warning, #has_errors, #initiailize

Constructor Details

#initialize(starting_line_number, is_root_entity) ⇒ CategoryDeclarationRegion

Returns a new instance of CategoryDeclarationRegion.



37
38
39
# File 'lib/objc2swift_assistant/recognizers/category_recognizer.rb', line 37

def initialize(starting_line_number, is_root_entity )
  super(starting_line_number, is_root_entity, CAT_EXT_DECLARARATION_KEY )
end

Instance Method Details

#extract_information(file_slice) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/objc2swift_assistant/recognizers/category_recognizer.rb', line 41

def extract_information( file_slice )
  m = CATEGORY_DECLARATION_REGEX.match(file_slice[0])
  if m.nil?
    @configuration.log_warning( "WARNING: Could not match category info in #{file_slice[0]}" )
  else
    @class_name = m[ 'class_name' ]
    @category_name = m[ 'category_name' ]
    @region_type = @category_name.nil? || @category_name.length == 0 ? EXTENSION_DECLARARATION_KEY : CATEGORY_DECLARARATION_KEY
    @configuration.log_verbose( "category_name = #{@category_name} @class_name = #{@class_name}")
  end
end