summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/compile.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/compile.rb')
-rw-r--r--lib/puppet/parser/compile.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/puppet/parser/compile.rb b/lib/puppet/parser/compile.rb
index 710f90273..7159947bf 100644
--- a/lib/puppet/parser/compile.rb
+++ b/lib/puppet/parser/compile.rb
@@ -70,7 +70,7 @@ class Puppet::Parser::Compile
evaluate_ast_node()
- evaluate_classes()
+ evaluate_node_classes()
evaluate_generators()
@@ -109,10 +109,16 @@ class Puppet::Parser::Compile
@environment
end
- # Evaluate each class in turn. If there are any classes we can't find,
- # just tag the configuration and move on.
- def evaluate_classes(classes = nil)
- classes ||= node.classes
+ # Evaluate all of the classes specified by the node.
+ def evaluate_node_classes
+ evaluate_classes(@node.classes, @parser.findclass("", ""))
+ end
+
+ # Evaluate each specified class in turn. If there are any classes we can't
+ # find, just tag the configuration and move on. This method really just
+ # creates resource objects that point back to the classes, and then the
+ # resources are themselves evaluated later in the process.
+ def evaluate_classes(classes, source)
found = []
classes.each do |name|
if klass = @parser.findclass("", name)