Current File : //usr/share/gdb/python/gdb/FrameDecorator.pyo |
�
�� Rc @ sR d d l Z d e f d � � YZ d e f d � � YZ d e f d � � YZ d S( i����Nt FrameDecoratorc B sn e Z d Z d � Z e d � � Z d � Z d � Z d � Z d � Z d � Z
d � Z d � Z d
� Z
RS( s) Basic implementation of a Frame Decoratorc C s
| | _ d S( N( t _base( t selft base( ( s+ /usr/share/gdb/python/gdb/FrameDecorator.pyt __init__3 s c C sU | j � } | j sM | j j sM | j � t j k sM | j � t j k rQ t St S( sI Internal utility to determine if the frame is special or
limited.( t find_salt symtabt filenamet typet gdbt DUMMY_FRAMEt SIGTRAMP_FRAMEt Truet False( t framet sal( ( s+ /usr/share/gdb/python/gdb/FrameDecorator.pyt _is_limited_frame6 s c C s# t | j d � r | j j � Sd S( sL Return any elided frames that this class might be
wrapping, or None.t elidedN( t hasattrR R t None( R ( ( s+ /usr/share/gdb/python/gdb/FrameDecorator.pyR D s
c C s� t | j t j � s7 t | j d � r7 | j j � Sn | j � } | j � t j k r\ d S| j � t j k ru d S| j � } | d k r� | j � } | St | � S( s� Return the name of the frame's function or an address of
the function of the frame. First determine if this is a
special frame. If not, try to determine filename from GDB's
frame internal function API. Finally, if a name cannot be
determined return the address. If this function returns an
address, GDB will attempt to determine the function name from
its internal minimal symbols store (for example, for inferiors
without debug-info).t functions <function called from gdb>s <signal handler called>N(
t
isinstanceR R t FrameR R t inferior_frameR R
R R t pct str( R R t funcR ( ( s+ /usr/share/gdb/python/gdb/FrameDecorator.pyR L s c C s5 t | j d � r | j j � S| j � } | j � S( s% Return the address of the frame's pct address( R R R R R ( R R ( ( s+ /usr/share/gdb/python/gdb/FrameDecorator.pyR q s
c C su t | j d � r | j j � S| j � } | j � } | j sN | j j rg | j � } t j | � S| j j Sd S( s� Return the filename associated with this frame, detecting
and returning the appropriate library name is this is a shared
library.R N( R R R R R R R R t
solib_name( R R R R ( ( s+ /usr/share/gdb/python/gdb/FrameDecorator.pyR z s
c C sT t | j d � r | j j � S| j � } | j | � r>