class_docstr: Infer symbolic type for all AST node. 
class_docstr_tok: ["Infer","symbolic","type","for","all","AST","node","."]
code: def __init__(self):
      self.max_seq_size = cfg.getint(
          "typing", "max_heterogeneous_sequence_size"
      )
  
      class TypeResult(dict):
          def __init__(self):
              self.builder = TypeBuilder()
  
          def copy(self):
              other = TypeResult()
              other.update(self.items())
              other.builder = self.builder
              return other
  
      self.result = TypeResult()
      self.builder = self.result.builder
      self.result["bool"] = self.builder.NamedType("bool")
      self.combiners = defaultdict(UserFunction)
      self.current_global_declarations = dict()
      self.max_recompute = 1  # max number of use to be lazy
      ModuleAnalysis.__init__(
          self,
          Reorder,
          StrictAliases,
          LazynessAnalysis,
          Immediates,
          RangeValues,
          Ancestors,
      )
      self.curr_locals_declaration = None
  
imports: from pythran.analyses import LazynessAnalysis, StrictAliases, YieldPoints
  from pythran.analyses import LocalNodeDeclarations, Immediates, RangeValues
  from pythran.analyses import Ancestors
  from pythran.config import cfg
  from pythran.cxxtypes import TypeBuilder, ordered_set
  from pythran.intrinsic import UserFunction, Class
  from pythran.passmanager import ModuleAnalysis
  from pythran.tables import operator_to_lambda, MODULES
  from pythran.types.conversion import pytype_to_ctype
  from pythran.types.reorder import Reorder
  from pythran.utils import attr_to_path, cxxid, isnum, isextslice
  from collections import defaultdict
  from functools import reduce
  import gast
  from itertools import islice
  from copy import deepcopy
label_desc: Use image node_id 1 to create a new Types object from inherited base classes: ModuleAnalysis with example: obj = Types()