# File lib/puppet/parser/ast/ifstatement.rb, line 18
18:         def evaluate(scope)
19:             value = @test.safeevaluate(scope)
20: 
21:             # let's emulate a new scope for each branches
22:             begin
23:                 if Puppet::Parser::Scope.true?(value)
24:                     return @statements.safeevaluate(scope)
25:                 else
26:                     if defined? @else
27:                         return @else.safeevaluate(scope)
28:                     else
29:                         return nil
30:                     end
31:                 end
32:             ensure
33:                 scope.unset_ephemeral_var
34:             end
35:         end