Method: Puppet::Pops::Model::PNTransformer#definition_to_pn

Defined in:
lib/puppet/pops/model/pn_transformer.rb

#definition_to_pn(e, type_name, parent = nil, return_type = nil) ⇒ Object



339
340
341
342
343
344
345
346
# File 'lib/puppet/pops/model/pn_transformer.rb', line 339

def definition_to_pn(e, type_name, parent = nil, return_type = nil)
  entries = [PN::Literal.new(e.name).with_name('name')]
  entries << PN::Literal.new(parent).with_name('parent') unless parent.nil?
  entries << parameters_entry(e.parameters) unless e.parameters.empty?
  entries << block_as_entry('body', e.body) unless e.body.nil?
  entries << transform(return_type).with_name('returns') unless return_type.nil?
  PN::Map.new(entries).as_call(type_name)
end