# typed: true

# We don't do sig completion for these, because there's no
# self in scope that would allow us to correctly skip
# suggesting a sig with the "next method" is not in the same
# nesting scope.

class A
  T::Sig::WithoutRuntime.sig # error: no block
  #                         ^ apply-completion: [A] item: 0
  def without_runtime; ''; end

  Sorbet::Private::Static.sig
  #                          ^ error: Not enough arguments
  #                          ^ error: no block
  #                          ^ apply-completion: [B] item: 0
  def private_static; :''; end
end

class Outer
  def above_query; end

  class Inner
    # Even though there are method defs after this, none are in the right
    # scope, so no suggested sig.

    T::Sig::WithoutRuntime.sig # error: no block
    #                         ^ apply-completion: [C] item: 0

    Sorbet::Private::Static.sig
    #                          ^ error: Not enough arguments
    #                          ^ error: no block
    #                          ^ apply-completion: [D] item: 0
  end

  def below_query; end
end
