Exception: Ryac::Pipeline::RenameCollisionError

Inherits:
InternalError show all
Defined in:
lib/ryac/pipeline/errors.rb,
sig/ryac/pipeline/errors.rbs

Overview

Raised when two different names in one scope were assigned the same short name. The output may still parse — def c(a) = c(a) || d(a) is valid Ruby — so this cannot be left to a syntax check.

Instance Method Summary collapse

Constructor Details

#initialize(scope, collisions) ⇒ RenameCollisionError

Returns a new instance of RenameCollisionError.

Parameters:

  • scope (String)
  • collisions (Array[[String, Array[Symbol]]])


86
87
88
89
90
91
# File 'lib/ryac/pipeline/errors.rb', line 86

def initialize(scope, collisions)
  detail = collisions.map { |short, originals|
    "#{originals.join(', ')} -> #{short}"
  }.join("; ")
  super("rename collision in #{scope}: #{detail}")
end