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

Inherits:
AstNode show all
Defined in:
lib/yard/parser/ruby/ast_node.rb

Constant Summary

Instance Attribute Summary collapse

Managing node state collapse

Constructor Details

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

Instance Attribute Details

#docstringObject Also known as: comments Originally defined in class AstNode

Returns the value of attribute docstring

#docstring_hash_flagObject Also known as: comments_hash_flag Originally defined in class AstNode

Returns the value of attribute docstring_hash_flag

#docstring_rangeObject Also known as: comments_range Originally defined in class AstNode

Returns the value of attribute docstring_range

#fileString Originally defined in class AstNode

Returns the filename the node was parsed from

Returns:

  • (String)

    the filename the node was parsed from

#full_sourceString Originally defined in class AstNode

Returns the full source that the node was parsed from

Returns:

  • (String)

    the full source that the node was parsed from

#groupObject Originally defined in class AstNode

Deprecated.

Groups are now defined by directives

#line_rangeRange Originally defined in class AstNode

Returns the line range in #full_source represented by the node

Returns:

  • (Range)

    the line range in #full_source represented by the node

#parentAstNode? Originally defined in class AstNode

Returns the node's parent or nil if it is a root node.

Returns:

  • (AstNode, nil)

    the node's parent or nil if it is a root node.

#sourceString Originally defined in class AstNode

Returns the parse of #full_source that the node represents

Returns:

#source_rangeRange Originally defined in class AstNode

Returns the character range in #full_source represented by the node

Returns:

  • (Range)

    the character range in #full_source represented by the node

#typeSymbol Originally defined in class AstNode

Returns the node's unique symbolic type

Returns:

  • (Symbol)

    the node's unique symbolic type

Instance Method Details

#blockObject



446
447
448
# File 'lib/yard/parser/ruby/ast_node.rb', line 446

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

#block_paramObject



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

def block_param; parameters.last end

#call?Boolean

Returns:

  • (Boolean)


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

def call?; true end

#method_name(name_only = false) ⇒ Object



425
426
427
428
429
430
431
432
433
434
# File 'lib/yard/parser/ruby/ast_node.rb', line 425

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

#namespaceObject



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

def namespace; first if index_adjust > 0 end

#parameters(include_block_param = true) ⇒ Object



436
437
438
439
440
441
442
443
# File 'lib/yard/parser/ruby/ast_node.rb', line 436

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