docstr: Returns the (startpos, endpos) positions in source text corresponding to the given node.
  Returns (0, 0) for nodes (like `Load`) that don't correspond to any particular text.
  
  See ``get_text_positions()`` for details on the ``padded`` argument.
docstr_tok: ["Returns","the","(","startpos",",","endpos",")","positions","in","source","text","corresponding","to","the","given","node",".","Returns","(","0",",","0",")","for","nodes","(","like","`","Load","`",")","that","do","n't","correspond","to","any","particular","text",".","See","``","get_text_positions","(",")","``","for","details","on","the","``","padded","``","argument","."]
code: def get_text_range(self, node, padded=True):
      # type: (AstNode, bool) -> Tuple[int, int]
      """
      Returns the (startpos, endpos) positions in source text corresponding to the given node.
      Returns (0, 0) for nodes (like `Load`) that don't correspond to any particular text.
  
      See ``get_text_positions()`` for details on the ``padded`` argument.
      """
      start, end = self.get_text_positions(node, padded)
      return (
          self._line_numbers.line_to_offset(*start),
          self._line_numbers.line_to_offset(*end),
      )
  
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 3 for calling the ASTTextBase obj's underlying member method code with example usage: obj.get_text_range(node, padded) and returns: self,  self