class Haml::Compiler
def compile_silent_script
def compile_silent_script return if @options.suppress_eval push_silent(@node.value[:text]) keyword = @node.value[:keyword] if block_given? yield push_silent("end", :can_suppress) unless @node.value[:dont_push_end] elsif keyword == "end" if @node.parent.children.last.equal?(@node) # Since this "end" is ending the block, # we don't need to generate an additional one @node.parent.value[:dont_push_end] = true end # Don't restore dont_* for end because it isn't a conditional branch. end end