Class: Swiftfake::SourceKitParser::FunctionParser

Inherits:
Object
  • Object
show all
Defined in:
lib/swiftfake/source_kit_parser.rb

Instance Method Summary collapse

Instance Method Details

#parse(function_line) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/swiftfake/source_kit_parser.rb', line 69

def parse(function_line)
  return nil unless can_override?(function_line)

  /func (?<name>.*)\(/ =~ function_line
  /(?<access>public|internal|private)/ =~ function_line
  /->\s(?<return_value>.+)$/ =~ function_line

  return_value.strip! unless return_value.nil?

  SwiftFunction.new(
    full_name: function_line.strip,
    name: name,
    access: access,
    arguments: parse_args(function_line),
    return_value: return_value
  )
end