-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calls from default argument values show inconsistent caller information #57
Comments
This wouldn't be a problem if we weren't trying to surface the caller entity. We could use rb_profile_frames to get efficiently get the caller method name, which we already do to accurately get the caller file path. Previously we were deriving the caller component from the caller entity, but now we can do that from the caller file path. We won't always have a caller entity anyways for anonymous classes/modules or from calls in blocks. |
For example, if we have a method defined with
the
discount.try(:code)
call shows that line in the file path and line number for the call, but the entity and method name refer to the caller ofcreate_applied_discount_from
which is inconsistent with the file path. Ideally, for thediscount.try(:code)
call, the caller method would show up ascreate_applied_discount_from
and the caller entity would be the class of the object that method was called on.This is happening because rotoscope tries to keep information from the stack based by pushing a frame to this stack on call events and popping a stack from on a return event. However, in this case the call event hasn't happened yet.
The text was updated successfully, but these errors were encountered: