File Manager

Current Path : /usr/lib/ruby/gems/3.0.0/gems/rbs-1.0.4/sig/
Upload File :
Current File : //usr/lib/ruby/gems/3.0.0/gems/rbs-1.0.4/sig/members.rbs

module RBS
  module AST
    module Members
      type t = MethodDefinition
             | InstanceVariable | ClassInstanceVariable | ClassVariable
             | Include | Extend | Prepend
             | AttrReader | AttrWriter | AttrAccessor
             | Public | Private
             | Alias

      # Base class for members.
      class Base
      end

      class MethodDefinition < Base
        type kind = :instance | :singleton | :singleton_instance

        attr_reader name: Symbol
        attr_reader kind: kind
        attr_reader types: Array[MethodType]
        attr_reader annotations: Array[Annotation]
        attr_reader location: Location?
        attr_reader comment: Comment?
        attr_reader overload: bool

        def initialize: (name: Symbol, kind: kind, types: Array[MethodType], annotations: Array[Annotation], location: Location?, comment: Comment?, overload: boolish) -> void

        include _HashEqual
        include _ToJson

        def instance?: () -> bool

        def singleton?: () -> bool

        def overload?: () -> bool

        def update: (?name: Symbol, ?kind: kind, ?types: Array[MethodType], ?annotations: Array[Annotation], ?location: Location?, ?comment: Comment?, ?overload: boolish) -> MethodDefinition
      end

      module Var
        attr_reader name: Symbol
        attr_reader type: Types::t
        attr_reader location: Location?
        attr_reader comment: Comment?

        def initialize: (name: Symbol, type: Types::t, location: Location?, comment: Comment?) -> void

        include _HashEqual
      end

      class InstanceVariable < Base
        include Var
        include _ToJson
      end

      class ClassInstanceVariable < Base
        include Var
        include _ToJson
      end

      class ClassVariable < Base
        include Var
        include _ToJson
      end

      module Mixin
        attr_reader name: TypeName
        attr_reader args: Array[Types::t]
        attr_reader annotations: Array[Annotation]
        attr_reader location: Location?
        attr_reader comment: Comment?

        def initialize: (name: TypeName, args: Array[Types::t], annotations: Array[Annotation], location: Location?, comment: Comment?) -> void

        include _HashEqual
      end

      class Include < Base
        include Mixin
        include _ToJson
      end

      class Extend < Base
        include Mixin
        include _ToJson
      end

      class Prepend < Base
        include Mixin
        include _ToJson
      end

      module Attribute
        type kind = :instance | :singleton

        attr_reader name: Symbol
        attr_reader type: Types::t
        attr_reader kind: kind
        attr_reader ivar_name: Symbol | false | nil
        attr_reader annotations: Array[Annotation]
        attr_reader location: Location?
        attr_reader comment: Comment?

        def initialize: (name: Symbol, type: Types::t, ivar_name: Symbol | false | nil, kind: kind, annotations: Array[Annotation], location: Location?, comment: Comment?) -> void

        include _HashEqual
      end

      class AttrReader < Base
        include Attribute
        include _ToJson
      end

      class AttrAccessor < Base
        include Attribute
        include _ToJson
      end

      class AttrWriter < Base
        include Attribute
        include _ToJson
      end

      module LocationOnly
        attr_reader location: Location?

        def initialize: (location: Location?) -> void

        include _HashEqual
      end

      class Public < Base
        include LocationOnly
        include _ToJson
      end

      class Private < Base
        include LocationOnly
        include _ToJson
      end

      class Alias < Base
        type kind = :instance | :singleton

        attr_reader new_name: Symbol
        attr_reader old_name: Symbol
        attr_reader kind: kind
        attr_reader annotations: Array[Annotation]
        attr_reader location: Location?
        attr_reader comment: Comment?

        def initialize: (new_name: Symbol, old_name: Symbol, kind: kind, annotations: Array[Annotation], location: Location?, comment: Comment?) -> void

        include _HashEqual
        include _ToJson

        def instance?: () -> bool

        def singleton?: () -> bool
      end
    end
  end
end

File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com