nx::current(3) NX API nx::current(3) ________________________________________________________________________________ NAME nx::current - Return information about the method callstack SYNOPSIS current ?option? ________________________________________________________________________________ DESCRIPTION current ?option? This introspection command provides information about various de- tails, to be identified using option, on the callstack. The command is invoked from a method body. If option is not provided, nx::cur- rent will default to option object (see below). nx::current operates on the Tcl callstack and is aware of NX-specific callstack and stackframe details. Except for the options callinglevel and level, calling nx::current outside an NX object or method will result in an error. option can be any of the following: * activelevel returns the actual callstack level which calls into the currently executing method directly. This ac- tivelevel might correspond the callinglevel, but this is not necessarily the case. The activelevel also includes interme- diate calls, such as nx::next invocations. The level is re- ported as an absolute level number (# followed by a digit) to be directly used as the first argument to uplevel or upvar. * args returns the list of argument values passed into the cur- rently executing method implementation. * calledclass returns the name of the class that provides the method implementation to which the intercepted method call is to be redirected (only available from within filter methods). * calledmethod returns the original method name requested by intercepted method call (only available from within filter methods). * callingclass returns the name of the class which provides the method implementation calling into the currently executing method. See also callingobject. * callinglevel resolves the callstack level of the originating invocation of the currently executing method implementation. Callstack levels introduced by method interception (e.g., filters) and by method combination (nx::next) are ignored. The level is reported as an absolute level number (# followed by a digit) to be directly used as the first argument to up- level or upvar. See also activelevel. If called outside NX, 1 is returned (which is the default for upvar and uplevel). * callingobject returns the name of the object which is calling into the currently executing method. See also callingclass. * class returns the name of the class providing the currently executing method implementation. The returned method-provid- ing class may be different to the class of the current ob- ject. If called from within a method implementation provided by the current object itself, an empty string is returned. * filterreg returns the object (class) on which the currently executing method was registered as a filter method (only available from within filter methods). * isnextcall will return 1, if the currently executing method implementation was invoked via nx::next; 0 otherwise. * level will return a number indicating the stack level of the currently executed method or script, or an empty string when executed outside an NX context (e.g., in a Tcl proc or a namespace script). The resulting value can be directly passed as level to info level. * method returns the name of the currently executing method. If an ensemble-method call, the name of the bottom-most ("leaf") method is returned. * methodpath returns the combined name of the currently execut- ing method (including all ensemble levels) in an ensemble- method call. Otherwise, for a regular method call, the result corresponds to the result of option method. * nextmethod returns the name of the next most specific method implementation to be called when invoking nx::next. * object gives the name of the object on which the currently executing method implementation is evaluated. COPYRIGHT Copyright (c) 2014-16 Stefan Sobernig <stefan.sobernig@wu.ac.at>, Gustaf Neumann <gustaf.neumann@wu.ac.at>; available under the Creative Commons Attribution 3.0 Austria license (CC BY 3.0 AT). current 2.4.0 nx::current(3)
NAME | SYNOPSIS | DESCRIPTION | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=current.nx&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
