# Class: YARD::Parser::Ruby::MethodCallNode

Inherits:
  AstNode
  - Object
  - Array
  - AstNode
  - YARD::Parser::Ruby::MethodCallNode
  show all

Defined in:
  lib/yard/parser/ruby/ast_node.rb

## Managing node state collapse

- #block ⇒ Object
- #block_param ⇒ Object
- #call? ⇒ Boolean
- #method_name(name_only = false) ⇒ Object
- #namespace ⇒ Object
- #parameters(include_block_param = true) ⇒ Object

## Constructor Details

This class inherits a constructor from YARD::Parser::Ruby::AstNode

## Instance Method Details

### #block ⇒ `Object`

    465
    466
    467

    # File 'lib/yard/parser/ruby/ast_node.rb', line 465

    def block
      last.type == :do_block || last.type == :brace_block ? last : nil
    end

### #block_param ⇒ `Object`

    463

    # File 'lib/yard/parser/ruby/ast_node.rb', line 463

    def block_param; parameters.last end

### #call? ⇒ `Boolean`

Returns:

- (`Boolean`)

    440

    # File 'lib/yard/parser/ruby/ast_node.rb', line 440

    def call?; true end

### #method_name(name_only = false) ⇒ `Object`

    443
    444
    445
    446
    447
    448
    449
    450
    451
    452

    # File 'lib/yard/parser/ruby/ast_node.rb', line 443

    def method_name(name_only = false)
      name = self[index_adjust]
      if name == :call
        nil
      elsif name_only && Array === name
        name.jump(:ident).first.to_sym
      else
        name
      end
    end

### #namespace ⇒ `Object`

    441

    # File 'lib/yard/parser/ruby/ast_node.rb', line 441

    def namespace; first if index_adjust > 0 end

### #parameters(include_block_param = true) ⇒ `Object`

    454
    455
    456
    457
    458
    459
    460
    461

    # File 'lib/yard/parser/ruby/ast_node.rb', line 454

    def parameters(include_block_param = true)
      return [] if type == :vcall
      params = self[1 + index_adjust]
      return [] unless params
      params = call_has_paren? ? params.first : params
      return [] unless params
      include_block_param ? params : params[0...-1]
    end