Module: Objc2swiftAssistant
- Defined in:
- lib/objc2swift_assistant/processing_element.rb,
lib/assistant.rb,
lib/objc2swift_assistant/version.rb,
lib/objc2swift_assistant/file_sets.rb,
lib/objc2swift_assistant/objc_2_swift.rb,
lib/objc2swift_assistant/code_recognizer.rb,
lib/objc2swift_assistant/objc_variable_types.rb,
lib/objc2swift_assistant/file_hierarchical_config.rb,
lib/objc2swift_assistant/objc_2_swift_type_mapping.rb,
lib/objc2swift_assistant/objc_2_swift_configuration.rb,
lib/objc2swift_assistant/recognizers/recognizer_keys.rb,
lib/objc2swift_assistant/objc_2_swift_block_conversion.rb,
lib/objc2swift_assistant/recognizers/method_recognizer.rb,
lib/objc2swift_assistant/recognizers/category_recognizer.rb,
lib/objc2swift_assistant/recognizers/protocol_recognizer.rb,
lib/objc2swift_assistant/recognizers/interface_recognizer.rb,
lib/objc2swift_assistant/recognizers/pragma_mark_recognizer.rb,
lib/objc2swift_assistant/recognizers/implementation_recognizer.rb,
lib/objc2swift_assistant/recognizers/at_sign_directives_recognizer.rb,
lib/objc2swift_assistant/recognizers/property_declaration_recognizer.rb
Overview
require_relative ‘file_sets’ require_relative ‘recognizers/recognizer_keys’ require_relative ‘objc_2_swift_type_mapping’ require_relative ‘objc_2_swift_block_conversion’
Defined Under Namespace
Classes: AbstractCategoryRegion, Assistant, AtDirectiveRecognizer, AtDirectiveRegion, CategoryDeclarationRecognizer, CategoryDeclarationRegion, CategoryImplRecognizer, CategoryImplementationRegion, ClassInterfaceRegion, ClassRootRegion, CodeRecognizer, DirectoryNode, FailableProcessingElement, FileHierarchicalConfig, FileHierarchicalConfigNode, FileSet, GeneratedSwiftFileNode, GeneratedSwiftFileSet, ImplementationRecognizer, ImplementationRegion, InterfaceRecognizer, MethodRecognizer, MethodRegion, MigrationRegion, ObjC2SwiftCategoryConverter, ObjC2SwiftClassConverter, ObjC2SwiftClassLikeConverter, ObjC2SwiftCodeConverter, ObjC2SwiftConfigNode, ObjC2SwiftConfiguration, ObjC2SwiftEnumConverter, ObjC2SwiftFileConverter, ObjC2SwiftMethodConverter, ObjC2SwiftPropertyConverter, ObjC2SwiftProtocolConverter, ObjCAbstractParameter, ObjCBlockParameter, ObjCDirectoryNode, ObjCFileNode, ObjCFileSet, ObjCMethodParameter, ObjCProperty, ObjCReturnType, Objc2SwiftBlockConverter, Objc2SwiftBlockSignature, Objc2SwiftTypeMapper, Objc2SwiftTypeMapping, PragmaMarkRecognizer, PragmaMarkRegion, ProcessedSourceFile, PropertyDeclarationRecognizer, PropertyDeclarationRegion, ProtocolRecognizer, ProtocolRegion, ScannedFileSet, SourceFileNode
Constant Summary
collapse
- VERSION =
"0.3.4"
- SUBDIR_KEY =
'subdirs'
- PATH_KEY =
'path'
- LOG_LEVEL_NONE =
0
- LOG_LEVEL_ERRORS =
1
- LOG_LEVEL_WARNINGS =
2
- LOG_LEVEL_VERBOSE =
3
- LOG_LEVEL_DEBUG =
4
- LOG_LEVELS_BY_NAME =
{
"error" => LOG_LEVEL_ERRORS,
"warning" => LOG_LEVEL_WARNINGS ,
"verbose" => LOG_LEVEL_VERBOSE ,
"debug" => LOG_LEVEL_DEBUG,
"none" => LOG_LEVEL_NONE
}
- COMPANY_NAME_KEY =
'company_name'
- OMIT_FILE_KEY =
'omit_file'
- EMIT_ORIGINAL_SIGNATURES_KEY =
'emit_original_signatures'
- EMIT_ORIGINAL_BODIES_KEY =
'emit_original_bodies'
- EMIT_UNCONVERTED_CONTENT_KEY =
'emit_unconverted_content'
- ALL_CONFIG_KEYS =
[
COMPANY_NAME_KEY,
OMIT_FILE_KEY,
EMIT_ORIGINAL_SIGNATURES_KEY,
EMIT_ORIGINAL_BODIES_KEY,
EMIT_UNCONVERTED_CONTENT_KEY
]
- CLASS_INTERFACE_KEY =
:class_interface
- CLASS_IMPLEMENTATION_KEY =
:class_implementation
- ENUM_DECLARATION_KEY =
:enum_declaration
- PROPERTY_DECLARATION_KEY =
:property_declaration
- CAT_EXT_DECLARARATION_KEY =
:category_or_extension_declaration
- EXTENSION_DECLARARATION_KEY =
:extension_declaration
- CATEGORY_DECLARARATION_KEY =
:category_declaration
- CATEGORY_IMPLEMENTATION_KEY =
:category_implementation
- PROTOCOL_DECLARATION_KEY =
:protocol_declaration
- PRAGMA_MARK_KEY =
:pragma_mark
- AT_DIRECTIVE_KEY =
:at_directive
- METHOD_INDETERMINATE_KEY =
:method_declatation_or_implementation
- METHOD_DECLARATION_KEY =
:method_declaration
- METHOD_IMPLEMENTATION_KEY =
:method_implementation
- CATEGORY_DECLARATION_REGEX =
/^\s*(@interface)\s*(?<class_name>\w*)\s*\((?<category_name>\w*)\)/
- CATEGORY_IMPLEMENTATION_REGEX =
/^\s*(@implementation)\s*(?<class_name>\w*)\s*\((?<category_name>\w*)\)/
- PRAGMA_MARK_REGEX =
/^\s*((#pragma mark)|(\/\/\s*MARK\s*\:))(?<mark_text>.*)/
- DIRECTIVE_REGEX =
/^\s*@(?<directive>((required)|(optional)|(public)|(private)|(protected)))/
- @@type_mapping =
Objc2SwiftTypeMapper.new()
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.cleanup_method_body_lines(file_lines) ⇒ Object
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/objc2swift_assistant/objc_2_swift.rb', line 11
def cleanup_method_body_lines( file_lines )
cleaned_up = []
file_lines.each do |line|
no_trailing = line.rstrip
next if no_trailing.strip == '@end'
cleaned_up << no_trailing if no_trailing.length > 0
end
cleaned_up
end
|
6
7
8
9
10
11
12
13
14
|
# File 'lib/objc2swift_assistant/code_recognizer.rb', line 6
def ( line )
new_line = line
m = line.match( /^(?<uncommented>.*)\/\/(?<comment>.*)/ )
unless m.nil?
new_line = m[ 'uncommented' ].strip
end
return new_line
end
|
17
18
19
20
21
22
|
# File 'lib/objc2swift_assistant/code_recognizer.rb', line 17
def ( lines )
return lines.map do |line|
Objc2swiftAssistant::( line )
end
end
|
.is_getter_method_name(property_name, method_name) ⇒ Object
25
26
27
28
|
# File 'lib/objc2swift_assistant/code_recognizer.rb', line 25
def is_getter_method_name( property_name, method_name )
return property_name == method_name
end
|
.is_setter_method_name(property_name, method_name) ⇒ Object
32
33
34
35
|
# File 'lib/objc2swift_assistant/code_recognizer.rb', line 32
def is_setter_method_name( property_name, method_name )
setter_name = "set" + property_name[0, 1].upcase + property_name[1..-1]
return method_name == setter_name
end
|
23
24
25
26
27
28
29
30
31
|
# File 'lib/objc2swift_assistant/objc_2_swift.rb', line 23
def ( file_lines )
cleaned_up = []
file_lines.each do |line|
no_trailing = line.rstrip
cleaned_up << '// ' + no_trailing if no_trailing.length > 0
end
cleaned_up
end
|
.prepare_method_body_lines(lines) ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/objc2swift_assistant/objc_2_swift.rb', line 34
def prepare_method_body_lines( lines )
raw_body_lines = cleanup_method_body_lines( lines )
body_lines = raw_body_lines.map do |line|
'// ' + line
end
body_lines
end
|
Instance Method Details
#description ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/objc2swift_assistant/recognizers/pragma_mark_recognizer.rb', line 32
def description()
if @is_block_property
return generic_description( "Block Property: prop_name=#{@prop_name} block_return_type=#{@block_return_type} block_args=#{@block_args}" )
else
return generic_description( "type_name=#{@type_name} is_pointer=#{@is_pointer} prop_name=#{@prop_name}" )
end
end
|