# File typeprof-0.12.0/lib/typeprof/method.rb, line 185
def do_send(recv, mid, aargs, caller_ep, caller_env, scratch, &ctn)
case @kind
when :reader
if aargs.lead_tys.size == 0
scratch.add_ivar_read!(recv, @ivar, caller_ep) do |ty, _ep|
ctn[ty, caller_ep, caller_env]
end
else
ctn[Type.any, caller_ep, caller_env]
end
when :writer
if aargs.lead_tys.size == 1
ty = aargs.lead_tys[0]
scratch.set_instance_variable(recv, @ivar, ty, caller_ep, caller_env)
ctn[ty, caller_ep, caller_env]
else
ctn[Type.any, caller_ep, caller_env]
end
end
end