Sha256: a1109fced8c01028acb8f5482538bae3271f4ea5c9bb319a2f1afae9a52519cd

Contents?: true

Size: 1.97 KB

Versions: 1

Compression:

Stored size: 1.97 KB

Contents

module Steep
  module Interface
    class Shape
      class Entry
        @private_method: bool

        @method_types: Array[MethodType]?

        @generator: (^() -> Array[MethodType]?)?

        def initialize: (method_types: Array[MethodType], private_method: bool) -> void
                      | (private_method: bool) { () -> Array[MethodType]? } -> void

        def has_method_type?: () -> bool

        def to_s: () -> String

        def private_method?: () -> bool

        def public_method?: () -> bool

        def method_types: () -> Array[MethodType]

        def force: () -> void
      end

      class Methods
        def []=: (Symbol, Entry) -> Entry

        def []: (Symbol) -> Entry?

        def key?: (Symbol) -> bool

        def each: () { ([Symbol, Entry]) -> void } -> void
                | () -> Enumerator[[Symbol, Entry], void]

        def each_name: () { (Symbol) -> void } -> void
                     | () -> Enumerator[Symbol, void]

        include Enumerable[[Symbol, Entry]]

        attr_reader substs: Array[Substitution]

        attr_reader methods: Hash[Symbol, Entry]
        attr_reader resolved_methods: Hash[Symbol, Entry?]

        def initialize: (substs: Array[Substitution], methods: Hash[Symbol, Entry]) -> void

        @subst: Substitution?
        def subst: () -> Substitution

        def push_substitution: (Substitution) -> Methods

        def merge!: (Methods other) ?{ (Symbol name, Entry old_entry, Entry new_entry) -> Entry } -> void

        def public_methods: () -> Methods
      end

      attr_reader type: AST::Types::t

      attr_reader methods: Methods

      @private: bool

      def initialize: (type: AST::Types::t, private: bool, ?methods: Methods?) -> void

      def update: (?type: AST::Types::t, ?methods: Methods) -> self

      def private?: () -> bool

      def public?: () -> bool

      def subst: (Substitution, ?type: AST::Types::t?) -> Shape

      def public_shape: () -> Shape

      @public_shape: Shape?
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
steep-1.7.0.dev.3 sig/steep/interface/shape.rbs