code: def visit_Call(self, node: Call) -> Any:
      if (
          isinstance(node.func, Name)
          and node.func.id in ("getattr", "setattr")
          and len(node.args) >= 2
          and isinstance(node.args[0], Name)
          and "opts" in node.args[0].id
          and isinstance(node.args[1], Constant)
          and isinstance(node.args[1].value, str)
          and "-" in node.args[1].value
      ):
          raise CodeConventionError(
              f"{self.filename}:{node.lineno} Please replace '-' with '_' in {node.func.id}() invocations."
          )
  
      if (
          isinstance(node.func, Attribute)
          and node.func.attr == "add_argument"
          and len(node.args) >= 1
          and isinstance(node.args[0], Constant)
          and isinstance(node.args[0].value, str)
          and node.args[0].value.startswith("--")
          and "_" in node.args[0].value
      ):
          raise CodeConventionError(
              f"{self.filename}:{node.lineno} Please replace '_' with '-' in add_argument() invocations."
          )
  
      return self.generic_visit(node)
  
imports: import dataclasses
  import re
  import subprocess
  from ast import Attribute, Call, Constant, Name, NodeVisitor, parse
  from pathlib import Path
  from typing import Any, Callable, Dict, List
  import pytest
label_desc: Use image node_id 2 for calling the CheckConventionsVisitor obj's underlying member method code with example usage: obj.visit_Call(node) and returns: self