Provided by: nsf_2.1.0-4_amd64 bug

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 provided, 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 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 activelevel might  correspond  the
                     callinglevel,  but  this  is  not necessarily the case. The activelevel also
                     includes intermediate calls, such as  nx::next  invocations.  The  level  is
                     reported  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 currently 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 uplevel  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-providing class may be different to  the
                     class  of  the current object. 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 executing 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).