diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-01-13 23:16:26 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-01-13 23:16:26 +0000 |
commit | 87b3bb111f2ea68cbeb875f07e826e4f75ea9eea (patch) | |
tree | c03530a415b2f90be6b4c6d5b594f0b8c78a3c0b /lib/puppet/parser/ast/objectparam.rb | |
parent | 1d4638a03df6821c16c00db3084f89889f19ac33 (diff) | |
download | puppet-87b3bb111f2ea68cbeb875f07e826e4f75ea9eea.tar.gz puppet-87b3bb111f2ea68cbeb875f07e826e4f75ea9eea.tar.xz puppet-87b3bb111f2ea68cbeb875f07e826e4f75ea9eea.zip |
Moving ast classes into separate files
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@825 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/parser/ast/objectparam.rb')
-rw-r--r-- | lib/puppet/parser/ast/objectparam.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/puppet/parser/ast/objectparam.rb b/lib/puppet/parser/ast/objectparam.rb new file mode 100644 index 000000000..41cd050ef --- /dev/null +++ b/lib/puppet/parser/ast/objectparam.rb @@ -0,0 +1,30 @@ +class Puppet::Parser::AST + # The AST object for the parameters inside ObjectDefs and Selectors. + class ObjectParam < AST::Branch + attr_accessor :value, :param + + def each + [@param,@value].each { |child| yield child } + end + + # Return the parameter and the value. + def evaluate(scope) + param = @param.safeevaluate(scope) + value = @value.safeevaluate(scope) + return [param, value] + end + + def tree(indent = 0) + return [ + @param.tree(indent + 1), + ((@@indline * indent) + self.typewrap(self.pin)), + @value.tree(indent + 1) + ].join("\n") + end + + def to_s + return "%s => %s" % [@param,@value] + end + end + +end |