#NEWLINE# def getAllIndices( self ) : #NEWLINE# #INDENT# indices = [ ] #NEWLINE# if self . isReference ( ) : #NEWLINE# #INDENT# if self . isPlural ( ) : #NEWLINE# #INDENT# ref_obj = self . getReferencedObject ( ) #NEWLINE# key = ref_obj . getKey ( ) #NEWLINE# if ( key is not None ) : #NEWLINE# #INDENT# indices . append ( key . getRegularName ( ) ) #NEWLINE# #UNINDENT# #UNINDENT# for index in self . getIndices ( ) : #NEWLINE# #INDENT# if isinstance ( index , list ) : #NEWLINE# #INDENT# index_field = [ ] #NEWLINE# for piece in index : #NEWLINE# #INDENT# ignore_del_err = False #NEWLINE# if ( piece [ 0 ] == '!' ) : #NEWLINE# #INDENT# piece = piece [ 1 : ] #NEWLINE# ignore_del_err = True #NEWLINE# #UNINDENT# ref_field = ref_obj . getField ( piece ) #NEWLINE# if ( ref_field is not None ) : #NEWLINE# #INDENT# if ignore_del_err : #NEWLINE# #INDENT# index_field . append ( ( '!' + ref_field . getRegularName ( ) ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# index_field . append ( ref_field . getRegularName ( ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# if ( len ( index_field ) > 1 ) : #NEWLINE# #INDENT# indices . append ( index_field ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( len ( index_field ) > 0 ) : #NEWLINE# #INDENT# indices . append ( index_field [ 0 ] ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# ignore_del_err = False #NEWLINE# if ( piece [ 0 ] == '!' ) : #NEWLINE# #INDENT# index = index [ 1 : ] #NEWLINE# ignore_del_err = True #NEWLINE# #UNINDENT# index_field = ref_obj . getField ( index ) #NEWLINE# if ( index_field is not None ) : #NEWLINE# #INDENT# if ignore_del_err : #NEWLINE# #INDENT# indices . append ( ( '!' + index_field . getRegularName ( ) ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# indices . append ( index_field . getRegularName ( ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# return indices