FreeBSD Manual Pages
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 details, to be identified using option, on the callstack. The command is invoked from a method body. If option is not pro- vided, nx::current 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 op- tions callinglevel and level, calling nx::current outside an NX object or method will result in an error. option can be any of the following: o activelevel returns the actual callstack level which calls into the currently executing method directly. This activelevel might correspond the callinglevel, but this is not necessarily the case. The activelevel also in- cludes intermediate calls, such as nx::next invocations. The level is reported as an absolute level number (# fol- lowed by a digit) to be directly used as the first argu- ment to uplevel or upvar. o args returns the list of argument values passed into the currently executing method implementation. o 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 fil- ter methods). o calledmethod returns the original method name requested by intercepted method call (only available from within filter methods). o callingclass returns the name of the class which provides the method implementation calling into the currently exe- cuting method. See also callingobject. o callinglevel resolves the callstack level of the origi- nating invocation of the currently executing method im- plementation. Callstack levels introduced by method in- terception (e.g., filters) and by method combination (nx::next) are ignored. The level is reported as an abso- lute level number (# followed by a digit) to be directly used as the first argument to uplevel or upvar. See also activelevel. If called outside NX, 1 is returned (which is the default for upvar and uplevel). o callingobject returns the name of the object which is calling into the currently executing method. See also callingclass. o class returns the name of the class providing the cur- rently executing method implementation. The returned method-providing class may be different to the class of the current object. If called from within a method imple- mentation provided by the current object itself, an empty string is returned. o filterreg returns the object (class) on which the cur- rently executing method was registered as a filter method (only available from within filter methods). o isnextcall will return 1, if the currently executing method implementation was invoked via nx::next; 0 other- wise. o 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. o method returns the name of the currently executing method. If an ensemble-method call, the name of the bot- tom-most ("leaf") method is returned. o methodpath returns the combined name of the currently ex- ecuting method (including all ensemble levels) in an en- semble-method call. Otherwise, for a regular method call, the result corresponds to the result of option method. o nextmethod returns the name of the next most specific method implementation to be called when invoking nx::next. o object gives the name of the object on which the cur- rently 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.3.0 nx::current(3)
NAME | SYNOPSIS | DESCRIPTION | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=current.nx&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>