Sha256: 5b6246d984baf32ee6a2a0a8eb0f13cbb7b8e8eebd4f590bc5572384a22070ee

Contents?: true

Size: 656 Bytes

Versions: 165

Compression:

Stored size: 656 Bytes

Contents

# frozen_string_literal: true
# typed: true

module T::Types
  # Modeling self-types properly at runtime would require additional tracking,
  # so at runtime we permit all values and rely on the static checker.
  class SelfType < Base

    def initialize(); end

    def build_type
      nil
    end

    # overrides Base
    def name
      "T.self_type"
    end

    # overrides Base
    def valid?(obj)
      true
    end

    # overrides Base
    private def subtype_of_single?(other)
      case other
      when SelfType
        true
      else
        false
      end
    end

    module Private
      INSTANCE = SelfType.new.freeze
    end
  end
end

Version data entries

165 entries across 165 versions & 1 rubygems

Version Path
sorbet-runtime-0.5.11491 lib/types/types/self_type.rb
sorbet-runtime-0.5.11487 lib/types/types/self_type.rb
sorbet-runtime-0.5.11485 lib/types/types/self_type.rb
sorbet-runtime-0.5.11481 lib/types/types/self_type.rb
sorbet-runtime-0.5.11480 lib/types/types/self_type.rb
sorbet-runtime-0.5.11478 lib/types/types/self_type.rb
sorbet-runtime-0.5.11475 lib/types/types/self_type.rb
sorbet-runtime-0.5.11473 lib/types/types/self_type.rb
sorbet-runtime-0.5.11471 lib/types/types/self_type.rb
sorbet-runtime-0.5.11466 lib/types/types/self_type.rb
sorbet-runtime-0.5.11465 lib/types/types/self_type.rb
sorbet-runtime-0.5.11463 lib/types/types/self_type.rb
sorbet-runtime-0.5.11460 lib/types/types/self_type.rb
sorbet-runtime-0.5.11450 lib/types/types/self_type.rb
sorbet-runtime-0.5.11447 lib/types/types/self_type.rb
sorbet-runtime-0.5.11444 lib/types/types/self_type.rb
sorbet-runtime-0.5.11439 lib/types/types/self_type.rb
sorbet-runtime-0.5.11435 lib/types/types/self_type.rb
sorbet-runtime-0.5.11432 lib/types/types/self_type.rb
sorbet-runtime-0.5.11430 lib/types/types/self_type.rb