def find_out_member_access_type(self, member):
assert member.parent is self<EOL>if not member.cache.access_type:<EOL><INDENT>if member in self.public_members:<EOL><INDENT>access_type = ACCESS_TYPES.PUBLIC<EOL><DEDENT>elif member in self.protected_members:<EOL><INDENT>access_type = ACCESS_TYPES.PROTECTED<EOL><DEDENT>elif member in self.private_members:<EOL><INDENT>access_type = ACCESS_TYPES.PRIVATE<EOL><DEDENT>else:<EOL><INDENT>raise RuntimeError(<EOL>"<STR_LIT>")<EOL><DEDENT>member.cache.access_type = access_type<EOL>return access_type<EOL><DEDENT>else:<EOL><INDENT>return member.cache.access_type<EOL><DEDENT>
returns member access type

:param member: member of the class
:type member: :class:`declaration_t`

:rtype: :class:ACCESS_TYPES