class YARD::Parser::Ruby::ParameterNode
Public Instance Methods
Source
# File lib/yard/parser/ruby/ast_node.rb, line 430 def args_forward # shape is (required, optional, rest, more, keyword, keyword_rest, block) # Ruby 3.1 moves :args_forward from rest to keyword_rest args_index = YARD.ruby31? ? -2 : 2 self[args_index].type == :args_forward if self[args_index] end
Source
# File lib/yard/parser/ruby/ast_node.rb, line 426 def block_param self[-1] ? self[-1][0] : nil end
Source
# File lib/yard/parser/ruby/ast_node.rb, line 414 def double_splat_param return nil unless YARD.ruby2? if (node = self[-2]).is_a?(AstNode) if node.type == :ident node elsif node.type == :kwrest_param # See https://bugs.ruby-lang.org/issues/12387 node.last end end end
Source
# File lib/yard/parser/ruby/ast_node.rb, line 396 def named_params return @named_params if defined?(@named_params) if YARD.ruby2? && self[-3] && self[-3][0] && self[-3][0].type == :named_arg @named_params = self[-3] else @named_params = nil end end
Source
# File lib/yard/parser/ruby/ast_node.rb, line 406 def splat_param self[2] ? self[2][0] : nil end
Source
# File lib/yard/parser/ruby/ast_node.rb, line 410 def unnamed_end_params self[3] end
Source
# File lib/yard/parser/ruby/ast_node.rb, line 385 def unnamed_optional_params return @unnamed_optional_params if defined?(@unnamed_optional_params) params = self[1] || [] if self[-3] && self[-3][0] && self[-3][0].type == :unnamed_optional_arg params += self[-3] end @unnamed_optional_params = params.empty? ? nil : params end
Source
# File lib/yard/parser/ruby/ast_node.rb, line 381 def unnamed_required_params self[0] end