Method: RDoc::Parser::Ruby#parse_method_name

Defined in:
lib/rdoc/parser/ruby.rb

#parse_method_name(container) ⇒ Object

Parses the name of a method in container.

Returns the method name, the container it is in (for def Foo.name) and if it is a singleton or regular method.



1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
# File 'lib/rdoc/parser/ruby.rb', line 1383

def parse_method_name container # :nodoc:
  @scanner.lex_state = :EXPR_FNAME

  skip_tkspace
  name_t = get_tk
  back_tk = skip_tkspace
  singleton = false

  case dot = get_tk
  when TkDOT, TkCOLON2 then
    singleton = true

    name, container = parse_method_name_singleton container, name_t
  else
    unget_tk dot
    back_tk.reverse_each do |token|
      unget_tk token
    end

    name = parse_method_name_regular container, name_t
  end

  return name, container, singleton
end