def _remove_statements(evaluator, stmt, name):
 types = set()
 check_instance = None
 if (isinstance(stmt, er.InstanceElement) and stmt.is_class_var):
  check_instance = stmt.instance
  stmt = stmt.var
 pep0484types = pep0484.find_type_from_comment_hint_assign(evaluator, stmt, name)
 if pep0484types:
  return pep0484types
 types |= evaluator.eval_statement(stmt, seek_name=name)
 if (check_instance is not None):
  types = set([(er.get_instance_el(evaluator, check_instance, a, True) if isinstance(a, (er.Function, tree.Function)) else a) for a in types])
 return types

def _remove_statements ( evaluator , stmt , name ) : types = set ( ) check_instance = None if ( isinstance ( stmt , er . InstanceElement ) and stmt . is_class_var ) : check_instance = stmt . instance stmt = stmt . var pep0484types = pep0484 . find_type_from_comment_hint_assign ( evaluator , stmt , name ) if pep0484types : return pep0484types types |= evaluator . eval_statement ( stmt , seek_name = name ) if ( check_instance is not None ) : types = set ( [ ( er . get_instance_el ( evaluator , check_instance , a , True ) if isinstance ( a , ( er . Function , tree . Function ) ) else a ) for a in types ] ) return types
this is the part where statements are being stripped .