Method: RubyParser#args
- Defined in:
- lib/ruby_parser_extras.rb
#args(arg, optarg, rest_arg, block_arg) ⇒ Object
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/ruby_parser_extras.rb', line 153 def args arg, optarg, rest_arg, block_arg arg ||= s(:args) result = arg if optarg then optarg[1..-1].each do |lasgn| # FIX clean sexp iter raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn result << lasgn[1] end end result << rest_arg if rest_arg result << :"&#{block_arg.last}" if block_arg result << optarg if optarg # TODO? huh - processed above as well result end |