From 89749c72af405d0ec10c6003d2c86872042c1f77 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 15 Oct 2012 00:42:07 -0500 Subject: turned render_string into an opcode --- lib/Text/Handlebars.pm | 4 ---- lib/Text/Handlebars/Compiler.pm | 12 +++++------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/lib/Text/Handlebars.pm b/lib/Text/Handlebars.pm index 68c8d1f..154a78b 100644 --- a/lib/Text/Handlebars.pm +++ b/lib/Text/Handlebars.pm @@ -164,10 +164,6 @@ sub _register_builtin_methods { my ($funcs) = @_; weaken(my $weakself = $self); - $funcs->{'(render_string)'} = sub { - my ($to_render, $vars) = @_; - return $weakself->render_string($to_render, $vars); - }; $funcs->{'(find_file)'} = sub { my ($filename) = @_; return $filename if try { $weakself->find_file($filename); 1 }; diff --git a/lib/Text/Handlebars/Compiler.pm b/lib/Text/Handlebars/Compiler.pm index cf4ad39..251050b 100644 --- a/lib/Text/Handlebars/Compiler.pm +++ b/lib/Text/Handlebars/Compiler.pm @@ -207,7 +207,7 @@ sub is_unary { my ($id) = @_; my %unary = ( - map { $_ => 1 } qw(builtin_is_array_ref is_code_ref) + map { $_ => 1 } qw(builtin_is_array_ref is_code_ref render_string) ); return $unary{$id}; @@ -250,12 +250,10 @@ sub _generate_run_code { ); } - # XXX turn this into an opcode - my $render_string = $self->call( - $node, - '(render_string)', - $to_render, - $self->vars, + my $render_string = $self->parser->symbol('(render_string)')->clone( + id => 'render_string', + arity => 'unary', + first => $to_render, ); return $self->compile_ast($render_string); -- cgit v1.2.3