Sha256: 0d673f33f9faf8dad18e8933d014792df2a4901dc0a59647759303729a09acbf

Contents?: true

Size: 1.17 KB

Versions: 8

Compression:

Stored size: 1.17 KB

Contents

module Steep
  module Subtyping
    class Relation[out Subject < _Subject]
      interface _Subject
        def hash: () -> Integer

        def is_a?: (Module) -> bool

        def class: () -> Class

        def !: () -> bool
      end

      attr_reader sub_type: Subject

      attr_reader super_type: Subject

      def initialize: (sub_type: Subject, super_type: Subject) -> void

      def hash: () -> Integer

      def ==: (untyped other) -> bool

      alias eql? ==

      def to_s: () -> ::String

      def to_ary: () -> [Subject, Subject]

      def type?: () -> bool

      def interface?: () -> bool

      def method?: () -> bool

      def function?: () -> bool

      def params?: () -> bool

      def block?: () -> bool

      type relation_type = :type | :interface | :method | :function | :params | :block

      def assert_type: (relation_type `type`) -> void

      def type!: () -> void

      def interface!: () -> void

      def method!: () -> void

      def function!: () -> void

      def params!: () -> void

      def block!: () -> void

      def map: [T < Object] () { (Subject) -> T } -> Relation[T]

      def flip: () -> Relation[Subject]
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
steep-1.7.0.dev.3 sig/steep/subtyping/relation.rbs
steep-1.7.0.dev.2 sig/steep/subtyping/relation.rbs
steep-1.7.0.dev.1 sig/steep/subtyping/relation.rbs
steep-1.6.0 sig/steep/subtyping/relation.rbs
steep-1.6.0.pre.4 sig/steep/subtyping/relation.rbs
steep-1.6.0.pre.3 sig/steep/subtyping/relation.rbs
steep-1.6.0.pre.2 sig/steep/subtyping/relation.rbs
steep-1.6.0.pre.1 sig/steep/subtyping/relation.rbs