Module: T::Types::Simple::GenericPatch

Included in:
T::Types::Simple
Defined in:
lib/tapioca/sorbet_ext/generic_name_patch.rb

Instance Method Summary collapse

Instance Method Details

#nameObject

This method intercepts calls to the name method for simple types, so that it can ask the name to the type if the type is generic, since, by this point, we’ve created a clone of that type with the name method returning the appropriate name for that specific concrete type.



70
71
72
73
74
75
76
77
78
79
# File 'lib/tapioca/sorbet_ext/generic_name_patch.rb', line 70

def name
  if T::Generic === @raw_type
    # for types that are generic, use the name
    # returned by the "name" method of this instance
    @name ||= T.unsafe(@raw_type).name.freeze
  else
    # otherwise, fallback to the normal name lookup
    super
  end
end