<s> class C ( object ) : <EOL> def __len__ ( self ) : <EOL> print "<STR_LIT>" <EOL> return <NUM_LIT:2> <EOL> def __iter__ ( self ) : <EOL> print "<STR_LIT>" <EOL> return self <EOL> def next ( self ) : <EOL> print "<STR_LIT>" <EOL> raise StopIteration ( ) <EOL> def __getitem__ ( self , k ) : <EOL> print "<STR_LIT>" , k <EOL> return k <EOL> def keys ( self ) : <EOL> print "<STR_LIT>" <EOL> return [ "<STR_LIT:a>" , "<STR_LIT:c>" , "<STR_LIT:b>" ] <EOL> def f ( a , b , c ) : <EOL> print a , b , c <EOL> f ( ** C ( ) ) <EOL> class MyDict ( dict ) : <EOL> pass <EOL> d = MyDict ( a = <NUM_LIT:1> , b = <NUM_LIT:2> , c = <NUM_LIT:3> ) <EOL> print f ( ** d ) <EOL> class C ( object ) : <EOL> pass <EOL> c = C ( ) <EOL> c . a = <NUM_LIT:1> <EOL> c . b = <NUM_LIT:3> <EOL> c . c = <NUM_LIT:7> <EOL> print f ( ** c . __dict__ ) </s>
