List of function traces through theoretical execution

So, I'm trying to trace how a database column is used, I find it doing a Find in Files search, but it's buried in a function in a class, executed somewhere at the end of one or more long lightning bolts through possible code twists and turns, and it takes forever for me to try to figure out how the app logically could call it, but it's also hard for me to remember all the functions the path takes or could take, and I end up often having to copy-paste the classes+functions to a note file to keep track.

I'd like to find something easier, like a list of possible execution paths that could arrive at that function, which is something I can do painstakingly manually (just by tracing usages in classes and functions), but that I think PHPStorm could do quickly from a click, but I'm not seeing how to do yet (if that exists), like this, if the function I'm starting from is named `classCfunctionD`:

Usage trace of class C function D:
class B function A:
    class A function C:
        class C function D;
    class A function F:
        class A function D:
            class A function G;
class B function C:
    class D function A;
class C function A:
    (grayed out or collapsed section because it's redundant)
    (maybe each section has an ID like A, B, C, and all redundant sections have the same ID)
    class A function C:
        class C function D;
... etc ...

I hope this is clear.

If this already exists, or something like it, please let me know how to activate it for a given function (method) in a given class file.

 

8 comments
Comment actions Permalink

Thanks! That's exactly what I'm looking for.

However, I don't see an option for it when right-clicking a function... is that something that can be added?

I notice it has a keyboard shortcut, which I didn't see in the right-click menu.

 

0
Comment actions Permalink

It's not added by default, but you can add it manually at Settings/Preferences | Appearance & Behavior | Menus and Toolbars | Editor Popup Menu.

0
Comment actions Permalink

I'm not sure I'm finding how to do it...

0
Comment actions Permalink

Thanks, but I don't understand why the plus button drop-down actions are unselectable (grayed out) while I have 'Editor Popup Menu' selected, and only activate when I click one of its features (like Cut), when doing that then puts the new action side-by-side to those features... that seems out of context and counter-intuitive. If I were to select something like "LightEditModePopup", I'd think the plus button would apply to making new actions for that section, not requiring me to click one of the already-created features of that section to make one side-by-side to it. I'm not aware of another interface that works that way anyway.

 

0
Comment actions Permalink

I agree that it might be counter-intuitive but that the main logic here is when you select something, it is considered that you are currently on the same level as selected object is. In other words, when "Editor Popup Menu" is selected, you are on the same top level and therefore, nothing can be added there.

0
Comment actions Permalink

I'm just saying that it being intuitive prevents new forum replies.

0

Please sign in to leave a comment.