#NEWLINE# def __init__( self , name , types = None , resolve_type = None , description = None ) : #NEWLINE# #INDENT# assert name , 'Type must be named.' #NEWLINE# assert_valid_name ( name ) #NEWLINE# self . name = name #NEWLINE# self . description = description #NEWLINE# if ( resolve_type is not None ) : #NEWLINE# #INDENT# assert callable ( resolve_type ) , '{} must provide "resolve_type" as a function.' . format ( self ) #NEWLINE# #UNINDENT# self . _resolve_type = resolve_type #NEWLINE# self . _types = types #NEWLINE# self . _possible_types = None #NEWLINE# self . _possible_type_names = None