code: def flatten_component_refs(
          container: ast.Class,
          expression: ast.Union[ast.ConnectClause, ast.AssignmentStatement, ast.ForStatement, ast.Symbol],
          instance_prefix: str) -> ast.Union[ast.ConnectClause, ast.AssignmentStatement, ast.ForStatement, ast.Symbol]:
      
  
      expression_copy = copy.deepcopy(expression)
  
      w = TreeWalker()
      w.walk(ComponentRefFlattener(container, instance_prefix), expression_copy)
  
      return expression_copy
docs: Flattens component refs in a tree
      :param container: class
      :param expression: original expression
      :param instance_prefix: prefix for instance
      :return: flattened expression