summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/ast/component.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/ast/component.rb')
-rw-r--r--lib/puppet/parser/ast/component.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/puppet/parser/ast/component.rb b/lib/puppet/parser/ast/component.rb
index a3d1fb026..43ca85e4a 100644
--- a/lib/puppet/parser/ast/component.rb
+++ b/lib/puppet/parser/ast/component.rb
@@ -16,7 +16,7 @@ class Puppet::Parser::AST
@name = :definition
attr_accessor :classname, :arguments, :code, :scope, :keyword
- attr_accessor :exported, :namespace, :interp
+ attr_accessor :exported, :namespace, :interp, :virtual
# These are retrieved when looking up the superclass
attr_accessor :name
@@ -35,10 +35,15 @@ class Puppet::Parser::AST
name = args[:name] || title
exported = hash[:exported]
+ virtual = hash[:virtual]
pscope = origscope
scope = subscope(pscope, title)
+ if virtual or origscope.virtual?
+ scope.virtual = true
+ end
+
if exported or origscope.exported?
scope.exported = true
end