class_docstr: Base class for tracked locals and stack values
  
  VariableTracker instances are immutable and should be copied in
  order to change them.
class_docstr_tok: ["Base","class","for","tracked","locals","and","stack","values","VariableTracker","instances","are","immutable","and","should","be","copied","in","order","to","change","them","."]
docstr: getattr(self, name) returning a new variable
docstr_tok: ["getattr","(","self",",","name",")","returning","a","new","variable"]
code: def var_getattr(self, tx, name: str) -> "VariableTracker":
      """getattr(self, name) returning a new variable"""
      value = self.const_getattr(tx, name)
      if not variables.ConstantVariable.is_literal(value):
          raise NotImplementedError()
      source = None
      if self.source:
          source = AttrSource(self.source, name)
      return variables.ConstantVariable.create(value, source=source)
  
imports: import collections
  from enum import Enum
  from typing import Any, Callable, Dict, List
  from ..None import variables
  from ..current_scope_id import current_scope_id
  from ..exc import unimplemented
  from ..source import AttrSource, Source
  from ..utils import identity, istype
label_desc: Use image node_id 11 for calling the VariableTracker obj's underlying member method code with example usage: obj.var_getattr(tx, name) and returns: variables