class_docstr: We abuse the code generator for introspection.
docstr: Remember all undeclared identifiers.
docstr_tok: ["Remember","all","undeclared","identifiers","."]
code: def enter_frame(self, frame: Frame) -> None:
      """Remember all undeclared identifiers."""
      super().enter_frame(frame)
  
      for _, (action, param) in frame.symbols.loads.items():
          if (
              action == "resolve"
              and param not in self.environment.globals
          ):
              self.undeclared_identifiers.add(param)
  
file_path: catboost/contrib/python/Jinja2/py3/jinja2/meta.py
imports: import typing
  from .None import nodes
  from .compiler import CodeGenerator
  from .compiler import Frame
label_desc: Use image node_id 3 for calling the TrackingCodeGenerator obj's underlying member method code with example usage: obj.enter_frame(frame) without return types