summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/parser/interpreter.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb
index fe8e17084..4480a123a 100644
--- a/lib/puppet/parser/interpreter.rb
+++ b/lib/puppet/parser/interpreter.rb
@@ -505,7 +505,11 @@ class Puppet::Parser::Interpreter
else
# Define it anew.
ns, name = namesplit(fqname)
- args = {:type => name, :namespace => ns, :fqname => fqname, :interp => self}
+
+ # Note we're doing something somewhat weird here -- we're setting
+ # the class's namespace to its fully qualified name. This means
+ # anything inside that class starts looking in that namespace first.
+ args = {:type => name, :namespace => fqname, :fqname => fqname, :interp => self}
args[:code] = code if code
args[:parentclass] = parent if parent
@classtable[fqname] = @parser.ast AST::HostClass, args