#NEWLINE# def __iter__( self ) : #NEWLINE# #INDENT# "Returns opcodes from the differ with extra metadata.\n\n        This is a wrapper around a differ's get_opcodes function, which returns\n        extra metadata along with each range. That metadata includes\n        information on moved blocks of code and whitespace-only lines.\n\n        This returns a list of opcodes as tuples in the form of\n        (tag, i1, i2, j1, j2, meta).\n        " #NEWLINE# self . groups = [ ] #NEWLINE# self . removes = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# self . inserts = [ ] #NEWLINE# opcodes = self . differ . get_opcodes ( ) #NEWLINE# opcodes = self . _apply_processors ( opcodes ) #NEWLINE# opcodes = self . _generate_opcode_meta ( opcodes ) #NEWLINE# opcodes = self . _apply_meta_processors ( opcodes ) #NEWLINE# self . _group_opcodes ( opcodes ) #NEWLINE# self . _compute_moves ( ) #NEWLINE# for opcodes in self . groups : #NEWLINE# #INDENT# ( yield opcodes )