**********************************************************************
*** Site#has_many_dependent_destroy_for_moderated_entries loaded with 17 possible mutations
**********************************************************************
17 mutations remaining...
16 mutations remaining...
15 mutations remaining...
14 mutations remaining...
13 mutations remaining...
12 mutations remaining...
11 mutations remaining...
10 mutations remaining...
9 mutations remaining...
8 mutations remaining...
7 mutations remaining...
6 mutations remaining...
5 mutations remaining...
4 mutations remaining...
bug!
mutatees:
{:call=>
[s(:call,
s(:sclass, s(:lvar, :o), s(:scope, s(:self))),
:send,
s(:arglist,
s(:lit, :define_method),
s(:lvar, :counter_method),
s(:iter, s(:call, s(:const, :Proc), :new, s(:arglist)), nil)))],
:false=>[],
:dasgn=>[],
:lit=>[],
:iasgn=>[],
:str=>[],
:lasgn=>[],
:iter=>
[s(:iter, s(:call, s(:const, :Proc), :new, s(:arglist)), nil),
s(:iter,
s(:call,
s(:call,
nil,
:send,
s(:arglist, s(:call, s(:lvar, :reflection), :name, s(:arglist)))),
:each,
s(:arglist)),
s(:lasgn, :o),
s(:block,
s(:lasgn,
:counter_method,
s(:call,
s(:call,
s(:str, "belongs_to_counter_cache_before_destroy_for_"),
:+,
s(:arglist,
s(:call,
s(:call,
s(:call, s(:self), :class, s(:arglist)),
:name,
s(:arglist)),
:downcase,
s(:arglist)))),
:to_sym,
s(:arglist))),
s(:if,
s(:call,
s(:lvar, :o),
:respond_to?,
s(:arglist, s(:lvar, :counter_method))),
s(:call,
s(:sclass, s(:lvar, :o), s(:scope, s(:self))),
:send,
s(:arglist,
s(:lit, :define_method),
s(:lvar, :counter_method),
s(:iter, s(:call, s(:const, :Proc), :new, s(:arglist)), nil))),
nil),
s(:call, s(:lvar, :o), :destroy, s(:arglist))))],
:if=>
[s(:if,
s(:call,
s(:lvar, :o),
:respond_to?,
s(:arglist, s(:lvar, :counter_method))),
s(:call,
s(:sclass, s(:lvar, :o), s(:scope, s(:self))),
:send,
s(:arglist,
s(:lit, :define_method),
s(:lvar, :counter_method),
s(:iter, s(:call, s(:const, :Proc), :new, s(:arglist)), nil))),
nil)],
:cvasgn=>[],
:until=>[],
:true=>[],
:dasgn_curr=>[],
:gasgn=>[],
:while=>[]}
original tree:
s(:defn,
:has_many_dependent_destroy_for_moderated_entries,
s(:args),
s(:scope,
s(:block,
s(:iter,
s(:call,
s(:call,
nil,
:send,
s(:arglist, s(:call, s(:lvar, :reflection), :name, s(:arglist)))),
:each,
s(:arglist)),
s(:lasgn, :o),
s(:block,
s(:lasgn,
:counter_method,
s(:call,
s(:call,
s(:str, "belongs_to_counter_cache_before_destroy_for_"),
:+,
s(:arglist,
s(:call,
s(:call,
s(:call, s(:self), :class, s(:arglist)),
:name,
s(:arglist)),
:downcase,
s(:arglist)))),
:to_sym,
s(:arglist))),
s(:if,
s(:call,
s(:lvar, :o),
:respond_to?,
s(:arglist, s(:lvar, :counter_method))),
s(:call,
s(:sclass, s(:lvar, :o), s(:scope, s(:self))),
:send,
s(:arglist,
s(:lit, :define_method),
s(:lvar, :counter_method),
s(:iter, s(:call, s(:const, :Proc), :new, s(:arglist)), nil))),
nil),
s(:call, s(:lvar, :o), :destroy, s(:arglist)))))))
Infinite loop detected!
Please save this output to an attachment and submit a ticket here:
http://rubyforge.org/tracker/?func=add&group_id=1513&atid=5921
=====
Using heckle 1.4.3, rspec 1.3.0 |