HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/ruby/gems/3.0.0/gems/rbs-1.0.4/sig/variance_calculator.rbs
module RBS
  class VarianceCalculator
    type variance = :unused | :covariant | :contravariant | :invariant

    class Result
      attr_reader result: Hash[Symbol, variance]

      def initialize: (variables: Array[Symbol]) -> void

      def covariant: (Symbol) -> void

      def contravariant: (Symbol) -> void

      def invariant: (Symbol) -> void

      def each: () { ([Symbol, variance]) -> void } -> void

      def include?: (Symbol) -> bool

      def compatible?: (Symbol, with_annotation: variance) -> bool
    end

    attr_reader builder: DefinitionBuilder

    def initialize: (builder: DefinitionBuilder) -> void

    def env: () -> Environment

    def in_method_type: (method_type: MethodType, variables: Array[Symbol]) -> Result

    def in_inherit: (name: TypeName, args: Array[Types::t], variables: Array[Symbol]) -> Result

    def type: (Types::t, result: Result, context: variance) -> void
  end
end