DVT SystemVerilog IDE User Guide
Rev. 24.1.9, 26 April 2024

40.17.1 Call Hierarchy View

The Call Hierarchy view presents the call tree of a function or task.

Place the editor cursor on the desired element, right-click, and choose Show > Call Hierarchy, or press Ctrl + Alt + H.

Using the buttons in the toolbar(see below), you can select the Call Hierarchy Strategy based on your needs.

The Callee Hierarchy Strategy shows method calls in the selected function or task. You can expand nodes in the tree to further inspect the hierarchy.

Note: Conditional ( if / case) and fork blocks are also shown. You can hide them using the Filters... toolbar button.

Note: To show labeled blocks in the view use the Filters... toolbar button.

Note: When calling a virtual method on a base class handle, any of the child overrides of that method may be executed, depending on the runtime object type. In addition to the method call, you may choose to see all calls from overrides, using the Filters... toolbar button.

The Caller Hierarchy Strategy shows method calls of the selected function or task.

Note: When calling a virtual method on a base class handle, any of the child overrides of that method may be executed, depending on the runtime object type. In addition to the method call, you may choose to see all method calls of the parent function implementation, using the Filters... toolbar button.

Note: When using the Caller Hierarchy Strategy, the view compacts all function/task calls from the same scope into a single node, with multiple lines specified in the line column.

If you want to see all the function calls from the same scope, you can open the Inspect Panel and select the node in the Call Hierarchy View.

Note: The same input appears in the Inspect View, if you wish to use it instead.

Tip: When using the Caller Hierarchy Strategy, if the Call Hierarchy is triggered on a field, it shows field references in functions/tasks on the first level, then method calls from the second level onwards.

Tip: Double click on any node to jump to the method call. In Caller Hierarchy Strategy the editor will jump to the first method call if multiple are available in the same scope.

Tip: Use Up and Down arrow keys to navigate the view, Left to collapse and Right to expand.

Tip: Right-click on a node to:

  • Remove from View Remove selected node from the tree.

  • Expand Children Expand all children of the selected node.

  • Expand Multiple Levels Expand a custom number of levels from the selected node.

  • Go to First Call Jump to the first call of a recurrent method call.

  • Go to Declaration Jump to the declaration of the selected method.

Toolbar

Caller Hierarchy Switch strategy to caller. Also refreshes the view.
Callee Hierarchy Switch strategy to callee. Also refreshes the view.
Refresh View Recompute the call tree if dirty (see below).
Link with editor Link tree selection with editor.
Filters Hide conditional, fork or override nodes. Changing filters requires refresh (see below).
Prepend Package Name Show package name in labels.
Expand Multiple Levels Expand a custom number of levels.
Toggle Inspect Panel Show/hide the inspect panel embedded in the view.
Analyze all root method extensions Analyzes root method extensions (disabled, only available for e Language).

Icons

Conditional block ( if / case)
fork block
Function call
Predefined function call
Static function call
Function override
Task call
Static task call
Task override
Field node
Constructor call
Predefined constructor call
Let call
Macro call
Recurrent method call
Call to undeclared method
Labeled block

Refresh

The Call Hierarchy view is not automatically updated at incremental build or when modifying filters.

When you decide it's time to recompute the view contents, simply click the Refresh toolbar button.

Note: Refresh may not retain the state of the method call tree.