Sha256: 8c4ed3b3b88786a27ad2c8e4f07f8c32ae2081d1f9bf88fe779962426f5430d4

Contents?: true

Size: 603 Bytes

Versions: 4

Compression:

Stored size: 603 Bytes

Contents

# typed: strict
# frozen_string_literal: true

module Tapioca
  module Gem
    module Listeners
      class SorbetRequiredAncestors < Base
        extend T::Sig

        private

        sig { override.params(event: ScopeNodeAdded).void }
        def on_scope(event)
          ancestors = Runtime::Trackers::RequiredAncestor.required_ancestors_by(event.constant)
          ancestors.each do |ancestor|
            next unless ancestor # TODO: We should have a way to warn from here
            event.node << RBI::RequiresAncestor.new(ancestor.to_s)
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tapioca-0.7.3 lib/tapioca/gem/listeners/sorbet_required_ancestors.rb
tapioca-0.7.2 lib/tapioca/gem/listeners/sorbet_required_ancestors.rb
tapioca-0.7.1 lib/tapioca/gem/listeners/sorbet_required_ancestors.rb
tapioca-0.7.0 lib/tapioca/gem/listeners/sorbet_required_ancestors.rb