<s> class AutoSlotProperties ( type ) : <EOL> def __new__ ( mcl , classname , bases , dictionary ) : <EOL> slots = list ( dictionary . get ( "<STR_LIT>" , [ ] ) ) <EOL> for getter_name in [ key for key in dictionary if key . startswith ( "<STR_LIT>" ) ] : <EOL> name = getter_name <EOL> slots . append ( "<STR_LIT>" + name ) <EOL> getter = dictionary . pop ( getter_name ) <EOL> setter = dictionary . get ( setter_name , None ) <EOL> if ( setter is not None <EOL> and isinstance ( setter , collections . Callable ) ) : <EOL> del dictionary [ setter_name ] <EOL> dictionary [ name ] = property ( getter . setter ) <EOL> dictionary [ "<STR_LIT>" ] = tuple ( slots ) <EOL> return super ( ) . __new__ ( mcl , classname , bases , dictionary ) </s>
