class RBS::DuplicatedMethodDefinitionError - rbs: Ruby Standard Library Documentation

# class RBS::DuplicatedMethodDefinitionError

### Attributes

members[R]
method_name[R]
type[R]

### Public Class Methods

new(type:, method_name:, members:) click to toggle source
Calls superclass method

    # File rbs-3.8.0/lib/rbs/errors.rb, line 258
    def initialize(type:, method_name:, members:)
      @type = type
      @method_name = method_name
      @members = members

      message = +"#{Location.to_string location}: #{qualified_method_name} has duplicated definitions"
      if members.size > 1
        message << " in #{other_locations.map { |loc| Location.to_string loc }.join(', ')}"
      end
      super message
    end

### Public Instance Methods

location() click to toggle source

    # File rbs-3.8.0/lib/rbs/errors.rb, line 283
    def location
      members[0].location
    end

other_locations() click to toggle source

    # File rbs-3.8.0/lib/rbs/errors.rb, line 287
    def other_locations
      members.drop(1).map(&:location)
    end

qualified_method_name() click to toggle source

    # File rbs-3.8.0/lib/rbs/errors.rb, line 270
    def qualified_method_name
      case type
      when Types::ClassSingleton
        "#{type.name}.#{method_name}"
      else
        "#{type.name}##{method_name}"
      end
    end

type_name() click to toggle source

    # File rbs-3.8.0/lib/rbs/errors.rb, line 279
    def type_name
      type.name
    end