<s> class Descr ( object ) : <EOL> def __get__ ( * args ) : <EOL> print "<STR_LIT>" <EOL> return <NUM_LIT:1> <EOL> class C ( object ) : <EOL> d = Descr ( ) <EOL> class E ( C ) : <EOL> pass <EOL> print type ( object . __getattribute__ ( C , '<STR_LIT:d>' ) ) <EOL> print type ( type . __getattribute__ ( C , '<STR_LIT:d>' ) ) <EOL> print type ( E . d ) <EOL> try : <EOL> print type ( object . __getattribute__ ( E , '<STR_LIT:d>' ) ) <EOL> assert <NUM_LIT:0> <EOL> except AttributeError as e : <EOL> print e <EOL> try : <EOL> print type . __getattribute__ ( <NUM_LIT:1> , '<STR_LIT:d>' ) <EOL> assert <NUM_LIT:0> <EOL> except TypeError as e : <EOL> print e <EOL> try : <EOL> type . __getattribute__ ( C , '<STR_LIT:x>' ) <EOL> assert <NUM_LIT:0> <EOL> except AttributeError as e : <EOL> print e <EOL> try : <EOL> object . __getattribute__ ( C , '<STR_LIT:x>' ) <EOL> assert <NUM_LIT:0> <EOL> except AttributeError as e : <EOL> print e </s>
