From 6e70884f8039d9091b1aeaf7a3599f00b34c1172 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 3 Oct 2012 12:44:36 -0500 Subject: more cleanups --- lib/Text/Xslate/Syntax/Handlebars.pm | 48 +++++++++++++++++------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm index 688b90b..6f48f1b 100644 --- a/lib/Text/Xslate/Syntax/Handlebars.pm +++ b/lib/Text/Xslate/Syntax/Handlebars.pm @@ -145,12 +145,6 @@ sub preprocess { sub init_symbols { my $self = shift; - my $for = $self->symbol('(for)'); - $for->arity('for'); - - my $iterator = $self->symbol('(iterator)'); - $iterator->arity('iterator'); - $self->infix('.', 256, $self->can('led_dot')); $self->infix('/', 256, $self->can('led_dot')); @@ -164,18 +158,6 @@ sub init_symbols { $self->prefix('..', 0)->set_nud($self->can('nud_uplevel')); } -sub define_function { - my $self = shift; - my (@names) = @_; - - $self->SUPER::define_function(@_); - for my $name (@names) { - $self->symbol($name)->set_nud($self->can('nud_name')); - } - - return; -} - sub nud_name { my $self = shift; my ($symbol) = @_; @@ -290,6 +272,7 @@ sub std_block { $self->symbol('(vars)')->clone(arity => 'vars'), $name->clone, $self->symbol('(iterator)')->clone( + arity => 'iterator', id => '$~(block)', first => $loop_var, ), @@ -301,6 +284,7 @@ sub std_block { ]; return $self->symbol('(for)')->clone( + arity => 'for', first => $iterations, second => [$loop_var], third => $body_block, @@ -321,6 +305,26 @@ sub nud_uplevel { return $symbol->clone(arity => 'variable'); } +sub define_function { + my $self = shift; + my (@names) = @_; + + $self->SUPER::define_function(@_); + for my $name (@names) { + $self->symbol($name)->set_nud($self->can('nud_name')); + } + + return; +} + +sub is_valid_field { + my $self = shift; + my ($field) = @_; + + return 1 if $field->id eq '..'; + return $self->SUPER::is_valid_field(@_); +} + sub make_field_lookup { my $self = shift; my ($var, $field, $dot) = @_; @@ -338,14 +342,6 @@ sub make_field_lookup { ); } -sub is_valid_field { - my $self = shift; - my ($field) = @_; - - return 1 if $field->id eq '..'; - return $self->SUPER::is_valid_field(@_); -} - sub make_ternary { my $self = shift; my ($if, $then, $else) = @_; -- cgit v1.2.3-54-g00ecf