[IronPython] Callstack inspection
Gary Stephenson
garys at ihug.com.au
Wed Aug 16 00:51:29 CEST 2006
I would like to adapt the following code to IronPython, but there appears to
be no inspect module available.
Any clues on how I might proceed?
many tias,
gary
# code begins
# a hack to support something like dynamically scoped variables
import inspect
class _gsDynamicVars( object ):
def __init__( self ):
self._publics = {}
def setPublic( self, nm, x = None ):
self._publics[nm] = x
def __getattribute__( self, nm ):
for f in inspect.stack():
if f[0].f_locals.has_key( '_privates' ):
if f[0].f_locals[ '_privates' ].has_key( nm ):
return f[0].f_locals['_privates'][nm]
return self._publics.get(nm)
def __setattr__( self, nm, x = None ):
for f in inspect.stack():
if f[0].f_locals.has_key( '_privates' ) :
if f[0].f_locals[ '_privates' ].has_key( nm ) :
f[0].f_locals['_privates'][nm] = x
return x
if self._publics.has_key( nm ) :
self._publics[nm] = x
raise NameError
More information about the Ironpython-users
mailing list