Returns a checksum based on the IDL that ignores comments and 
        ordering, but detects changes to types, parameter order, 
        and enum values.

def get_checksum(self):
        """
        Returns a checksum based on the IDL that ignores comments and 
        ordering, but detects changes to types, parameter order, 
        and enum values.
        """
        arr = [ ]
        for elem in self.parsed:
            s = elem_checksum(elem)
            if s:
                arr.append(s)
        arr.sort()
        #print arr
        return md5(json.dumps(arr))