@property<EOL><INDENT>def is_public(self):<DEDENT>
<EOL>for decorator in self.decorators:<EOL><INDENT>if re.compile(r"<STR_LIT>".format(self.name)).match(decorator.name):<EOL><INDENT>return False<EOL><DEDENT><DEDENT>name_is_public = (<EOL>not self.name.startswith("<STR_LIT:_>")<EOL>or self.name in VARIADIC_MAGIC_METHODS<EOL>or self.is_magic<EOL>)<EOL>return self.parent.is_public and name_is_public<EOL>
Return True iff this method should be considered public.