def super_mro(self):
if not isinstance(self.mro_pointer, scoped_nodes.ClassDef):<EOL><INDENT>raise exceptions.SuperError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>super_=self,<EOL>)<EOL><DEDENT>if isinstance(self.type, scoped_nodes.ClassDef):<EOL><INDENT>self._class_based = True<EOL>mro_type = self.type<EOL><DEDENT>else:<EOL><INDENT>mro_type = getattr(self.type, "<STR_LIT>", None)<EOL>if not isinstance(mro_type, (bases.Instance, scoped_nodes.ClassDef)):<EOL><INDENT>raise exceptions.SuperError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>super_=self,<EOL>)<EOL><DEDENT><DEDENT>if not mro_type.newstyle:<EOL><INDENT>raise exceptions.SuperError(<EOL>"<STR_LIT>", super_=self<EOL>)<EOL><DEDENT>mro = mro_type.mro()<EOL>if self.mro_pointer not in mro:<EOL><INDENT>raise exceptions.SuperError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>",<EOL>super_=self,<EOL>)<EOL><DEDENT>index = mro.index(self.mro_pointer)<EOL>return mro[index + <NUM_LIT:1> :]<EOL>
Get the MRO which will be used to lookup attributes in this super.