Sha256: 0bb6da5481a5dbe7487c201e34a2a86e47cc1955718e927fe5f17252ec29a8ec

Contents?: true

Size: 1.55 KB

Versions: 3

Compression:

Stored size: 1.55 KB

Contents

module Steep
  module Interface
    class MethodType
      attr_reader type_params: Array[TypeParam]

      attr_reader type: Function

      attr_reader block: Block

      attr_reader method_decls: untyped

      def initialize: (type_params: untyped, type: untyped, block: untyped, method_decls: untyped) -> void

      def ==: (untyped other) -> untyped

      alias eql? ==

      def hash: () -> Integer

      def free_variables: () -> Set[Symbol]

      def subst: (Substitution s) -> MethodType

      def each_type: () { (untyped) -> untyped } -> untyped

      def instantiate: (Substitution s) -> MethodType

      def with: (?type_params: untyped, ?type: untyped, ?block: untyped, ?method_decls: untyped) -> MethodType

      def to_s: () -> ::String

      def map_type: () { (AST::Types::t) -> AST::Types::t } -> MethodType

      # Returns a new method type which can be used for the method implementation type of both `self` and `other`.
      #
      def unify_overload: (untyped other) -> untyped

      def +: (untyped other) -> untyped

      # Returns a method type which is a super-type of both self and other.
      #   self <: (self | other) && other <: (self | other)
      #
      # Returns nil if self and other are incompatible.
      #
      def |: (untyped other) -> (nil | untyped)

      # Returns a method type which is a sub-type of both self and other.
      #   (self & other) <: self && (self & other) <: other
      #
      # Returns nil if self and other are incompatible.
      #
      def &: (untyped other) -> (nil | untyped)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
steep-1.1.1 sig/steep/interface/method_type.rbs
steep-1.1.0 sig/steep/interface/method_type.rbs
steep-1.1.0.pre.1 sig/steep/interface/method_type.rbs