summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/ast/leaf.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@puppetlabs.com>2011-07-15 11:54:33 -0700
committerLuke Kanies <luke@puppetlabs.com>2011-07-15 11:54:33 -0700
commitd69bf48ecae71ff01679bb38cdeebc8f4a8b8b15 (patch)
tree6f6b25251f0a581c878b833a90e5b3bab0ac5d11 /lib/puppet/parser/ast/leaf.rb
parent4ad404ee7e7244d94ff4d87effc1a041d65b3f73 (diff)
parentbdc0f8716ae8ccb2b2657dfab591afe9589d8902 (diff)
downloadpuppet-d69bf48ecae71ff01679bb38cdeebc8f4a8b8b15.tar.gz
puppet-d69bf48ecae71ff01679bb38cdeebc8f4a8b8b15.tar.xz
puppet-d69bf48ecae71ff01679bb38cdeebc8f4a8b8b15.zip
Merge branch 'refactor/master/8232-array_indexers_on_scope'
Diffstat (limited to 'lib/puppet/parser/ast/leaf.rb')
-rw-r--r--lib/puppet/parser/ast/leaf.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb
index c8ebc9483..3efb52f63 100644
--- a/lib/puppet/parser/ast/leaf.rb
+++ b/lib/puppet/parser/ast/leaf.rb
@@ -124,10 +124,11 @@ class Puppet::Parser::AST
# not include syntactical constructs, like '$' and '{}').
def evaluate(scope)
parsewrap do
- if (var = scope.lookupvar(@value, :file => file, :line => line)) == :undefined
- var = :undef
+ if ! scope.include?(@value)
+ :undef
+ else
+ scope[@value, {:file => file, :line => line}]
end
- var
end
end
@@ -141,7 +142,7 @@ class Puppet::Parser::AST
def evaluate_container(scope)
container = variable.respond_to?(:evaluate) ? variable.safeevaluate(scope) : variable
- (container.is_a?(Hash) or container.is_a?(Array)) ? container : scope.lookupvar(container, :file => file, :line => line)
+ (container.is_a?(Hash) or container.is_a?(Array)) ? container : scope[container, {:file => file, :line => line}]
end
def evaluate_key(scope)