Method: Puppet::Pops::Types::PCallableType#normalize

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

#normalize(guard = nil) ⇒ Object



2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
# File 'lib/puppet/pops/types/types.rb', line 2312

def normalize(guard = nil)
  if self == DEFAULT
    DEFAULT
  else
    params_t = @param_types.nil? ? nil : @param_types.normalize(guard)
    block_t = @block_type.nil? ? nil : @block_type.normalize(guard)
    return_t = @return_type.nil? ? nil : @return_type.normalize(guard)
    @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