Exception: RBS::NoMixinFoundError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/rbs/errors.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type_name:, member:) ⇒ NoMixinFoundError

Returns a new instance of NoMixinFoundError.



152
153
154
155
156
157
# File 'lib/rbs/errors.rb', line 152

def initialize(type_name:, member:)
  @type_name = type_name
  @member = member

  super "#{Location.to_string location}: Could not find mixin: #{type_name}"
end

Instance Attribute Details

#memberObject (readonly)

Returns the value of attribute member.



150
151
152
# File 'lib/rbs/errors.rb', line 150

def member
  @member
end

#type_nameObject (readonly)

Returns the value of attribute type_name.



149
150
151
# File 'lib/rbs/errors.rb', line 149

def type_name
  @type_name
end

Class Method Details

.check!(type_name, env:, member:) ⇒ Object



163
164
165
166
167
168
169
170
171
172
173
174
# File 'lib/rbs/errors.rb', line 163

def self.check!(type_name, env:, member:)
  dic = case
        when type_name.class?
          env.class_decls
        when type_name.interface?
          env.interface_decls
        else
          raise
        end

  dic.key?(type_name) or raise new(type_name: type_name, member: member)
end

Instance Method Details

#locationObject



159
160
161
# File 'lib/rbs/errors.rb', line 159

def location
  member.location
end