summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-10-08 14:46:18 -0500
committerJesse Luehrs <doy@tozt.net>2012-10-08 14:46:18 -0500
commit27d3275ba73eedd3ebc831d7faa3ae15eb1080bf (patch)
treee58260f1b2428e0a5c0f7427f208ecc56011b7e1
parent703ac3ef783a86eac77af2c402c6600c33e6a71c (diff)
downloadtext-handlebars-27d3275ba73eedd3ebc831d7faa3ae15eb1080bf.tar.gz
text-handlebars-27d3275ba73eedd3ebc831d7faa3ae15eb1080bf.zip
simplify
-rw-r--r--lib/Text/Handlebars/Compiler.pm11
-rw-r--r--lib/Text/Xslate/Syntax/Handlebars.pm20
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,
+ ),
+ )
);
}