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
21 def initialize
22   @@literal_visitor ||= Visitor.new(self, "literal", 0, 0)
23 end

Public Instance Methods

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