Sha256: 537dabf8af87a7df3bd5b99355d3d4047048b4dc3abf66f492c8083fde291706

Contents?: true

Size: 1.84 KB

Versions: 1

Compression:

Stored size: 1.84 KB

Contents

module Steep
  module AST
    module Types
      # Types with names
      #
      module Name
        class Base
          attr_reader location: untyped

          attr_reader name: RBS::TypeName

          def initialize: (name: RBS::TypeName, ?location: untyped?) -> void

          include Helper::NoFreeVariables

          def subst: (Steep::Interface::Substitution s) -> self

          def level: () -> Array[Integer]

          def map_type: () { (t) -> t } -> self
        end

        class Applying < Base
          attr_reader args: Array[t]

          def initialize: (name: RBS::TypeName, args: Array[t], ?location: untyped?) -> void

          def ==: (untyped other) -> bool

          alias eql? ==

          @hash: Integer
          def hash: () -> Integer

          def to_s: () -> ::String

          def with_location: (untyped new_location) -> self

          def subst: (Steep::Interface::Substitution s) -> self

          @fvs: Set[variable]
          def free_variables: () -> Set[variable]

          def each_child: () { (t) -> void } -> void
                        | () -> Enumerator[t, void]

          include Helper::ChildrenLevel

          def level: () -> Array[Integer]

          def map_type: () { (t) -> t } -> self
        end

        # Singleton of a class/module
        class Singleton < Base
          def ==: (untyped other) -> bool

          alias eql? ==

          def hash: () -> Integer

          def to_s: () -> ::String

          def with_location: (untyped new_location) -> Singleton

          include Helper::NoChild
        end

        # An instance of a class/module
        class Instance < Applying
          def to_module: () -> Singleton
        end

        # An interface type
        class Interface < Applying
        end

        # Type alias
        class Alias < Applying
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
steep-1.7.0.dev.3 sig/steep/ast/types/name.rbs