code: def _scan_for_mapped_bases(
      cls: ClassDef,
      api: SemanticAnalyzerPluginInterface,
  ) -> None:
      """Given a class, iterate through its superclass hierarchy to find
      all other classes that are considered as ORM-significant.
  
      Locates non-mapped mixins and scans them for mapped attributes to be
      applied to subclasses.
  
      """
  
      info = util.info_for_cls(cls, api)
  
      if info is None:
          return
  
      for base_info in info.mro[1:-1]:
          if base_info.fullname.startswith("builtins"):
              continue
  
          # scan each base for mapped attributes.  if they are not already
          # scanned (but have all their type info), that means they are unmapped
          # mixins
          scan_declarative_assignments_and_apply_types(
              base_info.defn, api, is_mixin_scan=True
          )
  
imports: from __future__ import annotations
  from typing import List
  from typing import Optional
  from typing import Union
  from mypy.nodes import AssignmentStmt
  from mypy.nodes import CallExpr
  from mypy.nodes import ClassDef
  from mypy.nodes import Decorator
  from mypy.nodes import LambdaExpr
  from mypy.nodes import ListExpr
  from mypy.nodes import MemberExpr
  from mypy.nodes import NameExpr
  from mypy.nodes import PlaceholderNode
  from mypy.nodes import RefExpr
  from mypy.nodes import StrExpr
  from mypy.nodes import SymbolNode
  from mypy.nodes import SymbolTableNode
  from mypy.nodes import TempNode
  from mypy.nodes import TypeInfo
  from mypy.nodes import Var
  from mypy.plugin import SemanticAnalyzerPluginInterface
  from mypy.types import AnyType
  from mypy.types import CallableType
  from mypy.types import get_proper_type
  from mypy.types import Instance
  from mypy.types import NoneType
  from mypy.types import ProperType
  from mypy.types import Type
  from mypy.types import TypeOfAny
  from mypy.types import UnboundType
  from mypy.types import UnionType
  from .None import apply
  from .None import infer
  from .None import names
  from .None import util
label_desc: Use image node_id 5 for calling a global function with example usage: _scan_for_mapped_bases(cls, api) without return types