Sha256: 2d649df882d328f186ebe6dfaf022417e463f2772f4e43d5af1474748b5b0597

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

module Steep
  type node = untyped

  module TypeInference
    class SendArgs
      class PositionalArgs
      end

      class KeywordArgs
        type value = ArgTypePairs | UnexpectedKeyword | MissingKeyword

        class ArgTypePairs
        end

        class UnexpectedKeyword
        end

        class MissingKeyword
        end

        def consume: () -> [value, self]?

        def consume_keys: (Array[Symbol], node: node) -> [AST::Types::t | UnexpectedKeyword, self]
      end


      type error = Diagnostics::Ruby::IncompatibleArguments
                 | Diagnostics::Ruby::UnexpectedBlockGiven
                 | Diagnostics::Ruby::RequiredBlockMissing

      type arg = PositionalArgs::NodeParamPair
               | PositionalArgs::NodeTypePair
               | PositionalArgs::SplatArg
               | PositionalArgs::UnexpectedArg
               | KeywordArgs::ArgTypePairs
               | KeywordArgs::SplatArg
               | KeywordArgs::UnexpectedKeyword

      def each_arg: (TypeConstruction) { (arg, TypeConstruction) -> TypeConstruction } -> Array[error]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
steep-0.46.0 sig/steep/type_inference/send_args.rbs
steep-0.45.0 sig/steep/type_inference/send_args.rbs