lib/simplabs/excellent/parsing/code_processor.rb in excellent-1.6.0 vs lib/simplabs/excellent/parsing/code_processor.rb in excellent-1.7.0

- old
+ new

@@ -86,15 +86,27 @@ def process_for(exp) process_default(exp, ForLoopContext.new(exp, @contexts.last)) end def process_args(exp) - exp[1..-1].each { |parameter| @contexts.last.parameters << parameter if parameter.is_a?(Symbol) } + exp[1..-1].each do |parameter| + case parameter + when Sexp + case parameter[0] + when :masgn + parameter[1..-1].each { |parameter| @contexts.last.parameters << parameter } + when :lasgn + @contexts.last.parameters << parameter[1] + end + when Symbol + @contexts.last.parameters << parameter if parameter.is_a?(Symbol) + end + end process_default(exp) end def process_masgn(exp) - exp[1][1..-1].each { |parameter| @contexts.last.parameters << parameter[1] if parameter[1].is_a?(Symbol) } if @contexts.last.is_a?(BlockContext) + exp[1..-1].each { |parameter| @contexts.last.parameters << parameter[1] if parameter[1].is_a?(Symbol) } if @contexts.last.is_a?(BlockContext) process_default(exp) end def process_case(exp) process_default(exp, CaseContext.new(exp, @contexts.last))