# File lib/puppet/parser/ast/vardef.rb, line 15
15:     def evaluate(scope)
16:       value = @value.safeevaluate(scope)
17:       if name.is_a?(HashOrArrayAccess)
18:         name.assign(scope, value)
19:       else
20:         name = @name.safeevaluate(scope)
21: 
22:         parsewrap do
23:           scope.setvar(name,value, :file => @file, :line => @line, :append => @append)
24:         end
25:       end
26:     end