# File lib/puppet/parser/ast/leaf.rb, line 168
168:     def assign(scope, value)
169:       object = evaluate_container(scope)
170:       accesskey = evaluate_key(scope)
171: 
172:       if object.is_a?(Hash) and object.include?(accesskey)
173:         raise Puppet::ParseError, "Assigning to the hash '#{variable}' with an existing key '#{accesskey}' is forbidden"
174:       end
175: 
176:       # assign to hash or array
177:       object[array_index_or_key(object, accesskey)] = value
178:     end