CallStackDepth (System function): Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Automatically generated page update) |
||
Line 7: | Line 7: | ||
<table class="syntaxTable"> | <table class="syntaxTable"> | ||
<tr><th>%number</th><td>A numeric variable to receive the current call stack depth (that is, number of nested calls).</td></tr> | <tr><th>%number</th><td>A numeric variable to receive the current call stack depth (that is, number of nested calls).</td></tr> | ||
<tr><th><var>%(System)</var></th><td>The class name in parentheses denotes a [[Notation conventions for methods#Shared methods|shared]] method.</td></tr> | <tr><th><var class="nobr">%(System)</var></th><td>The class name in parentheses denotes a [[Notation conventions for methods#Shared methods|shared]] method.</td></tr> | ||
</table> | </table> | ||
Latest revision as of 00:19, 16 February 2014
Depth of the call stack (System class)
TheCallStackDepth shared function returns a number indicating the depth of the call stack.
Syntax
%number = %(System):CallStackDepth
Syntax terms
%number | A numeric variable to receive the current call stack depth (that is, number of nested calls). |
---|---|
%(System) | The class name in parentheses denotes a shared method. |
Usage Notes
- At level-0 (immediately inside a Begin/End), CallStackDepth always returns
0
. For a method or subroutine called directly from level-0 code, CallStackDepth returns1
. For a method called from a method called from level-0, CallStackDepth returns2
; and so on. - The CallStackDepth method is intended to be used for problem diagnosis and, perhaps, for logging and auditing. Using it to affect method or subroutine behavior by causing a method or subroutine to behave differently depending on the call stack depth is extremely poor technique, and it cannot be discouraged strongly enough.
- CallStackDepth is available in Sirius Mods Version 7.2 and later.
See also
- The actual caller associated with a particular depth can be determined using the CallStackCaller function.
- CallStack can be used to return the same information as returned by CallStackCaller, but for every call level in the call stack.
The number of items returned by the CallStack (System function)|CallStack method will always equal the value returned by CallStackDepth at the same point in the code.