Method: Puppet::Pops::Types::PCallableType#generalize

Defined in:
lib/puppet/pops/types/types.rb

#generalizeObject



2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
# File 'lib/puppet/pops/types/types.rb', line 2301

def generalize
  if self == DEFAULT
    DEFAULT
  else
    params_t = @param_types.nil? ? nil : @param_types.generalize
    block_t = @block_type.nil? ? nil : @block_type.generalize
    return_t = @return_type.nil? ? nil : @return_type.generalize
    @param_types.equal?(params_t) && @block_type.equal?(block_t) && @return_type.equal?(return_t) ? self : PCallableType.new(params_t, block_t, return_t)
  end
end