Sha256: 176a2ae6d7664e4c30e67d08a3eedebccd69b5383d7635178ceb7971d2611d95

Contents?: true

Size: 620 Bytes

Versions: 3

Compression:

Stored size: 620 Bytes

Contents

module RipperRubyParser
  module SexpHandlers
    module Arguments
      def process_args_add_block exp
        _, regular, block = exp.shift 3
        args = handle_potentially_typeless_sexp(regular)
        if block
          args << s(:block_pass, process(block))
        end
        s(:arglist, *args)
      end

      def process_args_add_star exp
        generic_add_star exp
      end

      def process_arg_paren exp
        _, args = exp.shift 2
        args = s() if args.nil?
        unless args.first.is_a? Symbol
          args.unshift :arglist
        end
        process(args)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ripper_ruby_parser-0.0.4 lib/ripper_ruby_parser/sexp_handlers/arguments.rb
ripper_ruby_parser-0.0.3 lib/ripper_ruby_parser/sexp_handlers/arguments.rb
ripper_ruby_parser-0.0.2 lib/ripper_ruby_parser/sexp_handlers/arguments.rb