summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/interpreter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/interpreter.rb')
-rw-r--r--lib/puppet/parser/interpreter.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb
index 344863ec0..96555faa1 100644
--- a/lib/puppet/parser/interpreter.rb
+++ b/lib/puppet/parser/interpreter.rb
@@ -61,6 +61,9 @@ module Puppet
# We've already evaluated the AST, in this case
retval = @scope.evalnode(names, facts)
+ if classes = @scope.classlist
+ retval.classes = classes
+ end
return retval
else
# We've already evaluated the AST, in this case
@@ -68,7 +71,11 @@ module Puppet
@scope.interp = self
@scope.type = "puppet"
@scope.name = "top"
- return @scope.evaluate(@ast, facts, @classes)
+ retval = @scope.evaluate(@ast, facts, @classes)
+ if classes = @scope.classlist
+ retval.classes = classes + @classes
+ end
+ return retval
end
#@ast.evaluate(@scope)
rescue Puppet::DevError, Puppet::Error, Puppet::ParseError => except