Sha256: d82a605ecfc77e623018d30582c8e4a1a03b2fec63c8e4d6acf9d315591f8654

Contents?: true

Size: 1.79 KB

Versions: 4

Compression:

Stored size: 1.79 KB

Contents

module Yoda
  module Model
    module FunctionSignatures
      # @abstract
      class Base
        # @abstract
        # @return [TypeExpressions::FunctionType]
        def type
          fail NotImplementedError
        end

        # @abstract
        # @param env [Environment]
        # @return [RBS::MethodType]
        def rbs_type(env)
          fail NotImplementedError
        end

        # @abstract
        # @return [Symbol]
        def visibility
          fail NotImplementedError
        end

        # @abstract
        # @return [String]
        def name
          fail NotImplementedError
        end

        # @abstract
        # @return [String]
        def namespace_path
          fail NotImplementedError
        end

        # @abstract
        # @return [String]
        def document
          fail NotImplementedError
        end

        # @abstract
        # @return [Array<Store::Objects::Tag>]
        def tags
          fail NotImplementedError
        end

        # @abstract
        # @return [ParameterList]
        def parameters
          fail NotImplementedError
        end

        # @abstract
        # @return [Array<(String, Integer, Integer)>]
        def sources
          fail NotImplementedError
        end

        # @return [String]
        def to_s
          formatter.to_s
        end

        # @abstract
        # @param param [String]
        # @return [TypeExpressions::Base, nil]
        def parameter_type_of(param)
          fail NotImplementedError
        end

        # @param env [Environment]
        # @return [Wrapper]
        def wrap(env)
          Wrapper.new(environment: env, signature: self)
        end

        private

        # @return [Formatter]
        def formatter
          @formatter ||= Formatter.new(self)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/model/function_signatures/base.rb
yoda-language-server-0.10.0 lib/yoda/model/function_signatures/base.rb
yoda-language-server-0.9.0 lib/yoda/model/function_signatures/base.rb
yoda-language-server-0.8.0 lib/yoda/model/function_signatures/base.rb