code: def __init__(self, source_text, filename):
      # type: (Any, str) -> None
      # FIXME: Strictly, the type of source_text is one of the six string types, but hard to specify with mypy given
      # https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases
  
      self._filename = filename
  
      # Decode source after parsing to let Python 2 handle coding declarations.
      # (If the encoding was not utf-8 compatible, then even if it parses correctly,
      # we'll fail with a unicode error here.)
      source_text = six.ensure_text(source_text)
  
      self._text = source_text
      self._line_numbers = LineNumbers(source_text)
  
imports: import abc
  import ast
  import bisect
  import sys
  import token
  from ast import Module
  from typing import Iterable, Iterator, List, Optional, Tuple, Any, cast, TYPE_CHECKING
  import six
  from six.moves import xrange
  from .line_numbers import LineNumbers
  from .util import Token, match_token, is_non_coding_token, patched_generate_tokens, last_stmt, annotate_fstring_nodes, generate_tokens, is_module, is_stmt
label_desc: Use image node_id 1 to create a new ASTTextBase object from inherited base classes:  with example: obj = ASTTextBase(source_text, filename)