From 27d3275ba73eedd3ebc831d7faa3ae15eb1080bf Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 8 Oct 2012 14:46:18 -0500 Subject: simplify --- lib/Text/Handlebars/Compiler.pm | 11 +++++++++++ lib/Text/Xslate/Syntax/Handlebars.pm | 20 ++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/lib/Text/Handlebars/Compiler.pm b/lib/Text/Handlebars/Compiler.pm index 5ffe882..48aa6cc 100644 --- a/lib/Text/Handlebars/Compiler.pm +++ b/lib/Text/Handlebars/Compiler.pm @@ -147,6 +147,17 @@ sub _generate_partial { ); } +sub _generate_for { + my $self = shift; + my ($node) = @_; + + my @opcodes = $self->SUPER::_generate_for(@_); + return ( + @opcodes, + $self->opcode('nil'), + ); +} + __PACKAGE__->meta->make_immutable; no Any::Moose; diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm index dc4713b..d90f7c2 100644 --- a/lib/Text/Xslate/Syntax/Handlebars.pm +++ b/lib/Text/Xslate/Syntax/Handlebars.pm @@ -455,9 +455,9 @@ sub std_block { ]; my $var = $name->clone(arity => 'variable'); - return $self->make_ternary( - $self->call('(is_code)', $var->clone), - $self->print_raw( + return $self->print_raw( + $self->make_ternary( + $self->call('(is_code)', $var->clone), $self->call( '(run_code)', $var->clone, @@ -466,13 +466,13 @@ sub std_block { $block{if}{close_tag}->clone, $block{if}{raw_text}->clone, ), - ), - $self->symbol('(for)')->clone( - arity => 'for', - first => $iterations, - second => [$loop_var], - third => $body_block, - ), + $self->symbol('(for)')->clone( + arity => 'for', + first => $iterations, + second => [$loop_var], + third => $body_block, + ), + ) ); } -- cgit v1.2.3