def __repr__(self):
args = []<EOL>cls = self.__class__<EOL>for i, attr in enumerate(self._attributes):<EOL><INDENT>val = getattr(self, attr)<EOL>if val is not getattr(cls, attr):<EOL><INDENT>if isinstance(val, type):<EOL><INDENT>s = val.__name__<EOL><DEDENT>else:<EOL><INDENT>s = repr(val)<EOL><DEDENT>if i >= cls._positional:<EOL><INDENT>if attr.startswith('<STR_LIT:_>'):<EOL><INDENT>attr = attr[<NUM_LIT:1>:]<EOL><DEDENT>s = '<STR_LIT>' % (attr, s)<EOL><DEDENT>args.append(s)<EOL><DEDENT><DEDENT>s = '<STR_LIT>' % (self.__class__.__name__, '<STR_LIT:U+002CU+0020>'.join(args))<EOL>return s<EOL>
Return a compact unambiguous string representation of a property.