class_docstr: AST Visitor that looks for specific API usage without editing anything.
  
  This is used before any rewriting is done to detect if any symbols are used
  that require changing imports or disabling rewriting altogether.
class_docstr_tok: ["AST","Visitor","that","looks","for","specific","API","usage","without","editing","anything",".","This","is","used","before","any","rewriting","is","done","to","detect","if","any","symbols","are","used","that","require","changing","imports","or","disabling","rewriting","altogether","."]
docstr: Handle visiting an import node in the AST.
  
  Args:
    node: Current Node
docstr_tok: ["Handle","visiting","an","import","node","in","the","AST",".","Args",":","node",":","Current","Node"]
code: def visit_Import(self, node):  # pylint: disable=invalid-name
      """Handle visiting an import node in the AST.
  
      Args:
        node: Current Node
      """
      for import_alias in node.names:
          # Detect based on full import name and alias)
          full_import = (import_alias.name, import_alias.asname)
          detection = self._api_analysis_spec.imports_to_detect.get(
              full_import, None
          )
          if detection:
              self.add_result(detection)
              self.add_log(
                  detection.log_level,
                  node.lineno,
                  node.col_offset,
                  detection.log_message,
              )
  
      self.generic_visit(node)
  
imports: import ast
  import collections
  import os
  import re
  import shutil
  import sys
  import tempfile
  import traceback
  import pasta
label_desc: Use image node_id 5 for calling the PastaAnalyzeVisitor obj's underlying member method code with example usage: obj.visit_Import(node) without return types