class RuboCop::Cop::Sorbet::EnforceSignatures

def check_node(node)

def check_node(node)
  scope = self.scope(node)
  sig_node = sig_checker.signature_node(scope)
  rbs_node = rbs_checker.signature_node(node)
  case signature_style
  when "rbs"
    # RBS style - only RBS signatures allowed
    if sig_node
      add_offense(sig_node, message: "Use RBS signature comments rather than sig blocks.")
      return
    end
    unless rbs_node
      add_offense(node, message: "Each method is required to have an RBS signature.") do |corrector|
        autocorrect_with_signature_type(corrector, node, "rbs")
      end
    end
  when "both"
    # Both styles allowed - require at least one
    unless sig_node || rbs_node
      add_offense(node, message: "Each method is required to have a signature.") do |corrector|
        autocorrect_with_signature_type(corrector, node, "sig")
      end
    end
  else # "sig" (default)
    # Sig style - only sig signatures allowed
    unless sig_node
      add_offense(node, message: "Each method is required to have a sig block signature.") do |corrector|
        autocorrect_with_signature_type(corrector, node, "sig")
      end
    end
  end
ensure
  sig_checker.clear_signature(scope)
end