summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-10-03 12:44:36 -0500
committerJesse Luehrs <doy@tozt.net>2012-10-03 12:44:36 -0500
commit6e70884f8039d9091b1aeaf7a3599f00b34c1172 (patch)
tree7af0b6d61a50585b3de3289e70b11dd8f478b54d
parentb10e4577cb8aa7532a23c1afc936092c6f440f1d (diff)
downloadtext-handlebars-6e70884f8039d9091b1aeaf7a3599f00b34c1172.tar.gz
text-handlebars-6e70884f8039d9091b1aeaf7a3599f00b34c1172.zip
more cleanups
-rw-r--r--lib/Text/Xslate/Syntax/Handlebars.pm48
1 files 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) = @_;