Class: Inch::Language::Elixir::Provider::Reader::Object::FunctionObject::FunctionSignature

Inherits:
Struct
  • Object
show all
Defined in:
lib/inch/language/elixir/provider/reader/object/function_object.rb

Instance Method Summary collapse

Instance Method Details

#name_from_tuple(a, _, b) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/inch/language/elixir/provider/reader/object/function_object.rb', line 40

def name_from_tuple(a, _, b)
  if b.nil? || b == 'Elixir'
    a
  else
    if a == '\\\\'
      candidate = b.first
      if candidate.is_a?(Array)
        name_from_tuple(*candidate)
      else
        candidate
      end
    else
      warn "[WARN] could not parse FunctionSignature: #{[a, _, b].inspect}"
    end
  end
end

#parameter_namesObject



33
34
35
36
37
38
# File 'lib/inch/language/elixir/provider/reader/object/function_object.rb', line 33

def parameter_names
  return [] if signature.nil?
  signature.map do |tuple|
    name_from_tuple(*tuple)
  end
end