class Puppet::Pops::Evaluator::LiteralEvaluator

Literal values for String (not containing interpolation) Numbers Booleans Undef (produces nil) Array Hash QualifiedName Default (produced :default) Regular Expression (produces ruby regular expression)

Not considered literal QualifiedReference # i.e. File, FooBar

Constants

COMMA_SEPARATOR

Public Class Methods

new() click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
22 def initialize
23   @@literal_visitor ||= Visitor.new(self, "literal", 0, 0)
24 end

Public Instance Methods

literal(ast) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
26 def literal(ast)
27   @@literal_visitor.visit_this_0(self, ast)
28 end
literal_ConcatenatedString(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
70 def literal_ConcatenatedString(o)
71   # use double quoted string value if there is no interpolation
72   throw :not_literal unless o.segments.size == 1 && o.segments[0].is_a?(Model::LiteralString)
73   o.segments[0].value
74 end
literal_Factory(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
34 def literal_Factory(o)
35   literal(o.model)
36 end
literal_LiteralBoolean(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
54 def literal_LiteralBoolean(o)
55   o.value
56 end
literal_LiteralDefault(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
62 def literal_LiteralDefault(o)
63   :default
64 end
literal_LiteralHash(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
80 def literal_LiteralHash(o)
81   o.entries.reduce({}) do |result, entry|
82     result[literal(entry.key)] = literal(entry.value)
83     result
84   end
85 end
literal_LiteralList(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
76 def literal_LiteralList(o)
77   o.values.map {|v| literal(v) }
78 end
literal_LiteralNumber(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
50 def literal_LiteralNumber(o)
51   o.value
52 end
literal_LiteralRegularExpression(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
66 def literal_LiteralRegularExpression(o)
67   o.value
68 end
literal_LiteralString(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
42 def literal_LiteralString(o)
43   o.value
44 end
literal_LiteralUndef(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
58 def literal_LiteralUndef(o)
59   nil
60 end
literal_Object(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
30 def literal_Object(o)
31   throw :not_literal
32 end
literal_Program(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
38 def literal_Program(o)
39   literal(o.body)
40 end
literal_QualifiedName(o) click to toggle source
   # File lib/puppet/pops/evaluator/literal_evaluator.rb
46 def literal_QualifiedName(o)
47   o.value
48 end