Sha256: eeed48598f2079b2a5b3c69ed58d8fad20d9039d9b223693bdae367d635466cf
Contents?: true
Size: 1.11 KB
Versions: 174
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module RuboCop module AST # A node extension for `args` nodes. This will be used in place of a plain # node when the builder constructs the AST, making its methods available # to all `args` nodes within RuboCop. class ArgsNode < Node include CollectionNode # It returns true if arguments are empty and delimiters do not exist. # @example: # # true # def x; end # x { } # -> {} # # # false # def x(); end # def x a; end # x { || } # -> () {} # -> a {} def empty_and_without_delimiters? loc.expression.nil? end # Yield each argument from the collection. # Arguments can be inside `mlhs` nodes in the case of destructuring, so this # flattens the collection to just `arg`, `optarg`, `restarg`, `kwarg`, # `kwoptarg`, `kwrestarg`, `blockarg`, `forward_arg` and `shadowarg`. # # @return [Array<Node>] array of argument nodes. def argument_list each_descendant(*ARGUMENT_TYPES).to_a.freeze end end end end
Version data entries
174 entries across 168 versions & 22 rubygems