15: def evaluate(scope)
16: if self.query
17: str, code = self.query.safeevaluate scope
18: else
19: str = code = nil
20: end
21:
22: newcoll = Puppet::Parser::Collector.new(scope, @type, str, code, self.form)
23:
24: scope.compiler.add_collection(newcoll)
25:
26:
27:
28: if @override
29: params = @override.collect do |param|
30: param.safeevaluate(scope)
31: end
32:
33: newcoll.add_override(
34: :params => params,
35: :file => @file,
36: :line => @line,
37: :source => scope.source,
38: :scope => scope
39: )
40: end
41:
42: newcoll
43: end